【问题标题】:What is the purpose of Kafka ProducerConfig.CLIENT_ID_CONFIG?Kafka ProducerConfig.CLIENT_ID_CONFIG 的目的是什么?
【发布时间】:2021-07-12 19:03:52
【问题描述】:

将ProducerConfig.CLIENT_ID_CONFIG设置为kafka生产者的真正目的是什么。医生说

发出请求时传递给服务器的 id 字符串。目的 这是为了能够跟踪请求的来源,而不仅仅是 通过允许将逻辑应用程序名称包含在 ip/port 中 服务器端请求日志记录。

默认值:(空)

属性:client.id

因此,生产者似乎将此信息发送到代理/主题/分区。但是,如何在服务器上检索/验证这些信息。 重要的是,消费者能否读取/检索此(client.id)信息并找到消息是由哪个生产者发布的。

当两个生产者有意或无意地使用同一个 client.id 时会发生什么。

【问题讨论】:

    标签: java apache-kafka kafka-consumer-api kafka-producer-api


    【解决方案1】:

    根据我的经验,生产者客户端 ID 仅在服务器端有一个授权类来批准/拒绝客户端访问主题的情况下有用,而不仅仅是基于主机的访问。分布式跟踪库也可以使用它来显示有关生产者请求的信息

    id 不会转发给消费者

    服务器无法跟踪重复的客户端,因为集群不知道每个生产者的用例。它所知道的只是生产者在多个主机上运行,​​并将二进制数据发送到多个主题。 如果你像我提到的那样添加授权者,客户端需要明确访问主题,那么你很快就会发现主题访问中的重叠

    【讨论】:

    • 感谢The id is not forwarded to consumers +1。这有帮助。但是没有机制来验证它,任何生产者都可以设置任何 client.id。
    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 2017-07-09
    • 2022-11-29
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多