gpt4 book ai didi

apache-kafka - Kafka Stream StateStore 是对所有实例全局的还是只是本地的?

转载 作者:行者123 更新时间:2023-12-04 04:58:50 25 4
gpt4 key购买 nike

在 Kafka 流中 WordCount例如,它使用 StateStore存储字数。如果同一个消费者组中有多个实例,StateStore对组来说是全局的,还是只对消费者实例来说是局部的?

纳克斯

最佳答案

这取决于您对国有商店的看法。

  • 在 Kafka Streams 中,状态是共享的,因此每个实例都包含整个应用程序状态的一部分。例如,使用 DSL stateful operator 使用本地 RocksDB 实例来保存它们的状态分片。因此,在这方面,国家是地方性的。
  • 另一方面,对状态的所有更改都写入 Kafka 主题。这个topic不是“活”在应用主机上,而是在Kafka集群中,由多个分区组成,可以复制。如果出现错误,此更改日志主题用于在另一个仍在运行的实例中重新创建失败实例的状态。因此,由于所有应用程序实例都可以访问变更日志,因此它也可以被认为是全局的。

  • 请记住,变更日志是 真相应用程序状态和本地存储基本上是状态分片的缓存。

    此外,在 WordCount 示例中,记录流(数据流)按单词进行分区,这样一个单词的计数将由单个实例维护(不同的实例维护不同单词的计数)。

    对于架构概述,我推荐 http://docs.confluent.io/current/streams/architecture.html

    这篇博文也应该很有趣 http://www.confluent.io/blog/unifying-stream-processing-and-interactive-queries-in-apache-kafka/

    关于apache-kafka - Kafka Stream StateStore 是对所有实例全局的还是只是本地的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40274884/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com