2016-09-22 52 views
1

我有一個現有的java thrift服務器,服務於外部應用程序使用的TCompactProtocol上的api。我需要爲相同的服務添加TJsonProtocol支持來爲JS客戶端提供服務。服務於TCompactProtocol和TJsonProtocol的單節點Java服務器

據我所知,我可以在基礎協議上使用包裝器TMultiplexedProtocol進行節儉複用。但是這首先需要改變客戶端代碼來使用查找,並且我還沒有看到對Thrift JS庫中TMultiplexedProtocol的大量支持。

在網上和文檔的例子中,我只看到了使用相同的協議和傳輸的多重服務的複用。難以支持多種協議嗎?

回答

1

在網上和文檔的例子中,我只看到使用相同協議和傳輸的多重服務的thirft多路複用。難以支持多種協議嗎?

確切地說,或在你的情況:不幸的是。 TMultiplexProtocol旨在共享多個服務之間的一個物理端點。這意味着,所有服務都需要使用相同的協議/傳輸棧。

如果您有不同的要求,例如並行使用緊湊和JSON原型庫,則需要兩個不同的物理端點(套接字,管道,URL等)。