【问题标题】:How to work with an ElasticSearch cluster and NEST?如何使用 ElasticSearch 集群和 NEST?
【发布时间】:2014-11-10 17:14:07
【问题描述】:

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

【问题讨论】:

    标签: elasticsearch nest


    【解决方案1】:

    不,选择。

    负载平衡基于每个应用程序不同的许多启发式方法。许多设置已经在 elasticsearch 集群前面设置了硬件/软件负载均衡器。

    在此之上,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

    【讨论】:

    • @Martin Laarman,您是否有时间研究提到的客户端池包,如果没有,连接到 ElasticSearch 集群的首选方式是什么 - 只需选择一个随机节点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多