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.
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.
- Conceitos Básicos do RabbitMQ
- Modo de Trabalho do RabbitMQ
- Início Rápido do RabbitMQ para Java (Obrigatório, pois as seções subsequentes não repetirão o código, mas apenas exibirão o código chave)
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 + "'");
}
}