【问题标题】:Spring Kafka Consumer Client-Id configurationSpring Kafka Consumer Client-Id 配置
【发布时间】:2017-07-18 17:43:33
【问题描述】:

我有两个 Kafka 侦听器组件,每个组件都侦听不同的主题并期望不同的有效负载。 我的问题是,我可以为两者使用相同的客户端 ID 还是必须不同?如果客户端 ID 必须不同,我想了解一个可以有效使用客户端 ID 的用例。

【问题讨论】:

    标签: spring-kafka


    【解决方案1】:

    根据文档:

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

    因此,从技术上讲,您确实可以为不同的消费者/生产者提供相同的价值

    【讨论】:

    • 您好,感谢您的回复。但是,spring-kafka 迫使我为我的两个 kafka 侦听器使用不同的客户端 ID,因为它说它必须是唯一的。
    • 在 KafkaListenerEndpointRegistry 类中抛出错误“Another endpoint is already registered with id”(第 152 行)
    • @KafkaListener.id()?您是否在某处看到此 bean id 映射到 client-id 的指针?你真的应该直接使用ConsumerConfig.CLIENT_ID_CONFIG
    • 所以当我使用 ConsumerConfig.CLIENT_ID_CONFIG 时,无论它监听多少主题,它都会给消费者一个逻辑名称,对吧?另外,能否请您简要解释一下 KafkaListener.id() 的用途?
    • 是的,这就是该属性的工作方式。主题金额完全不相关。它是 Kafka 代理的 Consumer 指标。不过,这与听众完全无关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 2023-03-02
    • 2021-01-29
    • 2021-02-18
    • 2020-04-24
    相关资源
    最近更新 更多