El modo de trabajo de Java RabbitMQ es configurar múltiples consumidores para consumir mensajes de una sola cola, lo que puede mejorar la velocidad de procesamiento concurrente de los mensajes. La arquitectura se muestra en el siguiente diagrama.

RabbitMQ Modo de trabajo

Nota: Independientemente del modo de trabajo que se utilice en RabbitMQ, cada cola admite múltiples consumidores. Para la misma cola, un mensaje solo será procesado por uno de los consumidores.

1. Tutorial Preliminar

Por favor, lee las siguientes secciones primero para comprender el conocimiento relacionado.

2. Configurar Múltiples Consumidores

Mediante el uso de la anotación RabbitListener y la configuración del parámetro de concurrencia, puedes iniciar 10 consumidores para procesar mensajes de forma concurrente con el siguiente código.

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
// Declara el listener de mensajes y especifica la cola a la que escuchar a través del parámetro queues
// Parámetro clave: concurrency representa el número de consumidores que deben iniciarse para el listener actual, y su tipo es una cadena
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// Usa RabbitHandler para marcar el manejador de mensajes, que se utiliza para ejecutar la lógica de procesamiento de mensajes
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("Consumidor - Recibido mensaje '" + msg + "'");
    }
}