Thrift Encoding
Thrift エンコーディングは Apache Thrift のバイナリ直列化方式である。Binary、Compact、JSON など複数のプロトコルをサポートし、多言語 RPC に使われる。
目的
異なる言語環境にまたがる RPC 向けに、効率的でコンパクトなデータ直列化を提供する。
メカニズム
Binary プロトコルはフィールドの型 + ID + 値を順に書き出し、Compact プロトコルは整数とフィールド ID を Varint と ZigZag で圧縮する。スキーマ(IDL)は各言語のコードにコンパイルされる。
ユースケース
- Facebook 内部の RPC
- 多言語サービス間の通信
- データの永続化