正如其他人所解释的那样,如果没有Zookeeper,Kafka(即使是最新版本)也无法使用。
Kafka将Zookeeper用于以下用途:
选择一个控制器。控制器是代理之一,负责维护所有分区的领导者/从属者关系。当节点关闭时,控制器会告诉其他副本成为分区负责人,以替换即将消失的节点上的分区负责人。Zookeeper用于选举控制器,请确保只有一个控制器,如果崩溃则选择一个新控制器。
集群成员资格 -哪些代理还活着并且是集群的一部分?这也可以通过ZooKeeper进行管理。
主题配置 -存在哪些主题,每个主题有多少个分区,副本在哪里,谁是首选领导者,为每个主题设置了哪些配置替代
(0.9.0)-配额 -每个客户端允许读写多少数据
(0.9.0)-ACL允许谁读写哪个主题(旧的高级消费者)-存在哪些消费者组,它们的成员是谁,以及每个组从每个分区获取的最新偏移量是多少。
[摘自https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka/answer/Gwen-Shapira ]
关于您的方案,只有一个经纪人实例和一个具有多个使用者的生产者,您可以使用pusher创建一个频道,并将事件推送到该使用者可以订阅并处理这些事件的频道。
https://pusher.com/