Allow binding more than one Thrift service at the same path
See original GitHub issueA user wants to write a Thrift proxy server that forwards the requests to their corresponding remote Thrift services where each Thrfit service has different IDLs, e.g.
service FooService {
    string foo()
}
service BarService {
    string bar()
}
If a client calls foo() then FooService would be invoked. bar() then BarService.
Currently, a user has to use TMultiplexed protocol and specify a service name explicitly.
Once this feature is implemented, a proxy Thrift server could provide a union/merged view of multiple Thrift services without using TMultiplexed protocol, allowing a user to split/merge their services without affecting the public API.
Issue Analytics
- State:
 - Created 4 years ago
 - Reactions:4
 - Comments:11 (5 by maintainers)
 
Top Results From Across the Web
multiple Thrift services on one transport - rpc - Stack Overflow
Correct. As I understand it, only the second service would be generated by thrift, and this is what would be bound when starting...
Read more >Solved: unable to connect thrift server using beeline - 280562
Solved: when am connecting to thrift server using beeline it's showing below error ... SLF4J: Class path contains multiple SLF4J bindings.
Read more >Chapter 1. Introduction to Apache Thrift - Programmer's Guide ...
We'll look at why Apache Thrift was created and how it helps programmers build high-performance, cross-language services. To begin, we'll consider the growing ......
Read more >Apache Thrift - Home
This file is an interface definition made up of thrift types and Services. ... Apache Thrift allows you to define data types and...
Read more >Troubleshooting / common issues - Pants build
Pants runs most processes in a hermetic sandbox (temporary directory), which allows for safely caching and running multiple processes in parallel.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

@sivaalli That’s a good question. I think we can add such an option later if requested by users. Meanwhile, let’s stick to the current behavior - using the same default/available serialization formats.
@sivaalli Thanks for looking into this issue first of all.
Yes, we should look for a function in the order as specified when building a THttpService.
Also, if FooService and BarService both have foo(), the FooService, which was specified first, will be chosen.
Please also keep in mind that we also need to support TMultiplexed, which is supported via of(Map) factory method. Let me know if you are not familiar with TMultiplexed - I can elaborate on it.