如何在java中池化thrift客户端(或者至少重用tcp连接)

jon*_*rry 6 java thrift

java中是否有一个thrift的标准库,可以促进许多正在发出的rpc的tcp连接的重用。似乎 thrift 不支持单个连接上的管道请求(尽管如果我错了请纠正我),但是当一个 rpc 完成时能够重用 thrift tcp 连接似乎会非常有益。我怎样才能最轻松地实现这一目标?

Dan*_*iel 1

一般来说,您可以使用任何通用池来缓存 Thr​​ift 客户端。

对于 NodeJs,npm 上有一个基于 generic-pool 的 thirft-pool 项目。这非常好,除了它们池化连接而不是客户端,这意味着您每次都必须从连接创建一个新客户端。

对于java客户端,我使用我自己的对象池,你只需要提供一个thrift工厂。(https://github.com/DanielYWoo/fast-object-pool

我们还为 python 客户端使用通用池。