Der Arbeitsmodus von Java RabbitMQ besteht darin, mehrere Verbraucher zu konfigurieren, um Nachrichten von einer einzigen Warteschlange zu verarbeiten, was die gleichzeitige Verarbeitungsgeschwindigkeit von Nachrichten verbessern kann. Die Architektur ist in der folgenden Abbildung dargestellt.

RabbitMQ Arbeitsmodus

Hinweis: Unabhängig von dem verwendeten Arbeitsmodus in RabbitMQ unterstützt jede Warteschlange mehrere Verbraucher. Für dieselbe Warteschlange wird eine Nachricht nur von einem der Verbraucher verarbeitet.

1. Vorläufiges Tutorial

Bitte lesen Sie zuerst die folgenden Abschnitte, um das verwandte Wissen zu verstehen.

2. Konfiguration mehrerer Verbraucher

Durch Verwendung der RabbitListener-Annotation und Konfiguration des concurrency-Parameters können Sie mit dem folgenden Code 10 Verbraucher starten, um Nachrichten auf einmal zu verarbeiten.

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
// Deklarieren Sie den Nachrichtenempfänger und geben Sie die Warteschlange durch den queues-Parameter an, auf die gehört werden soll
// Schlüsselparameter: concurrency repräsentiert die Anzahl der zu startenden Verbraucher für den aktuellen Empfänger, und sein Typ ist ein String
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
	// Verwenden Sie RabbitHandler, um den Nachrichtenverarbeiter zu kennzeichnen, der zur Ausführung der Nachrichtenverarbeitungslogik verwendet wird
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("Verbraucher - Nachricht erhalten: '" + msg + "'");
    }
}