如何使用ElasticSearch集群和NEST?

时间:2013-02-19 16:39:23

标签: elasticsearch nest

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

1 个答案:

答案 0 :(得分: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);

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

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

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