Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 21474|Antwort: 0

[Quelle] Spring Boot setzt dynamisch das Thema oder die GroupId von Kafka

[Link kopieren]
Veröffentlicht am 14.11.2021 20:03:45 | | | |
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]
Spring überschreibt die Standardkonfiguration im JAR-Paket
https://www.itsvse.com/thread-10129-1-1.html

(Ende)





Vorhergehend:Langsame Abfragen für MySQL-Leistungsoptimierung
Nächster:Spring Boot Kafka startet neu, um alte Daten zu verwerfen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com