【问题标题】:Kafkajs - multiple consumers reading from same topic and partitionKafkajs - 从同一主题和分区读取多个消费者
【发布时间】:2022-02-10 23:26:17
【问题描述】:

我打算使用 Kafkajs https://kafka.js.org/ 并在 NodeJs 服务器中实现它。 我想知道如果我有 2 个(或更多)服务器实例正在运行,每个实例都有一个配置有相同组 id 和主题的消费者,那么预期的行为是什么?

这是否意味着他们可能会阅读相同的消息? 我应该为每个服务器实例指定一个唯一的消费者组吗?

我读过这个 - Multiple consumers consuming from same topic 但不确定它是否适用于 Kafkajs

【问题讨论】:

    标签: apache-kafka kafkajs


    【解决方案1】:

    单个消费者组不可能有多个消费者从任何 Kafka 库中的重叠分区读取。如果您的主题只有一个分区,则只有一个应用程序实例将使用它,如果该实例死亡,该组将重新平衡,另一个实例将接管(可能读取相同的 一些数据,由于至少一次交付的性质,但与其他实例不同时)

    【讨论】:

    • 我还有一个问题,如果我有 2 个消费者,A - 接收消息 1 - 100 B - 接收消息 101 - 200 A 失败,B 成功 消息 1 - 100 会发生什么?
    • 1) 正如所回答的那样,这只有在多个分区中才有可能,因为不能为多个消费者分配相同的消费者 2) 答案与第二个分区的偏移量 1-100 发生的事情相同
    • 所以在它们被提交之前,分区 0 中的消息 1-100 是否正在等待消费者读取它们? (不考虑保留时间)
    • 除非消费者使用 seek 方法跳过它们,否则是的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2021-11-28
    • 2017-08-25
    • 2022-11-19
    • 1970-01-01
    • 2022-06-13
    • 2020-05-03
    相关资源
    最近更新 更多