gpt4 book ai didi

elasticsearch - 在初始化 RestHighLevel 客户端时,我们总是需要使用新的 RestHighLevel 客户端和新主机吗?

转载 作者:行者123 更新时间:2023-12-05 06:50:39 28 4
gpt4 key购买 nike

RestHighLevelClient 客户端 =new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));

我的问题是我们总是需要使用新的 HttpHost 吗?有没有办法维护连接池?

我们有 GET 和 POST api,当从前端触发请求时,总是调用 client.search()。因此,每次触发新请求时,都会创建一个新连接。有没有更好的方法来处理它。 ?

最佳答案

您不需要像 official doc 中提到的那样在您的应用程序中创建多个 RestHighLevelClient JHLRC 是一个线程安全的客户端,通常由应用程序在启动时实例化,并且可以被应用程序中的所有请求使用。

来自同一文档

The RestHighLevelClient is thread-safe. It is typically instantiatedby the application at startup time or when the first request isexecuted.

在内部 JHLRC 维护连接池并在 Elasticsearch 节点之间进行负载平衡,因此您不必担心这些内部问题。

关于elasticsearch - 在初始化 RestHighLevel 客户端时,我们总是需要使用新的 RestHighLevel 客户端和新主机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66362921/

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