gpt4 book ai didi

elasticsearch - Elasticsearch NEST客户端单例使用

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

当使用.NET Elasticsearch NEST客户端时,我试图弄清楚如何最大程度地减少客户端库对节点执行的ping操作。我知道有一些禁用ping的设置,但是如果节点关闭,我认为如果没有这些设置,将会对性能产生很大的负面影响。所以我真正想弄清楚的是,是否有一种方法可以在ElasticClient对象,连接状态信息或某些其他对象周围使用singleton pattern来帮助实现这一目标。

基本上,我们需要一个共享的对象,该对象具有所有节点及其上/下状态,多个ElasticClient可以使用它们,而无需创建每个新客户端都必须弄清楚该对象。另一种选择是将ElasticClient用作单例本身。

我在多线程ASP.NET应用程序中使用客户端,并且使用Azure角色,因此确保跨线程工作非常重要。

我在ES之前使用nginx监视其流量,您可以看到有大量的“/”匹配项必须是客户端库ping。 (下面的报告摘要是通过Stackify解析我们的nginx日志而得出的。)

是否有人将ElasticClient作为单例使用成功或有任何建议?

最佳答案

客户端本身是无状态的,因此您应该能够将其作为单例使用。您也可以每次实例化一个新客户端,但是如果您使用IConnectionPool,则需要确保每个客户端实例都接收到相同的IConnectionPool实例。

关于elasticsearch - Elasticsearch NEST客户端单例使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589612/

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