Apache Thrift可以为单个服务器使用多个传输吗?

时间:2015-12-15 22:23:17

标签: thrift

我的服务器有很多轻量级方法和一个重量级方法。我似乎无法找到Apache Thrift支持服务器的多个传输的证据。我喜欢的是除重量级方法和重量级方法的TCP / IP(分布式)之外的所有共享内存。我可以把它分成两个服务器,但这种打破了封装的目标(我认为)。

1 个答案:

答案 0 :(得分:3)

如果你真的是指运输 - 而不是直接运输。可能的是将处理程序作为可以重复使用的单独实体,例如,使用不同的协议/传输堆栈。

听起来,在你的情况下,最好的解决方案确实是拥有两个不同协议/传输堆栈的服务器,两者都使用相同的处理程序代码,但实现不同的Thrift服务。

                              +----------------+
       +----- uses ---------> | LWService      | <-------+
       |                      +----------------+         |
       |                                             implements
       |                                                 |
+------+-----------+                               +-----+-----+
|                  |                               |           |
|                  |                               |           |
|  Client          |                               | Handler   |
|                  |                               |           |
|                  |                               |           |
|                  |                               |           |
|                  |                               |           |
|                  |                               +-----+-----+
+------+-----------+                                     |
       |                                              implements
       |                      +----------------+         |
       +---- uses ----------> | HeavyService   | <-------+
                              +----------------+