二、kafka怎样回溯
kafka支持两种方式回溯,即基于消息偏移量回溯和基于时间点的消息回溯。
1、基于消息偏移量回溯
消息偏移量即是offset值,在kafka的每个分区中,每条消息都有一个唯一的offset值 ,用来表示消息在partition分区中的位置。生产者在发送消息时会将消息写入指定的分区,并为该消息分配一个唯一的offset值,这个offset值会随着消息一起被写入Kafka的日志文件中,以便后续可以根据offset值来定位和检索消息。
消费者每次消费了消息,都会把消费的此条消息的offset提交到broker(消息节点),用于记录消费到分区中的位置,下条消息从这个位置之后开始消费。所以基于消息偏移量回溯很简单,只需要重置offset,然后消费者会从该offset之后开始消费。
2、基于时间点的消息回溯
实现步骤:
- 时间戳记录:每个消息在发送时都会被赋予一个唯一的时间戳,用于标识消息的顺序和时间点。
- 消息索引:消息系统会维护一个消息索引,用于存储和管理所有发送的消息。索引中包含了每个消息的时间戳和其他相关信息。
- 查询接口:基于时间点的消息回溯需要提供一个查询接口,允许用户根据时间点来查找消息。用户可以通过指定一个时间范围或者具体的时间点来进行查询。
- 二分查找:当用户发起查询请求时,消息系统会使用二分查找算法在消息索引中进行查找。通过比较查询时间点和索引中的时间戳,可以确定查询时间点在索引中的位置。
- 消息回溯:一旦找到了查询时间点在索引中的位置,系统就可以根据索引中存储的消息信息,将相应的消息返回给用户。用户可以根据需要选择回溯到指定的时间点,以查看历史消息。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
获取)**
[外链图片转存中…(img-6G57Rx6M-1712849587380)]