O modo de trabalho do Java RabbitMQ é configurar vários consumidores para consumir mensagens de uma única fila, o que pode melhorar a velocidade de processamento concorrente de mensagens. A arquitetura é mostrada no diagrama a seguir.

Modo de trabalho do RabbitMQ

Nota: Independentemente do modo de trabalho usado no RabbitMQ, cada fila suporta vários consumidores. Para a mesma fila, uma mensagem será processada apenas por um dos consumidores.

1. Tutorial Preliminar

Por favor, leia as seguintes seções primeiro para entender o conhecimento relacionado.

2. Configurando Múltiplos Consumidores

Ao usar a anotação RabbitListener e configurar o parâmetro de concorrência, você pode iniciar 10 consumidores para processar mensagens em paralelo com o seguinte código.

pacote com.tizi365.rabbitmq.listener;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
// Declare o ouvinte de mensagens e especifique a fila a ser ouvida através do parâmetro de filas
// Parâmetro chave: concorrência representa o número de consumidores que precisam ser iniciados para o ouvinte atual, e seu tipo é uma string
@RabbitListener(fils = "hello", concorrência = "10")
public class HelloListener {
	// Use RabbitHandler para marcar o manipulador de mensagens, que é usado para executar a lógica de processamento de mensagens
    @RabbitHandler
    public void receber(String msg) {
        System.out.println("Consumidor - Recebeu a mensagem '" + msg + "'");
    }
}