البرمجة

RabbitMQ للرسائل والـ Queues

12 ديسمبر 202511 دقائق قراءة
RabbitMQ للرسائل والـ Queues

تعلم RabbitMQ للتواصل بين الخدمات والمعالجة غير المتزامنة.

ما هو RabbitMQ؟

RabbitMQ message broker لإرسال الرسائل بين التطبيقات. يفصل المُرسل عن المستقبل ويضمن وصول الرسائل.

المفاهيم

Producer  - يرسل الرسائل
Queue     - يخزن الرسائل
Consumer  - يستقبل ويعالج
Exchange  - يوجه الرسائل للـ queues

الإرسال

const amqp = require('amqplib');

async function send(message) {
  const connection = await amqp.connect('amqp://localhost');
  const channel = await connection.createChannel();
  
  await channel.assertQueue('tasks');
  channel.sendToQueue('tasks', Buffer.from(JSON.stringify(message)));
  
  await channel.close();
  await connection.close();
}

الاستقبال

async function consume() {
  const connection = await amqp.connect('amqp://localhost');
  const channel = await connection.createChannel();
  
  await channel.assertQueue('tasks');
  
  channel.consume('tasks', (msg) => {
    const task = JSON.parse(msg.content.toString());
    processTask(task);
    channel.ack(msg);  // تأكيد المعالجة
  });
}

حالات الاستخدام

- إرسال الإيميلات
- معالجة الصور
- التواصل بين Microservices
- توزيع المهام على Workers

الخلاصة

RabbitMQ ممتاز للعمليات الطويلة والتواصل بين الخدمات. يزيد الموثوقية والتوسع.

الوسوم

#RabbitMQ#Messaging#Queue#Backend#Microservices

مقالات ذات صلة