弹性搜索传输客户端。 Singleton vs每个呼叫与连接池的一个新实例(如果有)

时间:2015-01-23 18:21:05

标签: elasticsearch java-api dbconnection

我使用弹性搜索传输客户端连接到弹性搜索。我尝试过两种方法

1)Singleton客户端在我的整个应用程序中共享。响应时间在1-2s之间

2)每次调用Elastic Search的新客户端实例大约需要7秒才能响应。具体而言,有5个类需要连接ES群集,此方法为每个类创建一个新的传输客户端。

是1)在弹性搜索方面是一个很好的方法,因为通常不建议使用单例数据库连接对象吗?

是否有可用于Elastic Search的连接池机制,就像我们有关系数据库的DBCP一样?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

它不一定是单例客户端(“单例”是指一个只能初始化一次的实例)。 您可以保存客户端实例的状态,并将其作为应用程序模块之间的参数传递。这样您就不会将应用程序限制为仅使用一个客户端资源。

我还附上了关于why singeltons are bad

的好参考资料