Nit*_*amk 7 elasticsearch nest retry-logic
我正在使用 NEST 对 Elasticsearch 6 集群执行查询。Elasticsearch 集群由几个节点组成,但它在防火墙/负载均衡器后面运行,因此从客户端角度来看,它显示为具有单个主机名的单个节点。
当部署我的应用程序的新版本时,由于基础设施/网络在蓝绿部署方面的工作方式,会出现短暂的网络中断。
由于我只有一个 Elasticsearch URI,因此当我创建连接时,NEST 将使用 SingleNodeConnectionPool 实例。我在文档 2 中读到,在这种情况下,NEST 将不会执行任何重试。
但就我而言,我想执行重试来处理上述网络中断,因为它当前会导致错误传播到最终用户。我知道我可以自己实现重试逻辑,但我想知道是否有某种方法可以获取网络连接错误的重试逻辑,即使在使用 SingleNodeConnectionPool 时也是如此。
我的代码中出现的错误是:
System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而建立的连接失败:
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |