我有一个现有的java thrift服务器,它服务于外部应用程序使用的TCompactProtocol上的api。我需要为同样的服务添加TJsonProtocol支持来为JS客户端提供服务。
我知道我可以在底层协议上使用包装TMultiplexedProtocol的thrift多路复用。但这首先需要更改客户端代码才能使用查找,而且我还没有在thrift JS库中看到对TMultiplexedProtocol的大量支持。
在网上和文档的例子中,我只看到使用相同的协议和传输与多个服务进行多路复用。是不是可以支持多种协议?
答案 0 :(得分:1)
在网上和文档的例子中,我只看到使用相同的协议和传输与多个服务进行多路复用。是不是可以支持多种协议?
确实,或者在你的情况下:不幸的是。 TMultiplexProtocol
旨在在多个服务之间共享一个物理端点。这意味着所有服务都需要使用相同的协议/传输堆栈。
如果你有不同的要求,比如并行使用compact和JSON protodols,你需要两个不同的物理端点(套接字,管道,URL等)。