【问题标题】:Kafka Stops consuming message after multiple failuresKafka 在多次失败后停止消费消息
【发布时间】:2022-01-18 06:07:16
【问题描述】:

我们有一个简单的应用程序。一个微服务将发送消息以供其他两个微服务使用。在这两种服务中,一种能够成功处理消息,我们看不到那里有延迟。其他服务始终失败,并且在第 25 条消息之后没有其他消息被使用。这是有原因的吗?

Kafka 主题由一个分区和一个复制因子创建。

服务 1 - 工作正常: Service Working Fine

服务 2 - 延迟增加: Lag Increasing

Kafka 中是否有配置可以让消费者在特定数量的失败后停止消费消息,或者我们可以做些什么来避免这种行为?

【问题讨论】:

  • 线程很可能“卡”在用户代码中;启用调试日志记录并进行线程转储以查看发生了什么。

标签: java apache-kafka spring-kafka


【解决方案1】:

您说的是一个具有一个分区的主题,并且您有两个不同的服务,我假设 不同的消费者组名称从同一个主题分区消费,一个服务正在消费,另一个停止消费在第 25 条消息。在这种情况下,您可以检查消费者日志为什么不消费,这可能是消费者能够消费的格式错误的消息。

这是我的调试方式

  1. 重新启动或重新部署同一消费者,发现它总是在第 25 条消息处停止
  2. 如果第 1 步为真,请检查第 24 条和第 25 条消息并查看差异或将偏移量重置为 26 条以查看,如果消费者在偏移量重置后继续前进,则第 25 条消息存在消费者无法消费的问题。

【讨论】:

    猜你喜欢
    • 2017-09-23
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多