【Kafka(一)】日志格式

任务数据想要持久化或者进行网络传输,都需要进行序列化。序列化方式可以分两种:字节流或者字符流。

字节流:机器友好,传输效率更高,占用更小的空间,如果追求性能,优先考虑。常见的比如mysql、kafka等,都使用的字节流协议;

字符流:人类友好,可读性更好,拿到消息体后便可解析消息内容。但是效率较低,毕竟一个字符至少占用一个字节。常见的比如http协议就是字符流协议;

下面看下kafka的消息格式或者协议。

kafka消息格式经过了几个版本。

消息以消息集的形式存在。消息集内的每一条消息由offset、size以及record组成。

如果消息设置了压缩,则被压缩的多条消息内嵌为一条消息的record,offset为多条消息的最大值。

另外为了提升存储效率,kafka借鉴了protobuff的varint以及zigzag编码格式。

最新版的消息格式:

 

(注:图片均来自掘金小册

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>