1

Ich habe zwei Kafka-Cluster mit den Versionen 0.8.2.1 und 0.10.1.Kommunikation zu mehreren Kafka-Clustern verschiedener Versionen

Ich möchte einige Ereignisse von 0.8.2.1 verbrauchen und andere zu 0.10.1 produzieren. Ich habe über die Abwärtskompatibilität gelesen und verstehe, dass Clients vorwärtskompatibel sind. Ich konnte keinen Hinweis auf 0.8.2.1 finden, der zu einer zukünftigen Version produziert. Ist es möglich, einen einzelnen Client zu verwenden und mit dem Cluster zu kommunizieren?

Gibt es eine Möglichkeit, dass ich beide Clients in meinem eigenen Java-Code verwenden kann. Ich benutze Maven als mein Build-Tool.

Antwort

1

Wenn Sie zwei Kafka-Cluster mit verschiedenen Versionen lesen/schreiben wollen, können Sie Clients verwenden, die der niedrigeren Version entsprechen.

Zum Beispiel, wenn Sie von 0.8.2 lesen und schreiben zu 0.10.1 können Sie 0.8.2 Verbraucher und 0.8.2 Hersteller verwenden, da 0.8.2 Hersteller mit 0.10.1 vorwärts kompatibel sind.

Es würde nicht funktionieren, eine höhere Version für die Clients zu verwenden, da Ihr Verbraucher mit einer höheren Version als 0.8.2 nicht in der Lage wäre, von 0.8.2 zu lesen (auch wenn 0.9 oder 0.10.1 Producer schreiben kann) zu 0.10.1 Cluster).

Der Punkt ist, dass Sie einen 0.8.2 Consumer und 0.10.1 Producer nicht einfach in die gleiche App einfügen können, da es Klassenladekonflikte geben würde. Es ist nicht unmöglich zu denken, aber Sie müssten einen anderen Klassenlader für Consumer und Producer verwenden, um beide Teile Ihres Codes zu isolieren, um einen Klassenladekonflikt zu vermeiden. Fertig geschrieben, es würde Ihnen ermöglichen, einen 0.8.2-Consumer zu verwenden, um von 0.8.2-Cluster zu lesen, während 0.10.1 Producer verwendet, um zu 0.10.1-Cluster zu schreiben.

Aber wenn Sie keine spezielle Funktion 0.10.1 Hersteller Angebote benötigen, scheint es einfacher zu sein, einfach mit 0.8.2 für Verbraucher und Hersteller zu gehen und die Mühe zu vermeiden, mit anderen Klassenlader umzugehen. Benutzerdefinierte Klassenladeprogramme sind schwieriger zu verwenden, als es scheint.

Verwandte Themen