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.

RabbitMQ Work Mode

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.

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 + "'");
    }
}