Ste*_*Kuo 8 apache-kafka apache-kafka-streams
在Kafka Stream WordCount示例中,它用于StateStore存储字数.如果同一个使用者组中有多个实例,那么该组StateStore是全局的,还是只是消费者实例的本地实例?
Thnaks
Mat*_*Sax 18
这取决于您对州商店的看法.
在Kafka Streams中,共享一个状态,因此每个实例都包含整个应用程序状态的一部分.例如,使用DSL有状态运算符使用本地RocksDB实例来保存其状态的分片.因此,在这方面,国家是地方的.
另一方面,对状态的所有更改都写入Kafka主题.此主题不在应用程序主机上"活动",而是在Kafka群集中,并且由多个分区组成,可以复制.如果出现错误,此changelog主题用于在另一个仍在运行的实例中重新创建失败实例的状态.因此,由于所有应用程序实例都可以访问更改日志,因此也可以认为它是全局的.
请记住,更改日志是应用程序状态的真实情况,本地存储基本上是状态分片的缓存.
此外,在WordCount示例中,记录流(数据流)通过单词进行分区,使得一个单词的计数将由单个实例维护(并且不同的实例保持不同单词的计数).
对于体系结构概述,我建议使用http://docs.confluent.io/current/streams/architecture.html
此博客文章也应该是有趣的http://www.confluent.io/blog/unifying-stream-processing-and-interactive-queries-in-apache-kafka/
| 归档时间: |
|
| 查看次数: |
6621 次 |
| 最近记录: |