gpt4 book ai didi

elasticsearch - 通过NEST进行Elasticsearch:连接到多个主机集群的推荐方法是什么

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

我开始与NEST合作。
我在a previous question中看到,我应该在程序开始时只使用一次TryConnect,然后再使用Connect。
但这对于长时间运行的系统来说似乎太幼稚了。
如果我有一簇说3台计算机并且想要确保可以连接到这3台计算机中的任何一台怎么办?
推荐的做法是什么?

我是不是该:
-每次使用TryConnect,如果出现故障则使用其他主机+端口(缺点-每次附加往返)?
-尝试与客户端一起使用,并具有一些重试机制来处理由于连接问题引起的故障?也许在此之上实现一个连接池?

还有其他选择吗?
有什么建议/建议吗?
样例代码?

谢谢你的帮助,
罗恩

最佳答案

连接池是一个经常需要的功能,但是由于涉及到许多启发式方法和不同的方法,因此NEST并不是开箱即用的。您将必须自己实现。

我不建议在每次调用之前先调用TryConnect(),因为现在您正在进行两次调用,而不是一次。

每个NEST调用都会返回一个IResponse,您可以检查IsValidConnectionStatus将保存请求和响应的详细信息。

另请参阅handling responses文档

在1.0中,如果TCP级别错误,NEST将开始引发异常,因此可以实现更通用的连接池方法,并且nest可能附带一个单独的nuget包,用于实现一个(如果有引用的话)。另请参阅此讨论https://github.com/Mpdreamz/NEST/pull/224#issuecomment-16347889

希望这对现在有所帮助。

更新这个答案已经过时NEST 1.0附带了连接池和群集故障转移支持:http://nest.azurewebsites.net/elasticsearch-net/cluster-failover.html

关于elasticsearch - 通过NEST进行Elasticsearch:连接到多个主机集群的推荐方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148151/

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