5

Elastic Search Transport Client を使用して Elastic Search に接続しています。私が試した2つのアプローチがあります

1) アプリケーション全体で共有されるシングルトン クライアント。応答時間は 1 ~ 2 秒です

2) Elastic Search への呼び出しごとに新しいクライアント インスタンスが生成され、応答に約 7 秒かかります。具体的には、ES クラスターに接続する必要がある 5 つのクラスがあり、このアプローチでは、各クラスに新しいトランスポート クライアントが作成されます。

通常、シングルトン db 接続オブジェクトを持つことは推奨されないため、1) はエラスティック検索に関して先に進むための良いアプローチですか?

リレーショナル データベース用の DBCP のように、Elastic Search で使用できる接続プーリング メカニズムはありますか?

4

2 に答える 2

2

クライアントはシングルトンである必要があります。ソース: http://elasticsearch-users.115913.n3.nabble.com/What-is-your-best-practice-to-access-a-cluster-by-a-Java-client-td4015311.html

于 2015-01-23T19:34:20.057 に答える
0

シングルトン クライアントである必要はありません (「シングルトン」とは、一度だけ初期化できるインスタンスを意味します)。クライアントのインスタンスの状態を保存して、アプリケーション モジュール間でパラメーターとして渡すことができます。このようにして、アプリケーションが 1 つのクライアント リソースのみを使用するように制限することはありません。

シングルトンが悪い理由についての良い参考文献も添付します

于 2015-01-23T20:54:18.273 に答える