[ 
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)

Reply via email to