Apache Thrift
Apache Thrift is Facebook's cross-language RPC and serialization framework; it defines services and data structures in a .thrift IDL and compiles them into code for many languages.
Purpose
To provide efficient RPC and binary serialization across heterogeneous languages, with abstractions for both transport and protocol layers.
Mechanism
A .thrift IDL defines struct/enum/service/exception, compiled into client and server stubs per language. The binary protocol encodes compactly with type tags, field ids, and values; transports abstract socket/buffered/http.
Use cases
- Cross-language RPC
- Microservice communication
- Facebook internal infrastructure