1. Rufen Sie das Bild abDocker-Suche Rocketmq Abrufen einer bestimmten Version curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags | tr -d '[\[\]" ]' | tr '}' '\n' | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}' Alle Versionen des aktuellen Image-Shell-Befehls anzeigen curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v Bild = 'foxiswho/rocketmq' '{wenn (NR!=NF && $3 != ""){printf("%s:%s\n",Bild,$3)}}' 2. Broker-Server erstellendocker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1 3. Einen Broker erstellendocker run -d -p 10911:10911 -p 10909:10909\ --name rmqbroker --link rmqserver:namesrv\ -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\ -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\ foxiswho/rocketmq:broker-4.5.1 Broker.conf konfigurieren Geben Sie den rmqbroker-Container ein docker exec -it rmqbroker /bin/bash cd /etc/rocketmq/ vi broker.conf 4. RocketMQ-Konsole erstellendocker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\ -Dcom.rocketmq.sendMessageWithVIPChannel=false"\ -t styletang/rocketmq-console-ng Überprüfen Sie anschließend den Startstatus mit dem folgenden Befehl Docker PS | grep rocketmq http://192.168.23.131:8180/ 5. TestenDa ich rocketmq auf dem Hostcomputer installiert habe, sieht der Test wie folgt aus: #Testbefehl zum Senden von Nachrichten sh tools.sh org.apache.rocketmq.example.quickstart.Producer #Testnachrichten-Empfangsbefehl sh tools.sh org.apache.rocketmq.example.quickstart.Consumer 6. Java-Beispiel<Abhängigkeit> <groupId>org.apache.rocketmq</groupId> <artifactId>RocketMQ-Client</artifactId> <version>4.9.2</version> </Abhängigkeit> Nachrichtenversand (Produzent sendet synchrone Nachrichten) importiere org.apache.rocketmq.client.producer.DefaultMQProducer; importiere org.apache.rocketmq.client.producer.SendResult; importiere org.apache.rocketmq.common.message.Message; importiere org.apache.rocketmq.remoting.common.RemotingHelper; öffentliche Klasse SyncProducer { öffentliche statische void main(String[] args) wirft Exception { // Instanziieren Sie den Nachrichtenproduzenten Producer DefaultMQProducer-Produzent = neuer DefaultMQProducer("zhuzeqing-1"); // Adresse des NameServers festlegen producer.setNamesrvAddr("192.168.23.131:9876"); // Starten Sie die Producer-Instanz producer.start(); für (int i = 0; i < 1; i++) { //Erstellen Sie eine Nachricht und geben Sie Thema, Tag und Nachrichtentext an. Nachricht msg = neue Nachricht("zhuzeqing-1-Topic" /* Thema */, "TagA" /* Tag */, ("hallo, rocketmq --" + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Nachrichtentext */ ); // Eine Nachricht an einen Broker senden SendResult sendResult = Produzent.send(msg); // Verwenden Sie sendResult, um zurückzugeben, ob die Nachricht erfolgreich zugestellt wurde. System.out.printf("%s%n", sendResult); } // Wenn keine weiteren Nachrichten gesendet werden, schließen Sie die Producer-Instanz. Produzent.shutdown(); } } Konsumnachrichten importiere java.util.List; importiere org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; importiere org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; importiere org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; importiere org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; importiere org.apache.rocketmq.client.exception.MQClientException; importiere org.apache.rocketmq.common.message.MessageExt; öffentliche Klasse Verbraucher { public static void main(String[] args) throws InterruptedException, MQClientException { // Instanziieren Sie den Verbraucher DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("zhuzeqing-1"); // NameServer-Adresse festlegen consumer.setNamesrvAddr("192.168.23.131:9876"); // Abonnieren Sie ein oder mehrere Themen und Tags, um die Nachrichten zu filtern, die konsumiert werden müssen consumer.subscribe("zhuzeqing-1-Topic", "*"); // Registrieren Sie die Callback-Implementierungsklasse, um die vom Broker zurückgeholten Nachrichten zu verarbeiten consumer.registerMessageListener(new MessageListenerConcurrently() { öffentliche ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext Kontext) { System.out.printf("%s Neue Nachrichten empfangen: %s %n", Thread.currentThread().getName(), msgs); // Markieren, dass die Nachricht erfolgreich konsumiert wurde return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); // Starten Sie die Consumer-Instanz consumer.start(); System.out.printf("Verbraucher gestartet.%n"); } } VII. SonstigesÜberprüfen Sie die rmqbroker-IP Docker-Inspektion RMQBroker Der Standardpfad der Konfigurationsdatei im Broker-Container lautet /etc/rocketmq/broker.conf Offizielle Website: Apache RocketMQ siehe:Installation und Verwendung von RocketMQ in Docker_Feng Libins Blog-CSDN Blog_docker rocketmq Dies ist das Ende dieses Artikels über die Implementierungsschritte zur Installation von RocketMQ in Docker. Weitere Informationen zur Installation von RocketMQ in Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Einige Schlussfolgerungen zur Entwicklung mobiler Websites
>>: So verhindern Sie, dass Flash HTML-Div-Elemente abdeckt
Vorwort In diesem Artikel wird der Vorgang zum He...
Übersicht über die MySQL-Speicher-Engine Was ist ...
MySQL Vorteil: Kleine Größe, hohe Geschwindigkeit...
Die Fremdschlüsseleinschränkung von MySQL dient z...
Inhaltsverzeichnis Schritt 1: Erstellen Sie das F...
1. Laden Sie das MySQL 5.7.11 Zip-Installationspa...
Wenn die Position absolut ist, wird der Prozentsa...
Analysieren Sie die Produktionsschritte: 1. Resso...
Vorwort Jeder weiß, wie man ein JAR-Paket unter L...
Vorwort Die Master-Slave-Replikationsbeziehung vo...
Lösen Sie das Problem, dass das Vue-Projekt zwar ...
Die Funktion isnull() kann nicht als Ersatz für N...
KDE Abkürzung für Kool Desktop Environment. Eine ...
Superset ist ein leichtes Self-Service-BI-Framewo...
1. Einleitung Container nutzen einen Sandbox-Mech...