【问题标题】:Kafka Stream: Consumer commit frequencyKafka Stream:消费者提交频率
【发布时间】:2018-05-13 03:04:25
【问题描述】:

在保证至少一次的情况下,我了解在失败的情况下可能会出现重复。然而,
1) Kafka Stream 库执行提交的频率如何?
2)除了上述之外,用户是否还需要考虑提交?
3) 是否有关于应该多久执行一次提交的最佳实践?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    Kafka Streams 定期提交,可通过参数commit.interval.ms 配置(默认为 30 秒;如果启用了一次性处理,则默认为 100 毫秒)。

    通常,用户无需手动提交。请注意,用户无法完全控制提交,但只能请求提交:cf。 How to commit manually with Kafka Stream?

    提交是同步点,如果您提交过于频繁(对于每个处理过的记录之后的极端示例),您的吞吐量可能会显着下降。它还高度依赖于应用程序,因为提交频率决定了应用程序进程的潜在重复次数(这也取决于输入数据速率)。因此,您需要考虑在失败的情况下您愿意容忍多少次重复。它还取决于应用程序重新处理数据需要多长时间:在此期间应用程序可能不完全可用。总体而言,很难给出建议,您需要单独考虑每个应用程序所描述的权衡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-31
      • 2017-03-19
      • 2016-06-21
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      相关资源
      最近更新 更多