コンテンツへスキップ
uencoder

Thrift Encoding

Thrift エンコーディングは Apache Thrift のバイナリ直列化方式である。Binary、Compact、JSON など複数のプロトコルをサポートし、多言語 RPC に使われる。

目的

異なる言語環境にまたがる RPC 向けに、効率的でコンパクトなデータ直列化を提供する。

メカニズム

Binary プロトコルはフィールドの型 + ID + 値を順に書き出し、Compact プロトコルは整数とフィールド ID を Varint と ZigZag で圧縮する。スキーマ(IDL)は各言語のコードにコンパイルされる。

ユースケース

  • Facebook 内部の RPC
  • 多言語サービス間の通信
  • データの永続化

関連ツール

References