Wie von anderen erklärt, funktioniert Kafka (auch in der neuesten Version) ohne Zookeeper nicht.
Kafka verwendet Zookeeper für Folgendes:
Controller wählen . Der Controller ist einer der Broker und für die Aufrechterhaltung der Leader / Follower-Beziehung für alle Partitionen verantwortlich. Wenn ein Knoten heruntergefahren wird, weist der Controller andere Replikate an, Partitionsleiter zu werden, um die Partitionsleiter auf dem Knoten zu ersetzen, der entfernt wird. Zookeeper wird verwendet, um einen Controller zu wählen, sicherzustellen, dass es nur einen gibt, und einen neuen zu wählen, wenn er abstürzt.
Cluster-Mitgliedschaft - Welche Broker sind am Leben und Teil des Clusters? Dies wird auch über ZooKeeper verwaltet.
Topic Konfiguration - die Themen vorhanden sind , wie viele Partitionen jeder hat, wo die Repliken sind, die der bevorzugte Leiter ist, welche Konfiguration überschreibt für jedes Thema eingestellt
(0.9.0) - Kontingente - Wie viele Daten darf jeder Client lesen und schreiben?
(0.9.0) - ACLs - Wer darf zu welchem Thema lesen und schreiben (alter High-Level-Consumer) - Welche Consumer-Gruppen existieren, wer sind ihre Mitglieder und was ist der letzte Offset, den jede Gruppe von jeder Partition erhalten hat.
[von https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka/answer/Gwen-Shapira ]
In Bezug auf Ihr Szenario, nur eine Brokerinstanz und ein Produzent mit mehreren Verbrauchern, können Sie mit pusher einen Kanal erstellen und das Ereignis an den Kanal senden, den der Verbraucher abonnieren und diese Ereignisse übergeben kann.
https://pusher.com/