【问题标题】:Kafka Streams - How does it save the state internallyKafka Streams - 它如何在内部保存状态
【发布时间】:2019-09-16 19:00:19
【问题描述】:

互联网上有很多关于 Kafka Streams 使用的文章,但几乎没有关于它是如何在内部完成的。

  1. 它是否使用标准集之外的 Kafka 内部的任何功能(我们称“标准”为 librdkafka 实现)?
  2. 如果它将状态保存在 RocksDB(或任何自定义 StateStore)中,它如何保证状态保存和提交在一个事务中?
  3. 状态保存在压缩日志中时的相同问题(提交和更新的日志应该在一个事务中)。

谢谢。

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    我在这里结合了几个线程的信息找到了答案。

    1. 它使用 librdkafka 的 unsupported(尚未)的事务(参见 https://stackoverflow.com/a/54593467/414016)。
    2. 它并不真正依赖 RocksDB,而是将状态更改保存到提交日志中(请参阅 https://stackoverflow.com/a/50264900/414016)。
    3. 它使用上述交易来完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 2017-06-08
      • 2019-07-03
      • 1970-01-01
      • 2022-10-06
      • 2018-10-24
      • 2021-01-04
      • 1970-01-01
      相关资源
      最近更新 更多