gpt4 book ai didi

kubernetes - 在Kubernetes中查询远程状态存储(交互式查询)

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

关于在Kubernetes中部署的应用程序实例之间查询远程状态存储是否有任何建议?我们的应用程序实例部署有2个或更多副本。

根据文档
https://kafka.apache.org/10/documentation/streams/developer-guide/interactive-queries.html#id7

streams.allMetadataForStore("word-count")
.stream()
.map(streamsMetadata -> {
// Construct the (fictituous) full endpoint URL to query the current remote application instance
String url = "http://" + streamsMetadata.host() + ":" + streamsMetadata.port() + "/word-count/alice";
// Read and return the count for 'alice', if any.
return http.getLong(url);
})
.filter(s -> s != null)
.findFirst();

将streamMetadata.host()生成POD IP?如果可以,是否允许从此Pod到另一个Pod的 call ?这是正确的方法吗?

最佳答案

streamsMetadata.host()



此方法返回您通过 application.server配置参数配置的任​​何内容。即,每个应用程序实例(在您的情况下为每个POD)都必须设置此配置,以提供有关其可达性的信息(例如,其IP和端口)。 Kafka Streams将为您分发此信息到所有应用程序实例。

您还需要相应地配置POD,以允许通过指定的端口发送/接收查询请求。这部分是您需要自己编写的其他代码,即某种“查询路由层”。 Kafka Streams仅具有内置支持,可以查询本地状态并在何处分发有关托管哪个状态的元数据。但是没有内置的删除查询支持。

在Github上可以找到查询路由层的示例实现( WordCountInteractiveQueries): https://github.com/confluentinc/kafka-streams-examples

我还建议您检阅文档和博客文章:
  • https://docs.confluent.io/current/streams/developer-guide/interactive-queries.html
  • https://www.confluent.io/blog/unifying-stream-processing-and-interactive-queries-in-apache-kafka/
  • 关于kubernetes - 在Kubernetes中查询远程状态存储(交互式查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282495/

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