


Wie man mit Java eine verteilte Messaging-Middleware-Anwendung basierend auf RocketMQ entwickelt
So verwenden Sie Java, um eine verteilte Messaging-Middleware-Anwendung basierend auf RocketMQ zu entwickeln
Einführung:
Mit der rasanten Entwicklung der Internetbranche werden verteilte Systeme immer häufiger. Als eine der am häufigsten verwendeten Komponenten in verteilten Systemen spielt die Nachrichten-Middleware eine wichtige Rolle bei der Verbindung verschiedener verteilter Komponenten, der Entkopplung und der Gewährleistung der Datenkonsistenz. In diesem Artikel wird erläutert, wie Sie mithilfe von Java eine auf RocketMQ basierende Middleware-Anwendung für verteiltes Messaging entwickeln. Ziel ist es, den Lesern zu helfen, die Verwendung von RocketMQ für verteiltes Messaging zu verstehen und zu beherrschen.
1. Vorbereitung
- RocketMQ installieren und NameServer und Broker starten
Download-Adresse: http://rocketmq.apache.org/ - Ein Maven-Projekt erstellen
Erstellen Sie ein neues Maven-Projekt in der IDE und fügen Sie Abhängigkeiten wie folgt hinzu:
<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.8.0</version> </dependency>
2. Senden Sie eine Nachricht
Erstellen Sie einen Produzenten
import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.common.RemotingHelper; public class Producer { public static void main(String[] args) throws Exception { DefaultMQProducer producer = new DefaultMQProducer("producerGroup"); producer.setNamesrvAddr("localhost:9876"); producer.start(); Message message = new Message("TopicTest", "TagA", "Hello RocketMQ".getBytes(RemotingHelper.DEFAULT_CHARSET)); producer.send(message); System.out.println("发送消息成功"); producer.shutdown(); } }
Nach dem Login kopierenErstellen Sie eine Klasse mit dem Namen Producer, erstellen Sie eine DefaultMQProducer-Instanz in der Hauptmethode und legen Sie die NameServer-Adresse fest. Erstellen Sie als Nächstes eine Nachrichteninstanz und geben Sie den Betreff, die Bezeichnung und den Nachrichteninhalt an, die gesendet werden sollen. Rufen Sie die Methode Producer.send (Nachricht) auf, um die Nachricht zu senden, und schließen Sie schließlich den Producer.
- Führen Sie den Producer aus.
Führen Sie die Hauptmethode der Producer-Klasse aus. Wenn alles richtig konfiguriert ist, wird auf der Konsole die Ausgabe „Nachricht erfolgreich gesendet“ angezeigt.
3. Nachrichten empfangen
Erstellen Sie einen Verbraucher
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.common.message.MessageExt; import java.util.List; public class Consumer { public static void main(String[] args) throws Exception { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumerGroup"); consumer.setNamesrvAddr("localhost:9876"); consumer.subscribe("TopicTest", "*"); consumer.registerMessageListener(new MessageListenerConcurrently() { @Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) { for (MessageExt messageExt : list) { System.out.println("接收到消息:" + new String(messageExt.getBody())); } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); consumer.start(); System.out.println("消费者启动"); } }
Nach dem Login kopierenErstellen Sie eine Klasse mit dem Namen Consumer, erstellen Sie eine DefaultMQPushConsumer-Instanz in der Hauptmethode und legen Sie die NameServer-Adresse fest. Als Nächstes abonnieren Sie die Themen und Tags, die Sie nutzen möchten, indem Sie die Methode „consumer.subscribe“ aufrufen. Verwenden Sie dann die Methode „registerMessageListener“ des Consumer-Objekts, um einen Nachrichten-Listener zu registrieren und die Geschäftslogik auszuführen, wenn die Nachricht eintrifft. Starten Sie abschließend den Verbraucher.
- Führen Sie den Consumer aus.
Führen Sie die Hauptmethode der Consumer-Klasse aus. Wenn alles richtig konfiguriert ist, sehen Sie die Ausgabe von „Consumer Started“ in der Konsole und können vom Produzenten gesendete Nachrichten empfangen.
4. Zusammenfassung
Durch die Einleitung dieses Artikels haben wir gelernt, wie man mit Java eine verteilte Messaging-Middleware-Anwendung basierend auf RocketMQ entwickelt. Wir lernten, wie man Nachrichten sendet und empfängt und erhielten konkrete Codebeispiele. Natürlich müssen in tatsächlichen Anwendungen weitere Funktionen wie die Behandlung von Ausnahmen und das Festlegen von Nachrichtenverzögerungen detaillierter beschrieben werden. Ich hoffe, dass dieser Artikel Ihnen den Einstieg in RocketMQ und die Anwendung der Nachrichten-Middleware-Technologie in tatsächlichen Projekten erleichtern kann, um die Skalierbarkeit und Stabilität des Systems zu verbessern.
Das obige ist der detaillierte Inhalt vonWie man mit Java eine verteilte Messaging-Middleware-Anwendung basierend auf RocketMQ entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.
