Apache Thrift
Cross-language service definitions
What it does
Thrift defines services in an interface description language, generates code for multiple languages, and offers transport and protocol choices.
When to use it
For services written in different languages, study IDL examples to see how types, methods, and exceptions map to each endpoint.