[
https://issues.apache.org/jira/browse/THRIFT-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14394367#comment-14394367
]
James E. King, III commented on THRIFT-1915:
--------------------------------------------
Let's say I have a server running TBinaryProtocol, and I want to plan an
upgrade to simplify the maintainability of the server by breaking up a massive
service into multiplexed services. Further, I must require clients to be
upgraded first, so I need the client to be able to talk to the old
TBinaryProtocol when connecting to an old server as well as a new
TMultiplexedProtocol (which is essentially a break-out of the services by
functional area provided on the older interface). Do I need to allocate a new
port number on the new server for the multiplexed protocol implementation and
then have the client "try to connect to both, new then if that fails old"? I'd
prefer to have this all work on the same port number if possible but I don't
see how.
Flip it around and say I want to upgrade the server to allow connections from
old or new clients. Would there be a way to have the TMultiplexedProtocol
implementation on the server recognize that the client is sending a
TBinaryProtocol and forward the request to a default or fallback service? Both
the old and new services would share the same common implementation code, just
two different ways to get to it.
> Multiplexing Services
> ---------------------
>
> Key: THRIFT-1915
> URL: https://issues.apache.org/jira/browse/THRIFT-1915
> Project: Thrift
> Issue Type: Improvement
> Affects Versions: 1.0
> Reporter: Roger Meier
>
> This is the parent Topic for the 1.0 release to introduce *Multiplex
> Services* with Apache Thrift.
> We need sub tasks here to manage language support, test suite, documentation
> & co.
> e.g. integrate Multiplex Services into cross language test suite THRIFT-847
> via test/test.sh
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)