【问题标题】:Kafka Connect - do the workers need direct communication with each otherKafka Connect - 工作人员之间是否需要直接通信
【发布时间】:2020-03-04 02:10:12
【问题描述】:

我的目标是使用容器部署 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.

关于工人如何以及为什么(如果他们这样做)相互沟通的任何细节?

【问题讨论】:

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


    【解决方案1】:

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

    Connect 允许您使用任何工作人员的 REST API 来创建/更新/删除连接器,但在幕后,它将请求转发给“领导者”工作人员。

    这在文档中的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 来更改将被follower节点用来连接leader

    【讨论】:

    • 其工作原理与模式注册表完全相同。好的,谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2019-02-08
    • 2020-07-01
    • 2019-07-15
    • 2019-11-26
    • 1970-01-01
    • 2019-04-22
    • 2012-02-03
    相关资源
    最近更新 更多