コンテンツへスキップ
uencoder

Apache Thrift

Apache Thrift は Facebook 発の多言語 RPC・直列化フレームワークである。.thrift IDL でサービスとデータ構造を定義し、多数の言語向けのコードにコンパイルする。

目的

異種言語にまたがる効率的な RPC とバイナリ直列化を提供し、トランスポート層とプロトコル層の両方を抽象化する。

メカニズム

.thrift IDL が struct/enum/service/exception を定義し、言語ごとのクライアントとサーバのスタブにコンパイルされる。バイナリプロトコルは型タグ、フィールド ID、値でコンパクトにエンコードし、トランスポートは socket/buffered/http を抽象化する。

ユースケース

  • 多言語間の RPC
  • マイクロサービス間の通信
  • Facebook 内部のインフラ

関連ツール

References