Skip to content
uencoder

Avro Protocol

The Avro protocol is Avro's handshake and message encoding scheme for RPC, in which the sender and receiver negotiate types through a named protocol schema.

Purpose

It defines message types and a handshake protocol for Avro RPC so that both ends can communicate without pre-registering schemas.

Mechanism

The handshake phase exchanges the protocol hash and the corresponding schema, caching schemas already seen. Messages use Avro binary encoding; requests, responses, and errors are encoded per the message definitions in the protocol schema.

Use cases

  • Hadoop RPC
  • Kafka Avro messages
  • Cross-language Avro RPC

Related tools

References