行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。

关于elasticsearch Client 问题!

Elasticsearch | 作者 zx87806317 | 发布于2017年04月13日 | 阅读数:6564

在短时而且巨量的请求中,client就不能每次都close,因为服务器那边不能立马对close的连接进行销毁,这样一段时间内服务器那边就会达到最大连接数,继而发生错误。
 
在上面成立的情况下,就得考虑一个连接多次使用,但是服务器那边会对没有操作的连接进行超时判定,过50s就会被杀死,但如果一直在操作,就算过了50s也不会被杀死,那么问题来了,我们如何来判断什么时候连接可用?怎么区分连接的可用,正忙,已销毁,已关闭,等状态?如果有了这些状态我们是不是可以自己写连接池了?还说已经有产品了?或者说有什么更好的办法?
 
现在遇到的问题自己写了个连接池,过十分就关闭销毁,但是有时候没等我这边超时呢,服务器那边先把连接杀死了,我这边还拿出去用,duong,就出错了,或者这个连接刚分出去,就发现这个连接到了十分钟了,该杀死了,于是我就关闭了,完事程序用那个连接做事做到一半就duong,出错了,我现在需要连接状态呀,我该怎么办?
已邀请:

medcl - 今晚打老虎。

赞同来自:

第一句提到的,client 为什么不能每次都 close 呢?
还有你用的什么协议访问的 es 啊?

hanbj

赞同来自:

es的TransportClient和RestClient都可以保持长连接呀,而且是线程安全的,哪里有50s就会被杀死的情况?

要回复问题请先登录注册