Chế độ làm việc của Java RabbitMQ là cấu hình nhiều người tiêu dùng để tiêu thụ các tin nhắn từ một hàng đợi duy nhất, điều này có thể cải thiện tốc độ xử lý song song của các tin nhắn. Kiến trúc được minh họa trong biểu đồ sau.
Lưu ý: Bất kể mode làm việc nào được sử dụng trong RabbitMQ, mỗi hàng đợi đều hỗ trợ nhiều người tiêu dùng. Đối với cùng một hàng đợi, một tin nhắn chỉ sẽ được xử lý bởi một trong những người tiêu dùng.
1. Hướng dẫn sơ bộ
Vui lòng đọc các phần dưới đây trước để hiểu kiến thức liên quan.
- Các Khái Niệm Cơ Bản về RabbitMQ
- Chế Độ Làm Việc của RabbitMQ
- Hướng Dẫn Nhanh RabbitMQ cho Java (Bắt buộc, vì các phần tiếp theo sẽ không lặp lại mã code mà chỉ hiển thị mã code trọng điểm)
2. Cấu Hình Nhiều Người Tiêu Dùng
Bằng cách sử dụng chú thích RabbitListener và cấu hình tham số concurrency, bạn có thể bắt đầu 10 người tiêu dùng để xử lý song song các tin nhắn với mã code sau.
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
// Khai báo người nghe tin nhắn và chỉ định hàng đợi để lắng nghe thông qua tham số queues
// Tham số quan trọng: concurrency biểu thị số lượng người tiêu dùng cần được bắt đầu cho người nghe hiện tại, và kiểu dữ liệu của nó là chuỗi
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
// Sử dụng RabbitHandler để đánh dấu bộ xử lý tin nhắn, được sử dụng để thực thi logic xử lý tin nhắn
@RabbitHandler
public void receive(String msg) {
System.out.println("Người tiêu dùng - Nhận tin nhắn '" + msg + "'");
}
}