Avro Compact Encoding
Avro 紧凑编码是 Avro 的二进制序列化方案,用类型标签 + 紧凑值编码,比 JSON Avro 小得多。
用途
在 Kafka 与 Hadoop 中提供高效 Avro 序列化,schema 不随每条记录传输(预注册)。
机制
record 按字段顺序编码:int/long 用 zigzag+varint,string 为 varint 长度+UTF-8,bytes 为 varint 长度+原始,union 用 union 索引+值,array/map 用 block 长度+元素。
用例
- Kafka Avro 消息
- Hadoop 数据文件
- 高效 RPC