Apache Thrift
Apache Thrift は Facebook 発の多言語 RPC・直列化フレームワークである。.thrift IDL でサービスとデータ構造を定義し、多数の言語向けのコードにコンパイルする。
目的
異種言語にまたがる効率的な RPC とバイナリ直列化を提供し、トランスポート層とプロトコル層の両方を抽象化する。
メカニズム
.thrift IDL が struct/enum/service/exception を定義し、言語ごとのクライアントとサーバのスタブにコンパイルされる。バイナリプロトコルは型タグ、フィールド ID、値でコンパクトにエンコードし、トランスポートは socket/buffered/http を抽象化する。
ユースケース
- 多言語間の RPC
- マイクロサービス間の通信
- Facebook 内部のインフラ