【问题标题】:Kafka : Check if 2 topics have been caught upKafka:检查是否有 2 个主题被赶上
【发布时间】:2018-08-09 01:47:44
【问题描述】:

我在 kafka 中有 2 个主题,我正在写两次。他们的偏移量一开始就在不同的提交点。我的消费者从第二个主题开始消费较晚,但最终会赶上第一个主题。我怎样才能最好地找出他们是否都被赶上了?

我计划查看从两个主题中消耗的先前消息的固定窗口,并检查所消耗的消息在性质上是否相似。关于如何找到它们是否相似的任何想法?

关于我如何确定他们已经被追上的任何其他想法?

另外,我的主题有多个分区。检查应包括是否所有分区都已被赶上。

【问题讨论】:

  • 列出给定您的应用程序组 id 的消费者组
  • 您在两个主题上写的消息数量是否完全相同?如果是这样,偏移量总和 (topic1) = 偏移量总和 (topic2) 可以为您提供非常接近的结果。

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


【解决方案1】:

从命令行或使用消费者 api,您可以计算消费者延迟。如果两个消费者的延迟都不显着,那么您可以放心地假设两个主题都被赶上了。

另外,请帮助我理解为什么您需要为两个主题编写相同的消息。一个主题可以有多个消费者

【讨论】:

    【解决方案2】:

    您可以使用此处提供的方法自行计算延迟:

    kafka.admin.ConsumerGroupCommand

    https://github.com/apache/kafka/blob/bf237fa7c576bd141d78fdea9f17f65ea269c290/core/src/main/scala/kafka/admin/ConsumerGroupCommand.scala

    这个答案有更多细节:

    https://stackoverflow.com/a/51749733/236528

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-05
      • 2017-10-02
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2020-02-10
      相关资源
      最近更新 更多