kafka消息格式

1.当前kafka最新的消息格式版本为v2版本
这一版本的特点是RecordBatch的形式,其中包含了多条productRecord消息,每条消息的公共部分抽取到了Recordbatch的消息头部分中,并且所有整数都使用了可变字节长度编码,也就是数值越小,所占的位数就越少.所以这样一个Recordbatch的消息就可以节省很多存储空间
对于压缩的消息,v2版本其实是对RecordBatch里面的record列表进行整体压缩
2.对于kafka消息的流向:
生产者生产RecordBatch消息(顺带压缩,如果有必要的话)–>broker收到这个RecordBatch消息时几乎原样保存—>消费者消费RecordBatch消息,其中包含多条消息记录(顺带解压,如果有必要的话)
3.对于消息时间戳的理解:如果生产者生产时创建了带有时间戳的消息也就是自带了消息的创建时间,那么broker保存消息的时候就保存这个创建时间戳就可以了,如果生产者生产消息的时候没有设置时间戳,而broker的timestamp类型为logAppendTime,那么broker在保存消息到日志中时会把broker的当前时间戳填充上作为消息的时间戳.

4.kafka的消息中是可以带消息头部的,这个头部可以实现例如ttl之类的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值