advertised.listeners和bootstrap.servers有什么区别?

时间:2020-03-25 10:36:20

标签: apache-kafka

我想配置kafka,以便客户端可以连接到它。 kafka配置中的advertised.listeners和bootstrap.servers有什么区别?

2 个答案:

答案 0 :(得分:1)

bootstrap.servers参数仅用于与集群的初始连接。建立此初始连接后,Kafka返回advertised.listeners,这是用于连接到经纪人的IP /端口列表。

此图像有助于理解概念:

enter image description here

注意:advertised.host.name已过时,您可以假定为advertised.listeners

有关更多信息,您可以检查Kafka docs

bootstrap.servers :用于建立主机/端口对的列表 与Kafka群集的初始连接。客户将利用 不论在此处指定了哪些服务器 引导程序-此列表仅影响用于 发现全套服务器。该列表应采用以下形式 host1:port1,host2:port2,....由于这些服务器仅用于 初始连接以发现完整的集群成员身份(可能 动态更改),则此列表无需包含完整的 服务器(不过,如果服务器是 下)。

advertised.listeners :用于发布到ZooKeeper的客户端的监听器 如果与listeners config属性不同,请使用。在IaaS中 环境,这可能需要与界面不同 经纪人绑定的。如果未设置,则侦听器的值 将会被使用。与监听器不同,宣传广告无效 0.0.0.0元地址。

图片参考:https://www.udemy.com/course/kafka-cluster-setup/

答案 1 :(得分:0)

bootstrap.servers是您为客户端提供的用于连接到Kafka群集的代理的列表。

advertised.listeners是在与bootstrap.server的初始连接上为客户端提供的每个代理的主机和端口。当客户随后与经纪人建立联系时,它将使用bootstrap.server这些 not ,这就是为什么正确设置advertised.listeners如此重要的原因根据您的网络设置。

有关更多详细信息,请参见https://rmoff.net/2018/08/02/kafka-listeners-explained/