Kafka之Offset管理标记和寻址、消费模式、参数调优

本文详细介绍了Kafka中Offset的标记和寻址方式,通过实例解析了如何根据全局offset找到具体消息。同时,讨论了Kafka的三种消费模式:at most once、at least once和exactly once,并简要提到了参数调优的重要性。
摘要由CSDN通过智能技术生成

1、Offset如何标记数据

每个分区的offset都是从1开始标记的
每个分区将数据切分成segment(段),每个段由log和index两份文件组成
假设一个Topic的数据,有三个分区,存了4500条数据:
ruozedata-0 1开始标记…
ruozedata-1 1开始标记…
ruozedata-2 1开始标记…

命名规则:
第一组0开头,存了1000条:
00000000000000000000.index
00000000000000000000.log
第二组,由上一组的最后一条消息的offset来命名,存了2500条:
00000000000000001000.index
00000000000000001000.log
第三组,由第二组的最后一条消息的offset来命名,存了1000条:
00000000000000003500.index
00000000000000003500.log

绝对offset:是关于分区的全局id,比如ruozedata-0分区(3个log文件 全局的id)
相对offset::存储在index文件里,对应其log文件的消息的id,格式是:相对offset-id,对应log的pos位置
index存储:是稀疏存储的, log文件里的每条信息不会都有一个index的,而是挑选的部分index。

举例,假设mysql一张表维护的offset信息:
对于上面提到的概念,结合这个表,就一目了然。

mysql表
globalid  sid message
1         1   
2         2
3         3
4         4
...
1000      1000
------------------
1001       1
1002       2
1003       3
...
1010       10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值