我正在使用弹性搜索传输客户端连接到弹性搜索。我尝试过两种方法
1) 在我的整个应用程序中共享的单例客户端。响应时间在 1-2s 之间
2) 每次调用 Elastic Search 的新客户端实例,大约需要 7 秒才能响应。具体来说,有 5 个类需要连接 ES 集群,这种方法为每个类创建一个新的传输客户端。
1)在弹性搜索方面是一种很好的方法,因为通常不建议使用单例数据库连接对象?
是否有任何可用于 Elastic Search 的连接池机制,例如我们有用于关系数据库的 DBCP?
我正在使用弹性搜索传输客户端连接到弹性搜索。我尝试过两种方法
1) 在我的整个应用程序中共享的单例客户端。响应时间在 1-2s 之间
2) 每次调用 Elastic Search 的新客户端实例,大约需要 7 秒才能响应。具体来说,有 5 个类需要连接 ES 集群,这种方法为每个类创建一个新的传输客户端。
1)在弹性搜索方面是一种很好的方法,因为通常不建议使用单例数据库连接对象?
是否有任何可用于 Elastic Search 的连接池机制,例如我们有用于关系数据库的 DBCP?
您的客户应该是单身人士。来源:http ://elasticsearch-users.115913.n3.nabble.com/What-is-your-best-practice-to-access-a-cluster-by-a-Java-client-td4015311.html
它不必是单例客户端(“单例”是指只能初始化一次的实例)。您可以保存客户端实例的状态并将其作为参数在应用程序模块之间传递。这样您就不会限制您的应用程序只使用一个客户端资源。
我还附上了一个很好的参考资料,说明为什么单身人士不好