1.kafka消息格式:

(1)一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成
 (2)header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常,是否丢包,数据不一样CRC32算出来的数字也是不一样的)构成。
        当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性
(3)body是由N个字节构成的一个消息体,包含了具体的key/value消息

备注:Kafka 0.10.0之前版本的格式

2.kafka Log消息格式(如下图)

(1)存储在磁盘的日志采用不同于Producer发送的消息格式,
        (2)每个日志文件都是一个“log entries”序列
            (a)每一个log entry包含一个四字节整型数(message长度,值为1+4+N)
            (b)一个字节的magic
            (c)四个字节的CRC32值
            (d)最终是N个字节的消息数据。每条消息都有一个当前Partition下唯一的64位offset
        (3)其实这个log entries也不是一个文件,是一个index(索引文件)和一个log日志文件

3.参考

1.https://blog.csdn.net/u013256816/article/details/80300225

kafka(七):消息格式相关推荐

  1. Kafka的消息格式

    Commit Log Kafka储存消息的文件被它叫做log,按照Kafka文档的说法是: Each partition is an ordered, immutable sequence of me ...

  2. kafka之消息格式

    kafka之消息格式 - 爱码网文章目录Kafka版本消息格式V0版本V1版本Message SetV0与V1的缺陷V2版本Kafka版本kafka版本1.1.1,可能绝大部分也适用于kafka 0. ...

  3. Kafka:消息格式的选择 Avro JSON XML String JavaBean

    使用Kafka是应该用怎样的消息格式才是最优? 决定我们使用何种消息格式考虑的因素有两种,一个是方便,一个效率. 就方便来说其实就是数据的转换(或者Mapping),效率包括时间和空间两个维度,当然能 ...

  4. 整理CDC捕获消息后发送到kafka各类消息格式

    一.mysql-ogg 资料 delete {"table":"TABLE","op_type":"D","o ...

  5. 一文看懂Kafka消息格式的演变

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  6. Apache Kafka消息格式的演变(0.7.x~0.10.x)

    用 Kafka 这么久,从来都没去了解 Kafka 消息的格式.今天特意去网上搜索了以下,发现这方面的资料真少,很多资料都是官方文档的翻译:而且 Kafka 消息支持压缩,对于压缩消息的格式的介绍更少 ...

  7. Kafka消息格式中的变长字段(Varints)

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. Kafka消息格式的选择

    使用Kafka是应该用怎样的消息格式才是最优? 决定我们使用何种消息格式考虑的因素有两种,一个是方便,一个效率.就方便来说其实就是数据的转换(或者Mapping),效率包括时间和空间两个维度,当然能压 ...

  9. kafka 消息格式设计实现

    目前kafka消息格式有三个版本(假定v0,v1,v2),0.10.0之前使用的是v0版本,之后慢慢演变出v1,v2,后两个版本在设计方式上没有什么特别大的区别,只是做了些空间上的优化,同样的消息,新 ...

最新文章

  1. 拿什么留住你,我的程序员
  2. 一个普通80后的IT Pro去溜冰的感慨
  3. 进程,线程与信息共享
  4. JCO连接SAP例子
  5. /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
  6. 红帽linux cd命令,redhat linux 文件操作
  7. java对象引用出错_“Java有值传递和引用传递”为什么错了?
  8. c语言编写程序求8,使用c语言编写程式,实现计算1*2*3+4*5*6+7*8*9+……+28*29*30的值...
  9. shell命令总结一
  10. noip模拟赛 都市
  11. rvest爬虫及案例分析
  12. JS:The Definitive Guide JavaScript 和 XML
  13. Java 基础 —— 注解
  14. ACL2021 | 知识对比:基于外部知识的图神经虚假新闻检测
  15. iOS开发UI篇—控制器的创建
  16. WIKI系统 ScrewTurn WIKI
  17. android----面试基础概括总结
  18. android蓝牙键盘输入法,手机外接蓝牙键盘,用什么输入法好?
  19. 重装Windows10后调节亮度无效,一直是最亮
  20. 【电子水尺】高精度测量、免布线、远程传输数据

热门文章

  1. Js(一)Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘uuid‘ imported
  2. 并发编程之多线程篇之三
  3. struts2 mysql配置文件路径_Struts2 配置文件
  4. 使用雅虎邮箱的几大收获
  5. java冰箱评测开题报告范文_冰箱冰箱门论文,关于为极致设计而倾心——海尔博观冰箱BCD-800WBCOU1体验相关参考文献资料-免费论文范文...
  6. 服务器的信号来源来自哪里,人类曾多次发现地外信号,到底来自哪里?
  7. 话说《蜗居》:从房奴到小三
  8. 闪客工具:HBuilder
  9. delphi的接口support_delphi中的Supports函数详解
  10. 厦门建设智慧城市 200多项惠民服务“一网打尽”