首页 > 图灵资讯 > java面试题>正文
javaKafka面试题-ZooKeeper 的作用
2024-05-27 13:35:28
目前,Kafka 使用 ZooKeeper 存放集群元数据、成员管理、Controller 选举,以及其他一些管理类任务。之后,等 KIP-500 提案完成后,Kafka 将完全不再依赖于 ZooKeeper。
●存放元数据是指主题分区的所有数据都保存在 ZooKeeper 中,其他“人”都要与它保持对齐。
●成员管理是指 Broker 节点的注册、注销以及属性变更等 。
●Controller 选举是指选举集群 Controller,包括但不限于主题删除、参数配置等。
一言以蔽之:KIP-500 ,是使用社区自研的基于 Raft 的共识算法,实现 Controller 自选举。
同样是存储元数据,这几年基于Raft算法的etcd认可度越来越高。
越来越多的系统开始用它保存关键数据。比如,秒杀系统经常用它保存各节点信息,以便控制消费 MQ 的服务数量。还有些业务系统的配置数据,也会通过 etcd 实时同步给业务系统的各节点,比如,秒杀管理后台会使用 etcd 将秒杀活动的配置数据实时同步给秒杀 API 服务各节点。