【问题标题】:Two Kafka Consumer application having same group.id and same consumer.id两个具有相同 group.id 和相同 consumer.id 的 Kafka Consumer 应用程序
【发布时间】:2019-05-07 03:27:24
【问题描述】:

我有 2 个不同的应用程序实例使用来自一个主题的消息,两个应用程序的 group.id 和 consumer.id 值相同

消息是只被 1 个应用程序读取还是被两个应用程序读取?此外,如果我们在 2 个不同的应用程序中有相同的 consumer.id,它会被视为一个组中的 2 个消费者还是该组中的唯一一个消费者?

例如App1 实例,group.id = conGrp1,consumer.id = consumer
App2 实例,group.id = conGrp1,consumer.id = consumer1

即使有 2 个不同的应用程序实例正在运行,我们是否仍然只有一个组和一个使用者?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

    两个应用程序的 group.id 和 consumer.id 值相同

    然后,两者都是同一个组的一部分,每个消费者在消费数据中不重叠 - 任何给定的消息只能在该组的一个消费者中看到

    组 ID 决定了这种行为。消费者 id 只是在指标或消费者组命令中找到的友好名称,我相信,所以你仍然只有一个组。将应用程序的唯一实例与相同的消费者 id 放在一起并不是一个好主意,即使是同一组的一部分

    difference between groupid and consumerid in Kafka consumer

    【讨论】:

    • 我了解群体行为。但对消费者身份仍有疑问。所以我的问题是,如果我们在两个应用程序实例中具有相同的消费者 ID,组是否有 2 个消费者或 1 个消费者。请参阅我正在使用 2 个应用程序实例进行容错,如果一个应用程序崩溃,其他应用程序将消耗消息。
    • 好吧,consumer.id 不再出现在文档中,所以我不知道它到底有什么用处。 kafka.apache.org/documentation/#consumerconfigs。话虽如此,group.id 是这里唯一考虑的因素
    • 有两个进程正在运行并从主题轮询,因此您在一个组中有两个消费者。当您描述该组时,您可能只会看到一个consumer.id,但是我假设该值是自动设置的,那您为什么要设置它?
    • 好的...那么我们将如何设置组中的消费者数量?
    • 消费者数量现在会直接取决于主题分区吗?例如。如果我们在同一组中有 2 个主题,即 Group1。 Topic1 有 2 个分区,Topic2 有 3 个分区,那么 Kafka Consumer 会自动在 Group1 中定义 5 个消费者吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多