运行一个多代理Kafka需要多个zookeeper示例吗?

ar7v8xwq  于 2022-12-16  发布在  Apache
关注(0)|答案(2)|浏览(176)

我对Kafka不熟悉。
Kafka应该是作为一个分布式服务使用的。但是我在网上找到的教程和博客文章从来没有提到是否有一个或几个Zookeeper节点。
教程只弹出一个zookeper示例,然后弹出多个Kafka经纪人。
这是应该做的吗?

flseospp

flseospp1#

Zookeeper是一种分布式系统协调服务(集中式),用于集群维护分布式系统,通过配置信息、命名等元数据实现分布式同步。
在一般架构中,Kafka集群应由3个ZooKeeper节点提供服务,但如果部署规模巨大,则可以增加到5个ZooKeeper节点,但这反过来会增加节点负载,因为所有节点都试图同步,因为所有元数据相关活动都由ZooKeeper处理。
此外,应该注意的是,作为一种改进,the new release of Kafka reduces dependency on ZooKeeper为了增强元数据的可扩展性,以降低维护外部组件的元数据的复杂性,并增强从意外关机中恢复。控制器故障转移几乎是即时的。这是通过称为“KRaft”的Kafka Raft元数据模式实现的它将通过合并Kafka集群本身中的服务内的ZooKeeper处理的所有职责来运行Kafka而不运行ZooKeeper,并且基于KRaft协议中使用的基于事件的机制来操作。

mrphzbgm

mrphzbgm2#

教程通常让事情变得简单美好,所以有一个Zookeeper(通常也有一个Kafka经纪人)。对任何一种弹性都毫无用处:)
实际上,您至少需要三个ZooKeeper节点。
如果有帮助的话,这里有一份关于Kafka部署的enterprise reference architecture白皮书

  • 免责声明:我为Confluent工作,该公司发布了上述白皮书 *。

相关问题