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