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.
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.
- Grundlegende Konzepte von RabbitMQ
- Arbeitswarteschlange von RabbitMQ
- RabbitMQ Schnellstart für Java (Obligatorisch, da die nachfolgenden Abschnitte den Code nicht wiederholen, sondern nur den Schlüsselcode anzeigen)
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 + "'");
}
}