谈谈你对Kafka数据存储原理的理解

谈谈你对Kafka数据存储原理的理解

作者:Tom弹架构 2022-08-14 07:14:50

云计算

Kafka 今天,我给大家来聊一聊我对Kafka零拷贝原理的理解。

一位5年工作经验的小伙伴面试的时候被问到这样一个问题,说”谈谈你对Kafka数据存储原理的理解“。然后,这位小伙伴突然愣住了,什么是零拷贝,零拷贝跟Kafka有关系吗?

那么今天,我给大家来聊一聊我对Kafka零拷贝原理的理解。

1、Topic主题

在Kafka中,这个用 来存储消息的队列叫做Topic,它是一个逻辑的概念,可以理解为一组消息的集合。

生产者和Topic以及Topic和消费者的关系都是多对多。一个生产者可以发送消息到多个Topic,一个消费者也可以从多个Topic获取消息(但是不建议这么做)。

生产者发送消息时,如果Topic不存在,Kafka默认会自动创建。

2、Partition分区

首先,Kafka为了实现横向扩展,它会把不同的数据存放在不同的Broker上,同时为了降低单台服务器的访问压力,把一个Topic中的数据分隔成多个Partition。在服务器上,每个Partition都有一个物理目录,Topic名字后面的数字标号即代表分区。比如创建一个名为mytopic的主题,数据目录被分布到了3台机器。

如图所示:

mytopic-0存在A节点,mytopic-1存在B节点,mytopic-2存在C节点。

3、Replica副本

另外,Kafa为了提高分区的可靠性,又设计了副本机制。我们创建Topic的时候,通过指定replication-factor副本因子,来确定Topic的副本数。当然,副本因子数必须小于等于节点数,否则会报错。这样就可以保证,绝对不会有一个分区的两个副本分布在同一个节点上,不然副本机制也失去了备份的意义了。

如图所示,创建了一个3个分区3个副本的Topic a3part3rep,被均匀分布到了3个Broker节点上,每个Broker节点互为备份。

这些所有的副本分为两种角色,Leader对外提供读写服务。Follower唯一的任务就是从Leader异步拉取数据,图中红色的副本为Leade,也被均匀分布在各个节点上,可以保证读写均匀,这样的设计也称为单调读一致性。

​4、Segment分段

Kakfa为了防止Log不断追加导致文件过大,导致检索消息效率变低,一个Partition超出一定大小的时候,就被切割为多个Segment来组织数据。在磁盘上,每个Segment由一个log文件和2个index文件组成。

如图所示,这三个文件是成套出现的。其中.index是用来存储Consumer的Offset偏移量的索引文件,.timeindex是用来存储消息时间戳的索引文件,log文件就是用来存储具体的数据文件。

以切割时记录的Offset值作为文件的名字。它的文件结构是这样的,如图所示:

​5、Index索引

前面我们讲到Kafka设计了两种索引,一种是偏移量索引文件,记录的是Offset和消息在Log文件中的位置映射关系。一种是时间戳索引文件,记录的是时间戳和Offset的关系。为了提高检索效率Kafka并不会为每一条消息都会建立索引,而是采用稀疏索引。也就是说隔一批消息才产生一条索引记录。如图所示:

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/286575.html<

(0)
管理的头像管理
上一篇2025-05-15 10:19
下一篇 2025-05-15 10:20

相关推荐

  • 骨干网络体系结构能干什么?骨干网络体系结构的作用

    骨干网络体系结构是现代信息社会的“超级高速公路网”,它通过分层设计、冗余备份和智能调度,确保海量数据在全球范围内高速、稳定、安全地传输,是支撑云计算、物联网及人工智能应用的底层基石,想象一下,如果你把互联网比作一个巨大的城市交通系统,那么骨干网络就是连接各个城市的主干道和立交桥,没有它,你的每一次微信发送、每一……

    2026-06-18
    0
  • 高io数据库可以干什么用?高io数据库适合什么场景

    高IO数据库的核心价值在于通过极高的读写吞吐量,解决海量数据场景下的性能瓶颈,是支撑高并发交易、实时分析及大规模内容分发的关键基础设施,在数字化转型的深水区,数据不再仅仅是静态的记录,而是流动的资产,传统的机械硬盘或普通SSD早已无法满足现代应用对速度的极致追求,高IO(Input/Output)数据库,就是那……

    2026-06-18
    0
  • 高io服务器性能如何?高io服务器适合什么场景

    高IO服务器并非单纯指代某种硬件,而是指在随机读写、高并发连接及小文件处理场景下,具备极致IOPS(每秒输入输出操作次数)和低延迟特性的计算资源,它是支撑现代高并发应用稳定运行的核心基石,在2026年的数字化浪潮中,业务负载早已从简单的静态页面展示演变为复杂的实时数据处理,许多开发者在排查系统瓶颈时,往往忽略了……

    2026-06-18
    0
  • 隔离网络空间哪里便宜?国内隔离网络空间价格

    隔离网络空间并没有统一的“便宜”标准,其成本高度取决于物理隔离等级、带宽需求及安全合规要求,通常物理网闸方案初期投入较高但长期运维成本低,而逻辑隔离方案虽初期便宜但存在潜在安全风险,建议根据业务敏感度选择混合隔离架构以平衡成本与安全,在数字化时代,企业构建独立网络环境的需求日益增长,但“隔离网络空间哪里便宜”这……

    2026-06-18
    0
  • 骨干网络体系结构设备为何故障?常见原因有哪些

    骨干网络体系结构设备故障的核心原因通常归结为硬件老化、配置错误、物理链路中断及外部攻击四大类,其中电源模块失效与光模块性能衰减是占比最高的隐性故障源,骨干网作为数字经济的“大动脉”,其稳定性直接关乎国计民生,当核心路由器或交换机出现丢包、震荡甚至宕机时,运维人员往往面临巨大的压力,很多人第一反应是检查软件配置……

    2026-06-18
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注