具有内部rocksdb状态存储的Kafka流应用程序无法获取密钥的数据

时间:2018-11-15 22:32:06

标签: apache-kafka apache-kafka-streams stream-processing

我有一个kafka流应用程序,运行36个不同的实例(每个分区一个)。而且我正在状态之上建立休息服务以访问数据。

这里有一些代码可以访问数据

StreamsMetadata metadata = streams.metadataForKey(store, key, serializer); --> call this find ouy which host has the key
if (localSelf.host().equals(hostStoreInfo.getHost())) {
get the key from local store
}
else {
call the remote host using restTemplate

现在的问题是返回的metadata对象具有不同的主机/ ip,但是数据位于不同的节点上。我能够看到使用一些我打印的应用程序日志。

allMetadata上的KafkaStreams方法说,该值将在重新分配分区时更新。但以防万一。我该怎么办。

0 个答案:

没有答案