2016-09-22 51 views
1

我有一个现有的java thrift服务器,服务于外部应用程序使用的TCompactProtocol上的api。我需要为相同的服务添加TJsonProtocol支持来为JS客户端提供服务。服务于TCompactProtocol和TJsonProtocol的单节点Java服务器

据我所知,我可以在基础协议上使用包装器TMultiplexedProtocol进行节俭复用。但是这首先需要改变客户端代码来使用查找,并且我还没有看到对Thrift JS库中TMultiplexedProtocol的大量支持。

在网上和文档的例子中,我只看到了使用相同的协议和传输的多重服务的复用。难以支持多种协议吗?

回答

1

在网上和文档的例子中,我只看到使用相同协议和传输的多重服务的thirft多路复用。难以支持多种协议吗?

确切地说,或在你的情况:不幸的是。 TMultiplexProtocol旨在共享多个服务之间的一个物理端点。这意味着,所有服务都需要使用相同的协议/传输栈。

如果您有不同的要求,例如并行使用紧凑和JSON原型库,则需要两个不同的物理端点(套接字,管道,URL等)。