4

NEST API、そしてもちろん ElasticSearch がとても気に入っています。魅力の大部分は、クラスターを非常に簡単にスケールアウトできることです。1 つのマスターと 2 つの読み取りスレーブで構成される 3 つのノードがあります。NEST クライアントは、クラスター全体で負荷分散とフェイルオーバーをサポートしていますか?

4

1 に答える 1

5

いいえ、選択によります。

ロードバランシングは、アプリケーションごとに異なる多くのヒューリスティックに基づいています。多くのセットアップでは、elasticsearchクラスターの前にすでにハードウェア/ソフトウェアロードバランサーがあります。

そのelasticsearchに加えて、すでに負荷分散が行われているため、クライアントが常に1つのノードにヒットした場合でも、クラスターは他のノードに検索を調整させることができます。

もちろん、フェイルオーバーはアプリケーションで処理する必要があるものです(ハードウェア/ロードバランサーがまだこれを処理していない場合)、クライアントのプールを保持できる別個の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

于 2013-02-20T09:16:04.387 に答える