Zookeeper是一种分布式系统协调服务(集中式),用于集群维护分布式系统,通过配置信息、命名等元数据实现分布式同步。 在一般架构中,Kafka集群应由3个ZooKeeper节点提供服务,但如果部署规模巨大,则可以增加到5个ZooKeeper节点,但这反过来会增加节点负载,因为所有节点都试图同步,因为所有元数据相关活动都由ZooKeeper处理。 此外,应该注意的是,作为一种改进,the new release of Kafka reduces dependency on ZooKeeper为了增强元数据的可扩展性,以降低维护外部组件的元数据的复杂性,并增强从意外关机中恢复。控制器故障转移几乎是即时的。这是通过称为“KRaft”的Kafka Raft元数据模式实现的它将通过合并Kafka集群本身中的服务内的ZooKeeper处理的所有职责来运行Kafka而不运行ZooKeeper,并且基于KRaft协议中使用的基于事件的机制来操作。
2条答案
按热度按时间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协议中使用的基于事件的机制来操作。
mrphzbgm2#
教程通常让事情变得简单美好,所以有一个Zookeeper(通常也有一个Kafka经纪人)。对任何一种弹性都毫无用处:)
实际上,您至少需要三个ZooKeeper节点。
如果有帮助的话,这里有一份关于Kafka部署的enterprise reference architecture白皮书