新版kafka消费者、生产者配置为何使用bootstrap-servers而不是zookeeper服务器地址?
新版kafka消费者、生产者配置为何使用bootstrap-servers
直接配置broker list
而不是使用zookeeper服务器地址?
难道新版kafka消费者、生产者不需要从zookeeper获取信息了吗?
直接使用bootstrap-servers的话,假如有kafka broker新增的话
不是要重新配置,重启么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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...