Beim Bereitstellen von Microservices in einem Cluster, wenn wir Befehle an alle Anwendungen geben wollen, können wir die Anwendungen für Kafka-Themen abonnieren, aber es sollte beachtet werden, dass unterschiedliche Gruppen-IDs gesetzt werden müssen, damit dasselbe Thema von allen Anwendungen empfangen wird.
Verwenden Sie docker, um eine Kafka-Anwendung mit folgenden Befehlen zu erstellen:
Hinweis: Ersetzen Sie 192.168.1.166 durch Ihre tatsächliche IP-Adresse
pom.xml Führen Sie das Feder-Kafka-Paket wie folgt ein:
Um die Kafka-Consumer-Konfiguration anzupassen, erstellen Sie wie folgt eine neue KafkaConsumer-Datei:
Erstellen Sie einen neuen Consumer-ConfigConsumer, der die Standardkonfiguration hat: topic:defaultTopic,groupid:defaultGroupId, und der Code ist wie folgt:
application.properties zur Konfiguration der Adresse von Kafka:
Um ein Projekt zu starten, ist das App-Abonnement die Standardkonfiguration, wie folgt:
KafkaMessageListenerContainer erbt die abstrakte Klasse AbstractMessageListenerContainer, und die Methode createSimpleLoggingConsumerRebalanceListener gibt die Groupid und die Topic-Partition des Consumers aus.
2021-11-14 19:44:26.689 INFO 14256 --- [ntainer#0-0-C-1] o.s.k.l.KafkaMessageListenerContainer : defaultGroupId: Partitionen zugewiesen: [defaultTopic-0] Setzen Sie dynamisch das Thema und die Groupid, und der Befehl zum Projektstart lautet wie folgt:
Das Thema ist auf a1 gesetzt und die Groupid ist itsvse.com
2021-11-14 19:46:25.330 INFO 12256 --- [ntainer#0-0-C-1] o.s.k.l.KafkaMessageListenerContainer : itsvse.com: zugewiesene Partitionen: [a1-0] (Ende)
|