Рабочий режим Java RabbitMQ предполагает настройку нескольких потребителей для потребления сообщений из одной очереди, что позволяет увеличить параллельную скорость обработки сообщений. Архитектура показана на следующей диаграмме.

RabbitMQ Рабочий Режим

Примечание: Независимо от того, какой рабочий режим используется в RabbitMQ, каждая очередь поддерживает несколько потребителей. Для одной и той же очереди сообщение будет обработано только одним из потребителей.

1. Предварительное обучение

Пожалуйста, сначала ознакомьтесь со следующими разделами, чтобы понять соответствующие знания.

2. Настройка нескольких потребителей

Используя аннотацию RabbitListener и настраивая параметр concurrency, вы можете запустить 10 потребителей для параллельной обработки сообщений с помощью следующего кода.

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
// Объявите слушателя сообщений и укажите очередь для прослушивания через параметр queues
// Ключевой параметр: concurrency представляет количество потребителей, которые необходимо запустить для текущего слушателя, и его тип - строка
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// Используйте RabbitHandler для обозначения обработчика сообщений, который используется для выполнения логики обработки сообщений
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("Потребитель - Получено сообщение '" + msg + "'");
    }
}