Kafka分级存储概念(一)

Kafka分级存储及实现原理

概述

Kafka社区在3.6版本引入了一个十分重要的特性: 分级存储,本系列文章主要旨在介绍Kafka分级存储的设计理念、设计细节以及具体的代码实现

背景:为什么要有分级存储?

场景

作为一款具有高吞吐及高性能的消息中间件,Kafka被广泛应用在大数据、日志采集及业务消息领域. 在日常Kafka的运维过程中,往往会遇到以下一些场景:

1、某些消息需要保留特定时间,以便业务需要以及意外恢复场景,这会带来额外的磁盘占用

2、大部分场景下,消息都可以进行及时消费;业务高峰时,会存在一定的消息积压

3、随着业务的拓展,磁盘的容量需要进行扩容;但在业务有变动时,可能又不需要这么大的磁盘空间,需要进行缩容
问题

以上业务场景暴露了当前Kafka设计上的一些缺陷:缺乏弹性能力 .

1、对于业务消息来说,大部分消息其实属于"热"消息,也就是所谓的可以被及时消费的消息,而部分"冷"消息则需要等待一定老化时间之后才能够从磁盘上清除;

2、对于磁盘扩容场景,对于增加磁盘容量,运维人员可以通过操作系统LVM实现,对磁盘缩容而言则往往没有这么容易,可能需要额外的业务方案实现

3、对于Kafka的横向扩容来说,新增加的节点上并不会有原有节点上的分区,运维人员往往需要1)增加分区个数 2) 进行分区平衡(reassign)进行分区均衡;而分区平衡则会产生Broker之间的副本同步,抢占节点之间的带宽,往往建议在业务低峰时期进行

思考

所以有没有一种办法,可以将冷热数据分离开来,同时尽量减少在集群扩缩容过程中的数据迁移呢?答案就是分级存储

分级存储是什么

一句话来说,Kafka分级存储就是将"热"数据存储在访问速度快的本地磁盘(ESSD/SSD),将"冷"数据放在远端(如aws s3), 这样做带来的好处是:

1、对于大部分场景下,正常的生产、消费速率不受影响

2、数据存储在相对成本较低的远端存储上,节约了成本

3、不用关心磁盘大小,冷数据会被自动卸载到远端,本地磁盘使用量有固定上限

4、集群横向拓展时,只需要迁移少量热数据

5、磁盘使用可以弹性伸缩,因为往往远端存储是按量付费的,可以实现存储Serverless化

冷数据真的"冷"吗?

前面提到,我们希望将"冷"数据上传到远端,那么我们如何定义"冷"数据呢,又有什么必要存储这些数据呢,以下是几个场景:

  1. 新消费应用加入
  2. 应用重启
  3. 应用处理时出现异常,可能需要从头开始消费
  4. 全量数据处理
  5. 查询/分析
  6. 故障恢复
  7. ...

    TIPS:其实对于Kafka来说,大部分使用场景下都是实时的生产与消费,而且可以充分利用到操作系统页缓存来提高性能,在有大量消息积压场景下,存在的页缓存不命中而冷读磁盘的场景会导致Kafka的性能下降,同时容易产生磁盘IOPS等现象,不利于集群的性能,因此日常的使用中,在非业务高峰时,需要尽量避免产生大量消息积压

小结

本篇文章主要讲述了Kafka分级存储的背景及其解决的业务问题,后续将会继续围绕分级存储具体设计与实现分析其具体实现逻辑和细节供大家参考讨论

相关推荐
月落归舟3 小时前
从单机到分布式:互联网系统架构演进全流程
分布式·系统架构
搬砖柯5 小时前
系列12-接口压测怎么做成平台能力?自研 httpx 引擎、分布式 Worker 与 Locust 选型对照
分布式·测试工具·性能优化·开源·自动化·httpx
折哥的程序人生 · 物流技术专研5 小时前
Java面试通关⑭:分布式理论与架构全集
分布式·微服务·校招·分布式事务·cap·java面试·最终一致性
Kyrie_Li15 小时前
Spring Boot Kafka 生产级配置全解析:从入门到精通
spring boot·后端·kafka
格子软件16 小时前
2026年GEO贴牌代理:分布式多级分账状态机源码深度解构
java·vue.js·分布式·vue·geo
Evand J1 天前
【论文复现】MATLAB例程,存在测距误差的WSN无锚点分布式自定位,《WSN中存在测距误差的无锚点分布式自定位方法》
开发语言·分布式·matlab·定位·导航·wsn
格子软件1 天前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
2301_801184751 天前
kafka-zookeeper
分布式·zookeeper·kafka
Devin~Y1 天前
抖音级短视频推荐与直播带货平台面试实战:从 Java 微服务到 RAG 智能客服全链路解析
java·spring boot·redis·spring cloud·kafka·agent·rag
大明者省1 天前
四大模态大模型训练体系全解析(架构+范式+分布式+算力成本·)
笔记·分布式·架构