新版kafka消费者、生产者配置为何使用bootstrap-servers而不是zookeeper服务器地址?

新版kafka消费者、生产者配置为何使用bootstrap-servers
直接配置broker list
而不是使用zookeeper服务器地址?
难道新版kafka消费者、生产者不需要从zookeeper获取信息了吗?
直接使用bootstrap-servers的话,假如有kafka broker新增的话
不是要重新配置,重启么?

阅读 13.7k
2 个回答

个人理解,新版消费者通过brokers而不是zookeeper是因为对消费端而言zookeeper应该是透明的,消费端需要的是kafka里的数据而zookeeper是kafka集群内部需要的,不应被暴露给外部,当然消费者获取broker信息本质仍是通过zookeeper来获取,只是这一过程被kafka隐藏起来了,从语义上隐藏了zookeeper服务

因为zookeeper要被替代了,kafka团队不想再依赖zk了,目前,Kafka使用ZooKeeper来存储分区和代理的元数据,并选择一个Broker作为Kafka控制器,而希望通过删除对ZooKeeper的依赖,将使Kafka能够以一种更具伸缩性和健壮性的方式管理元数据,实现对更多分区的支持,它还将简化Kafka的部署和配置。但是目前我们还是需要Zookeeper(最新版kafka是2.3.1)。 参见 https://cwiki.apache.org/conf...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏