如何使用ElasticSearch集群和NEST?

use*_*225 3 elasticsearch nest

我非常喜欢NEST API,当然还有ElasticSearch.吸引力的很大一部分是能够非常容易地扩展集群.我有3个节点,包括1个主从和2个读从.NEST客户端是否为群集中的负载平衡和故障转移提供任何支持?

Mar*_*man 5

不,选择.

负载平衡基于许多启发式,每个应用程序都有所不同.很多设置已经在elasticsearch集群前面有硬件/软件负载均衡器.

在弹性搜索已经负载平衡的基础上,即使客户端一直命中一个节点,集群也可以让其他节点协调搜索.

当然,故障是什么,需要在应用程序中进行处理(如果硬件/负载均衡器已经不照顾这个),我可能会发布一个简单的实现作为一个单独的NuGet包,可以保持客户池,但现在我主要关注的是抛光NEST的API为1.0稳定/完全记录.

更新2014年

由于NEST 1.0群集故障转移和连接池内置于客户端:

var node = new Uri("http://mynode.example.com:8082/apiKey");
var connectionPool = new SniffingConnectionPool(new[] { node1, node2, node3 });
var config = new ConnectionConfiguration(connectionPool);
var client = new ElasticsearchClient(config);
Run Code Online (Sandbox Code Playgroud)

http://nest.azurewebsites.net/elasticsearch-net/cluster-failover.html

http://nest.azurewebsites.net/elasticsearch-net/connecting.html

http://nest.azurewebsites.net/nest/connecting.html

  • @Martin Laarman,您是否有时间处理上述客户端池包,如果没有,连接到ElasticSearch集群的首选方法是什么 - 只需选择一个随机节点? (2认同)