Avro Protocol
Avro プロトコルは RPC 向けのハンドシェイクとメッセージエンコーディング方式であり、送信者と受信者が名前付きプロトコルスキーマを通じて型をすり合わせる。
目的
Avro RPC のメッセージ型とハンドシェイク手順を定義し、両端がスキーマを事前登録せずに通信できるようにする。
メカニズム
ハンドシェイク段階でプロトコルのハッシュと対応するスキーマを交換し、一度見たスキーマをキャッシュする。メッセージは Avro バイナリエンコーディングを用い、リクエスト、レスポンス、エラーはプロトコルスキーマ内のメッセージ定義に従ってエンコードされる。
ユースケース
- Hadoop の RPC
- Kafka Avro メッセージ
- 言語をまたぐ Avro RPC