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