Kafka Connect-工人需要彼此直接交流吗?

时间:2019-11-07 13:23:09

标签: docker apache-kafka apache-kafka-connect nomad

我的目标是使用容器部署Kafka连接连接器(s3接收器),因此了解有关工人可能如何直接沟通或不直接沟通的细节很重要。

根据我所阅读的内容,我无法确定工作人员之间是否可以进行直接通信(例如,一个工作人员使用REST或其他人与之交谈)。

我在一开始就认为,当我使用REST更新配置时,配置更改是使用connect_config内部主题和/或使用Kafka使用者协调器传播的。

但是根据我的读物:

rest.advertised.host.name
If this is set, this is the hostname that will be given out to other workers to connect to.

关于工人如何以及为什么(如果这样做)彼此交流的任何细节?

1 个答案:

答案 0 :(得分:1)

是的,当以分布式模式运行时,工作人员必须能够连接到彼此的REST API。

Connect允许您使用任何工作程序的REST API创建/更新/删除连接器,但是在幕后,它将请求转发给“ leader”工作程序。

文档REST API section中对此进行了描述:

  

REST API不仅供用户用来监视/管理Kafka Connect。它也用于Kafka Connect跨集群通信。在跟随者节点REST API上收到的请求将转发到领导者节点REST API。如果主机可访问的URI与侦听的URI不同,则可以使用配置选项rest.advertised.host.name,rest.advertised.port和rest.advertised.listener来更改URI。跟随者节点将使用它与领导者进行连接