卡夫卡多个分区的本地状态存储

时间:2019-01-21 17:57:35

标签: apache-kafka kafka-consumer-api apache-kafka-streams

我正在使用kafka处理器api,并从3个分区(我有3个代理)的主题创建状态存储,我有1个流实例。我想知道何时获得本地状态存储,是否可以获取所有密钥?为什么某些键有效但某些键无效?正常吗 谢谢

1 个答案:

答案 0 :(得分:0)

在这种情况下,应用程序实例无关紧要的数字。因为输入主题具有3个分区,所以状态存储是用3个分片创建的。处理发生在3个并行任务中。每个任务都实例化拓扑的副本,处理一个输入主题分区,并使用一个分片。

比较:https://kafka.apache.org/21/documentation/streams/architecture

如果要访问其他分片,则可以对所有分片使用“交互式查询”功能进行键/值查找(以及对键范围的查询)。

此外,这是全局状态存储的概念,它将所有分区中的数据加载到单个存储中(而不是分片)。但是,与“常规”商店相比,它提供了不同的语义,因为商店更新与其他处理没有时间同步。

相关问题