Thrift Protocol
Thrift プロトコルは Apache Thrift の RPC ワイヤフォーマットである。Binary/Compact/JSON など複数のエンコーディングと、TBufferedTransport/TSocket などのトランスポートをサポートする。
目的
コンパクトで効率的なバイナリメッセージエンコーディングと、多言語 Thrift RPC 向けのトランスポート抽象を提供する。
メカニズム
TBinaryProtocol は型タグ + フィールド ID + 値を厳密なバイナリとして書き出す。TCompactProtocol は varint + zigzag で圧縮し、TJSONProtocol は JSON としてエンコードする。トランスポート層は socket/buffer/http をラップする。
ユースケース
- Facebook 内部の RPC
- 多言語サービス間の通信
- Hadoop のサービス間通信