【问题标题】:In Kafka what happens to the record which takes more time than the max.poll.interval.ms在 Kafka 中,记录会发生什么比 max.poll.interval.ms 花费更多的时间
【发布时间】:2022-01-18 01:12:44
【问题描述】:

ma​​x.poll.interval.ms时间超过长处理记录会发生什么,它会在后台运行并触发重新平衡。 根据我有限的理解,kafka 消费者(Spring kafkalistener)服务被暂停/重新启动,并且在重新平衡期间记录被分配给组中的其他消费者

【问题讨论】:

    标签: apache-kafka spring-kafka


    【解决方案1】:

    如果应用程序或处理逻辑不随消费者线程停止,您将在内存中处理记录。

    如果预先提交了偏移量,那么这些记录将在重新平衡后被有效地跳过。否则,理想情况下,这些偏移量不应在处理后提交,因为这些记录可能会在重新平衡后被其他消费者尝试再次处理,从而可能导致数据重复。

    【讨论】:

    • 感谢 onecricketeer 的清晰解释。如何停止消费者线程,以便在最大时间间隔后不处理内存中的记录
    • 线程在重新平衡后应该已经死亡。如果您想进一步停止处理代码,您可能需要设置 spring-kafka 错误处理程序类,以便处理代码知道是否发生了任何错误。我真的没有任何例子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 2022-09-30
    • 1970-01-01
    • 2019-12-07
    • 2012-11-23
    • 2014-05-30
    相关资源
    最近更新 更多