حالت کار RabbitMQ (Java) برای پیکربندی چندین مصرفکننده برای مصرف پیامها از یک صف تکیهگاه استفاده میکند، که میتواند سرعت پردازش مصرفکنندههای موازی پیامها را افزایش دهد. ساختار به شکل دیاگرام زیر است.
توجه: بدون توجه به اینکه در RabbitMQ از کدام حالت کار استفاده میشود، هر صف از چندین مصرفکننده پشتیبانی میکند. برای همان صف، یک پیام فقط توسط یکی از مصرفکنندگان پردازش میشود.
1. آموزش اولیه
لطفاً ابتدا بخشهای زیر را بخوانید تا دانش مرتبط را درک کنید.
- مفاهیم پایه RabbitMQ
- حالت کار RabbitMQ
- شروع سریع RabbitMQ برای Java (اجباری، زیرا بخشهای بعدی کد را تکرار نمیکند و فقط کدهای کلیدی را نشان میدهد)
2. پیکربندی چندین مصرفکننده
با استفاده از یادداشت RabbitListener و پیکربندی پارامتر همروندی، میتوانید ۱۰ مصرفکننده را برای همزمان پردازش پیامها با استفاده از کد زیر راهاندازی کنید.
package com.tizi365.rabbitmq.listener;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
// پیامگیر را اعلام کنید و از طریق پارامترهای صفها صف را مشخص کنید
// پارامتر کلیدی: همروندی نمایانگر تعداد مصرفکنندگانی است که برای گوش دادن به گوشش در حال حاضر نیاز است، و نوع آن رشته است
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
// از RabbitHandler برای نشان دادن کننده پیام استفاده کنید که برای اجرای منطق پردازش پیام استفاده میشود
@RabbitHandler
public void receive(String msg) {
System.out.println("مصرفکننده - پیام '" + msg + "' دریافت شد");
}
}