我有一个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
方法说,该值将在重新分配分区时更新。但以防万一。我该怎么办。