kafka(七):消息格式
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(七):消息格式相关推荐
- Kafka的消息格式
Commit Log Kafka储存消息的文件被它叫做log,按照Kafka文档的说法是: Each partition is an ordered, immutable sequence of me ...
- kafka之消息格式
kafka之消息格式 - 爱码网文章目录Kafka版本消息格式V0版本V1版本Message SetV0与V1的缺陷V2版本Kafka版本kafka版本1.1.1,可能绝大部分也适用于kafka 0. ...
- Kafka:消息格式的选择 Avro JSON XML String JavaBean
使用Kafka是应该用怎样的消息格式才是最优? 决定我们使用何种消息格式考虑的因素有两种,一个是方便,一个效率. 就方便来说其实就是数据的转换(或者Mapping),效率包括时间和空间两个维度,当然能 ...
- 整理CDC捕获消息后发送到kafka各类消息格式
一.mysql-ogg 资料 delete {"table":"TABLE","op_type":"D","o ...
- 一文看懂Kafka消息格式的演变
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- Apache Kafka消息格式的演变(0.7.x~0.10.x)
用 Kafka 这么久,从来都没去了解 Kafka 消息的格式.今天特意去网上搜索了以下,发现这方面的资料真少,很多资料都是官方文档的翻译:而且 Kafka 消息支持压缩,对于压缩消息的格式的介绍更少 ...
- Kafka消息格式中的变长字段(Varints)
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- Kafka消息格式的选择
使用Kafka是应该用怎样的消息格式才是最优? 决定我们使用何种消息格式考虑的因素有两种,一个是方便,一个效率.就方便来说其实就是数据的转换(或者Mapping),效率包括时间和空间两个维度,当然能压 ...
- kafka 消息格式设计实现
目前kafka消息格式有三个版本(假定v0,v1,v2),0.10.0之前使用的是v0版本,之后慢慢演变出v1,v2,后两个版本在设计方式上没有什么特别大的区别,只是做了些空间上的优化,同样的消息,新 ...
最新文章
- 拿什么留住你,我的程序员
- 一个普通80后的IT Pro去溜冰的感慨
- 进程,线程与信息共享
- JCO连接SAP例子
- /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
- 红帽linux cd命令,redhat linux 文件操作
- java对象引用出错_“Java有值传递和引用传递”为什么错了?
- c语言编写程序求8,使用c语言编写程式,实现计算1*2*3+4*5*6+7*8*9+……+28*29*30的值...
- shell命令总结一
- noip模拟赛 都市
- rvest爬虫及案例分析
- JS:The Definitive Guide JavaScript 和 XML
- Java 基础 —— 注解
- ACL2021 | 知识对比:基于外部知识的图神经虚假新闻检测
- iOS开发UI篇—控制器的创建
- WIKI系统 ScrewTurn WIKI
- android----面试基础概括总结
- android蓝牙键盘输入法,手机外接蓝牙键盘,用什么输入法好?
- 重装Windows10后调节亮度无效,一直是最亮
- 【电子水尺】高精度测量、免布线、远程传输数据
热门文章
- Js(一)Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘uuid‘ imported
- 并发编程之多线程篇之三
- struts2 mysql配置文件路径_Struts2 配置文件
- 使用雅虎邮箱的几大收获
- java冰箱评测开题报告范文_冰箱冰箱门论文,关于为极致设计而倾心——海尔博观冰箱BCD-800WBCOU1体验相关参考文献资料-免费论文范文...
- 服务器的信号来源来自哪里,人类曾多次发现地外信号,到底来自哪里?
- 话说《蜗居》:从房奴到小三
- 闪客工具:HBuilder
- delphi的接口support_delphi中的Supports函数详解
- 厦门建设智慧城市 200多项惠民服务“一网打尽”