小红书面试真题-Kafka持久化机制与ISR原理
小红书面试真题-Kafka持久化机制与ISR原理
一、Kafka 持久化机制核心原理(顺序写磁盘 + 分段存储)
1.1 顺序写磁盘:突破磁盘性能瓶颈的关键
Kafka 的持久化机制是其高吞吐、高可靠的核心,核心依赖 “顺序写磁盘” 和 “分段存储” 两大设计。这两个设计理念不仅简洁易懂,而且完美贴合小红书海量日志、异步消息等业务的高吞吐需求,面试时无需深入源码,讲清核心逻辑即可快速拉近与面试官的距离。
Kafka 的 Log 文件采用 “只能追加(Append Only)” 的顺序写方式,所有消息都按接收顺序追加到文件末尾,而非随机修改或插入。这种设计的核心逻辑在于:传统随机写需要磁盘磁头频繁寻道(物理机械动作,速度极慢),而顺序写时磁头几乎无需移动,数据持续灌入磁盘,同时充分利用操作系统的预读、写合并机制,最大化发挥磁盘性能。
结合小红书场景:小红书每天会产生数十亿条用户行为日志(点赞、浏览、评论)、系统运行日志,这些日志均为 “写多读少、顺序产生”,刚好匹配顺序写磁盘的设计,既能支撑 TB 级峰值吞吐量,又能降低磁盘损耗。
补充细节:消息写入时,会先写入操作系统 Page Cache(内存缓存),再通过 fsync 系统调用同步到物理磁盘,确保持久化不丢失,兼顾性能与可靠性。
1.1.1 顺序写磁盘架构图(贴合小红书日志场景)
产生日志(点赞/浏览/评论)
顺序追加写入
fsync同步
小红书业务系统
Kafka生产者
Page Cache(内存缓存)
物理磁盘Log文件
注:日志按接收顺序追加到文件末尾,无随机修改,利用操作系统预读/写合并优化性能
1.2 分段存储(LogSegment):海量数据的高效管理方案
为避免单个日志文件过大(如几十 GB、上百 GB),导致读写、清理、备份效率低下,Kafka 引入 “日志分段(LogSegment)” 机制,将一个分区的消息切分为多个小的日志段,实现精细化管理。
核心细节(面试重点):
-
分段触发条件:默认单个日志段大小 1GB(log.segment.bytes 配置),写满后自动创建新段(称为 log rolling);也可通过时间配置(默认 7 天)触发分段,便于日志清理。
-
每段核心文件(3 个一组):.log(存储实际消息,顺序写入)、.index(偏移量稀疏索引,快速定位消息位置)、.timeindex(时间戳索引,用于日志清理和消息回溯)。
-
核心优势:小文件便于快速查找、删除(比如清理 7 天前的冷数据),同时减少内存占用,提升读写效率。
结合小红书场景:小红书 Kafka 集群采用分层存储架构,热数据(近期 7 天内)存在高性能云盘,冷数据下沉至对象存储,分段存储机制让冷数据迁移、清理更高效,既降低 60% 存储成本,又不影响热数据读写性能。
1.2.1 分段存储(LogSegment)架构图
切分多个小日志段
Kafka单个分区(Partition)
LogSegment1
LogSegment2
LogSegmentN(写满自动滚动)
.log(存储实际消息,顺序写)
.index(偏移量稀疏索引)
.timeindex(时间戳索引)
.log
.index
.timeindex
注:默认1GB/段或7天触发分段,小文件便于清理/迁移,适配小红书冷热分层存储
1.3 零拷贝技术:极致性能的秘密武器
Kafka 通过零拷贝技术进一步提升了数据传输效率,这是其实现千万级吞吐量的核心技术之一。零拷贝技术的核心是避免数据在内核空间和用户空间之间的不必要拷贝,具体实现包括:
mmap 内存映射:用于索引文件的读取。Kafka 的.index 和.timeindex 文件使用 MappedByteBuffer 实现内存映射,将文件直接映射到用户态的内存地址空间。对这块内存的读写,操作系统会自动同步到磁盘文件,速度极快。这种方式特别适合索引文件的频繁随机读写(二分查找消息位置)场景。
sendfile 系统调用:用于数据文件的网络传输。通过 FileChannel.transferTo 方法实现零拷贝传输,直接将内核缓冲区的数据发送到网卡,无需经过用户空间。优化后的流程只需要 2 次 DMA 拷贝:磁盘→内核缓冲区(DMA 拷贝)、内核缓冲区→网卡(DMA 拷贝),避免了传统的 4 次拷贝流程。
1.3.1 零拷贝技术架构图(两种实现方式)
零拷贝-sendfile(数据传输)
DMA拷贝
DMA拷贝
磁盘.log数据文件
内核缓冲区
网卡(发送给消费者)
仅2次DMA拷贝,无用户空间参与,提升传输效率
零拷贝-mmap(索引读取)
内存映射
操作系统自动同步
磁盘.index/.timeindex文件
用户态内存(MappedByteBuffer)
无内核/用户空间拷贝,适配索引频繁随机读写
1.4 与传统数据库存储模型的本质差异
Kafka 的存储模型与传统数据库存在本质差异,这种差异决定了两者在不同场景下的适用性:
| 对比维度 | 传统关系型数据库 | Kafka |
|---|---|---|
| 存储模式 | B + 树索引,随机读写 | 顺序追加,只能写尾部 |
| 数据结构 | 结构化表数据 | 流式消息数据 |
| 索引机制 | 稠密索引,每条记录都有索引 | 稀疏索引,默认 4KB 一个索引点 |
| 事务支持 | 强事务 ACID | 无事务,仅支持分区内顺序 |
| 数据更新 | 支持增删改查 | 仅追加,不支持修改删除 |
| 性能特征 | 随机读写优化 | 顺序读写极致优化 |
| 适用场景 | 事务处理、复杂查询 | 高吞吐、低延迟、海量数据 |
Kafka 的设计哲学是 “压榨操作系统的每一滴性能,而不是试图在 JVM 层面重新造轮子”。这种设计使得 Kafka 在处理流式数据时具有极高的性能优势,但也意味着它不适合需要随机访问和事务处理的场景。
1.4.1 与传统数据库存储模型差异示意图(简化对比)
Kafka
稀疏索引(4KB一个索引点)
顺序追加写(仅写尾部)
流式消息数据
无事务,仅支持分区内顺序
高吞吐、低延迟,适配海量日志
传统关系型数据库
B+树索引
随机读写
结构化表数据
稠密索引(每条记录有索引)
支持增删改查+强事务ACID
核心差异:Kafka压榨操作系统性能,优化顺序读写;数据库优化随机读写与事务
二、ISR 机制:保证消息不丢失的核心(高可用 + 一致性)
Kafka 通过 ISR(In-Sync Replicas,同步副本集合)机制,结合前文的持久化设计,从 “副本同步”" 故障转移 "两个维度保证消息不丢失,完全适配小红书订单、支付、库存变更等关键业务的可靠性需求,面试时重点讲清"ISR 是什么、怎么工作、如何防丢失 "。
2.1 先明确 2 个基础概念(必讲,帮面试官快速理解)
-
LEO(Log End Offset):每个副本的 “最后一条消息的偏移量”,Leader 副本的 LEO 代表整个分区的最新写入位置。
-
HW(High Watermark):所有 ISR 副本中最小的 LEO,只有偏移量小于 HW 的消息,才是 “已提交” 的,才能被消费者读取(避免读取未同步完成的消息)。
2.2 ISR 机制核心定义
ISR 是 Kafka 为每个分区维护的 “同步副本集合”,包含 Leader 副本本身,以及所有与 Leader 保持 “足够同步” 的 Follower 副本。只有 ISR 中的副本,才有资格在 Leader 故障时,被选举为新的 Leader,确保数据完整。
同步条件(面试简洁说):
-
能持续与 Leader 保持心跳(默认 3 秒一次);
-
与 Leader 的消息同步延迟,不超过配置阈值(replica.lag.time.max.ms,默认 10 秒)。
2.2.1 ISR机制核心架构(含LEO、HW定义)

2.3 ISR 动态维护(体现 Kafka 的灵活性)
ISR 不是固定集合,会随副本同步状态动态变化,平衡可用性与一致性:
-
加入 ISR:Follower 副本恢复同步(心跳正常、延迟达标),自动加入 ISR,同步最新消息。
-
移出 ISR:Follower 副本网络故障、宕机,或同步延迟超过阈值,自动移出 ISR,待恢复后重新同步。
结合小红书场景:小红书 Kafka 集群所有 Topic 默认 3 副本配置,ISR 动态维护机制可避免因网络波动(如跨可用区部署)导致的副本频繁异常,确保集群稳定。
2.4 ISR 保证消息不丢失的完整流程(面试核心,必讲)
结合生产者配置、持久化机制,ISR 保证消息不丢失的流程可总结为 4 步,贴合小红书实际配置:
-
生产者发送消息,配置acks=all(小红书关键业务必配),表示需等待所有 ISR 副本都写入消息,才返回 “发送成功”。
-
消息先写入 Leader 副本的 Page Cache,再顺序写入 Leader 的.log 文件(持久化第一步)。
-
Follower 副本持续从 Leader 拉取消息,顺序写入自身的.log 文件,完成同步后向 Leader 反馈。
-
当所有 ISR 副本都完成消息写入,Leader 更新 HW(高水位),向生产者返回成功响应;此时即使 Leader 宕机,ISR 中的 Follower 副本(已同步所有消息)会被选举为新 Leader,消息不会丢失。
2.4.1 ISR动态维护与消息不丢失完整流程架构图
1.发送消息,acks=all
2.写入Page Cache → 持久化到自身.log
推送消息
推送消息
3.写入自身.log,反馈同步完成
3.写入自身.log,反馈同步完成
4.更新HW,返回“发送成功”
ISR动态维护
移出ISR
恢复同步/心跳正常
Follower同步延迟>10s/心跳中断
非ISR副本
重新加入ISR
小红书生产者
Leader副本
Leader.log文件
ISR中的Follower1
ISR中的Follower2
注:Leader宕机时,从ISR中选举新Leader,确保消息不丢失;小红书min.insync.replicas=2,ISR副本数<2时写入失败
2.5 关键配置补充(面试加分,结合小红书实践)
除了 ISR 本身,以下 2 个配置是小红书保证消息不丢失的 “双重保险”,面试时提及可体现业务认知:
-
min.insync.replicas(最小同步副本数):小红书关键业务配置为 2,结合 3 副本(1 Leader+2 Follower),确保 ISR 中至少有 2 个副本存活,避免单点故障导致消息丢失。若 ISR 副本数少于 2,生产者写入会失败,防止极端情况下的数据风险。
-
unclean.leader.election.enable:默认关闭(false),禁止非 ISR 副本成为 Leader。避免因非同步副本(缺少最新消息)被选举为 Leader,导致已提交的消息丢失,小红书核心业务均保持该配置,优先保证数据一致性。
三、小红书业务场景中 Kafka 持久化机制的创新应用
3.1 小红书 Kafka 应用现状与架构设计
小红书作为一个日活千万级的社交电商平台,其 Kafka 集群规模伴随着业务的蓬勃发展而显著扩张。目前,集群的峰值吞吐量已经达到 TB 级别,并且随着 AI 大模型和大数据技术的持续扩展,数据量仍在快速增长。
小红书的 Kafka 主要应用于以下核心业务场景:
实时日志收集:小红书使用 Kafka 收集用户行为日志、系统运行日志等,这些日志数据通过 Flink 进行实时处理,支撑实时归因、数据 ETL、实时 Spam 检测、实时 DAU 统计等业务场景。
异步消息处理:在社交互动场景中,用户的点赞、评论、私信等操作通过 Kafka 进行异步处理。据小红书技术团队分享的案例,某周五凌晨,社交互动服务突然出现异常,用户点赞、评论、私信等消息队列疯狂积压,核心业务接口 RT 从正常的 50ms 飙升到 30 秒以上,Kafka 消费者 lag 以每分钟 10 万条的速度增长。
数据同步:基于 Canal 构建的新一代数据同步平台,采用 “源头解析 – 中间投递 – 下游消费” 的三段式架构,通过 connector/kafka-connector 将解析后的数据投递到 Kafka。
3.1.1 小红书Kafka核心业务应用架构图
用户行为日志/系统日志
点赞/评论/私信
MySQL增量数据
投递数据
实时处理
支撑场景
下游输出
小红书业务系统
Kafka集群(TB级峰值吞吐量)
异步消息队列(Kafka)
Canal解析平台
Flink集群
实时归因/实时Spam检测/实时DAU统计
RocketMQ/StarRocks/ES/Redkv
注:Kafka是小红书分布式系统的核心消息枢纽,连接上游生产与下游处理/存储
3.2 分层存储架构的创新实践
小红书在 Kafka 分层存储架构上进行了完全的重新设计,解决了原有方案的多项问题,并显著提升了数据迁移速度和冷数据读取性能。
架构原理:基于冷热分层,将近实时的热数据保留在高性能云盘中,而将冷数据下沉至低成本、可靠性极高的对象存储中。
存储成本优化:
-
将不常访问的冷数据迁移到成本更低的对象存储中,大幅度减少存储开支
-
对于频繁访问的热数据,继续使用性能较高的云盘存储(EBS),但通过优化存储策略,将存储容量减少了 75%
-
实现了存储成本降低 60%,Topic 的存储时间从原来的 1 天延长至 7 天或更久
分钟级弹性迁移:
引入分层存储机制后,Topic 的所有副本可以共享同一份冷数据。这意味着对于 Topic 的新副本,在集群扩容时不再需要复制 Leader 本地的所有热数据,而只需拷贝远端尚未拥有的部分,通常是 Leader 本地存储的最后一个 segment。这种优化将 Topic 迁移时间从天级别缩短到分钟级别,即使是对于具有 10GB/s 吞吐量的 Topic,在流量高峰期的迁移过程也仅需 5 分钟即可完成。
3.3 容器化部署与资源优化
小红书采用容器化部署 Kafka,带来了显著的资源优化效果:
PaaS 能力托管:通过小红书容器化调度 PaaS 平台来托管 Kafka 集群,简化了部署和运维流程,降低了运维成本,通过图形化界面实现了集群版本和配置的直观管理。
服务状态管理:采用 DupicateSet (StatefulSet) 来管理 Kafka 服务,保证有状态应用服务的连续性和状态的一致性。
离线混部:通过容器提供的混部能力,将离线业务调度至 Kafka Kubernetes 机器池中,填平 CPU 低谷。上云后的能效利用率从原来的 10% 提高到了 40% 以上。
3.4 负载均衡服务(Balance Control)的创新
小红书自研了负载均衡服务 “Balance Control”,充分利用分层和容器的软硬件弹性能力,实现持续数据平衡和自动弹性扩缩容:
持续数据自平衡(Auto-Balancing):
采用多目标优化算法,综合考虑 Topic 副本、网络带宽、磁盘存储、计算资源等多种因素,自动调整 Partition 分配。调度决策器定期获取集群状态模型的快照,根据各个 Broker 的容量和负载信息,识别出流量过高或过低的 Broker,尝试移动或交换分区,完成流量的重新平衡。
自动弹性扩缩容(Auto-Scaling):
通过 Kubernetes 的 Horizontal Pod Autoscaler(HPA)组件,根据预设的策略(如定时、资源水位等)判断是否需要扩容。当集群负载超过某个阈值(如 70%)并保持一段时间时,系统会自动增加集群规模。当 Balance Control 探测到新加入的 Broker,分钟级完成流量调度平衡,实现 “弹性伸缩、按量付费” 的目标。
四、面试常见问题与回答策略
4.1 基础原理类问题
问题 1:Kafka 为什么采用顺序写磁盘?相比随机写有什么优势?
回答策略:这个问题考察对 Kafka 核心性能原理的理解。需要从磁盘物理特性、操作系统优化机制等角度深入分析。
参考答案:
Kafka 采用顺序写磁盘是其实现高性能的核心技术之一。传统的随机写操作需要磁盘磁头频繁进行寻道(Seek)操作,这是一个物理机械动作,速度极慢。即使是 SSD,随机写的写放大(Write Amplification)和 GC 也会严重拖慢速度。而顺序写磁盘时,磁头几乎不动,数据像水流一样灌入磁盘。
性能对比非常明显:现代 HDD/SSD 的顺序写速度可达 100~500 MB/s,远高于随机写的几 MB/s,差距可达 6000 倍。具体而言,顺序写可以达到 600MB/s,接近内存速度,而随机写仅为 100KB/s。
Kafka 充分利用了操作系统的预读(Read-Ahead)和写合并(Write Combining)机制,进一步提升了顺序写的性能。同时,Kafka 的日志文件采用 Append Only 模式,所有消息都按顺序追加到文件末尾,这种设计从根本上避免了随机写的性能瓶颈。
问题 2:Kafka 的分段存储(LogSegment)机制是如何工作的?有什么好处?
回答策略:这个问题考察对 Kafka 存储架构的理解,需要详细说明 Segment 的结构、切分策略以及带来的优势。
参考答案:
Kafka 的分段存储机制是为了避免单个日志文件过大影响读写性能而设计的。Kafka 将一个分区的所有消息切分为多个 LogSegment,每个 Segment 默认大小为 1GB(可通过 log.segment.bytes 配置)。
每个 Segment 由三个核心文件组成:
-
.log 文件:存储实际的消息数据,采用顺序写入方式
-
.index 文件:偏移量索引文件,采用稀疏索引,默认每 4KB 建立一个索引点
-
.timeindex 文件:时间戳索引文件,支持按时间戳范围查询
分段存储带来的好处包括:
-
便于管理:将巨型文件分割为相对较小的文件,便于消息的维护和清理
-
提高效率:较小的文件更适合内存映射和快速查找
-
支持滚动:当日志段写满后自动创建新文件,这个过程称为 log rolling
-
优化存储:可以对不同时间段的日志采用不同的清理策略
问题 3:Kafka 的零拷贝技术是如何实现的?有什么作用?
回答策略:这个问题考察对 Kafka 传输优化技术的理解,需要区分 mmap 和 sendfile 两种零拷贝方式。
参考答案:
Kafka 通过两种零拷贝技术提升数据传输效率:
-
mmap 内存映射:用于索引文件的读取。Kafka 的.index 和.timeindex 文件使用 MappedByteBuffer 实现内存映射,将文件直接映射到用户态的内存地址空间。对这块内存的读写,操作系统会自动同步到磁盘文件,速度极快。这种方式特别适合索引文件的频繁随机读写场景。
-
sendfile 系统调用:用于数据文件的网络传输。通过 FileChannel.transferTo 方法实现零拷贝传输,直接将内核缓冲区的数据发送到网卡,无需经过用户空间。传统的文件传输需要 4 次拷贝,而零拷贝只需要 2 次 DMA 拷贝,大大减少了 CPU 开销和上下文切换。
零拷贝技术是 Kafka 实现千万级吞吐量的关键技术之一,它不仅减少了数据拷贝次数,还降低了 CPU 占用,提高了系统的整体性能。
4.2 ISR 机制类问题
问题 4:什么是 ISR?它是如何保证消息不丢失的?
回答策略:这个问题考察对 Kafka 高可用机制的核心理解,需要详细说明 ISR 的定义、维护机制以及与消息持久性的关系。
参考答案:
ISR(In-Sync Replicas)是指与 Leader 保持 “足够同步” 的副本集合,包括 Leader 自身。Kafka 为每个分区维护一个 ISR,只有满足 “同步条件” 的副本才会被纳入 ISR,只有 ISR 中的副本才有资格成为新的 Leader。
ISR 保证消息不丢失的机制如下:
-
动态维护:ISR 是一个动态变化的集合,当 Follower 副本满足同步条件(如与 Leader 的滞后时间在 replica.lag.time.max.ms 阈值内)时会被加入,不满足时会被移出。
-
HW 机制:HW(High Watermark)表示所有 ISR 副本中最小的 LEO。只有当消息被所有 ISR 副本都成功写入后,Leader 才会更新 HW,此时消息才被认为是已提交的,才能被消费者读取。
-
acks 配置:当生产者配置 acks=all 时,会等待所有 ISR 副本都确认收到消息后才认为发送成功。这确保了只要 ISR 中有一个副本存活,成功写入的消息就不会丢失。
-
故障转移:当 Leader 宕机时,Kafka 会从 ISR 中选举新的 Leader,由于 ISR 中的副本都拥有最新的数据,因此不会出现数据丢失。
问题 5:min.insync.replicas 参数有什么作用?如何配置?
回答策略:这个问题考察对 Kafka 可靠性参数的理解,需要说明该参数的作用、配置建议以及与 acks 参数的配合使用。
参考答案:
min.insync.replicas 参数表示在 ISR 中最小副本的个数,默认值是 1,当且仅当 acks = -1 或 all 时生效。
该参数的作用是提供额外的数据安全保障:
-
当 ISR 副本数小于 min.insync.replicas 时,生产者写入会失败(抛出 NotEnoughReplicasException)
-
这防止了在 ISR 副本数过少时写入数据,避免了潜在的数据丢失风险
配置建议:
-
生产环境建议设置 min.insync.replicas=2,确保至少有两个副本(Leader + 1 Follower)存活
-
配合 acks=all 使用,能够提供最高级别的数据可靠性
-
需要注意的是,设置过高的值(如等于复制因子)可能会在滚动更新期间阻止向集群生产消息
在小红书的实践中,对于关键业务 Topic,我们设置 min.insync.replicas=2 和 acks=all,同时将复制因子设置为 3,这样既能容忍 1 个节点故障,又保证了数据安全。
问题 6:unclean.leader.election.enable 参数的作用是什么?有什么风险?
回答策略:这个问题考察对 Kafka 选举策略的理解,需要说明该参数的用途、风险以及在不同场景下的配置建议。
参考答案:
unclean.leader.election.enable 参数控制是否允许非 ISR 副本成为 Leader。
当设置为 false(默认)时:
-
若 ISR 中所有副本都宕机,Topic 将不可用(无法写入或读取)
-
但保证了数据一致性,不会出现数据丢失
当设置为 true 时:
-
可以从所有可用副本中选举新的 Leader,保证服务的持续可用性
-
但可能导致数据丢失,因为新 Leader 可能缺少最新提交的消息
风险分析:
启用非 ISR 选举会带来数据不一致的风险,因为非 ISR 副本可能落后于 Leader,包含的数据不完整。在这种情况下选举出来的新 Leader 可能会丢失部分已提交的消息。
配置建议:
-
对于关键业务系统,如金融交易、订单处理等,建议保持默认配置(false),以保证数据一致性
-
对于实时监控、日志收集等对可用性要求极高但可以容忍少量数据丢失的场景,可以考虑启用
-
如果启用,建议配合完善的监控告警系统,及时发现并处理数据不一致问题
在小红书的实践中,我们对核心业务 Topic 保持该参数为 false,通过增加副本数量和优化网络架构来提高整体可用性,而不是通过牺牲数据一致性来换取可用性。
4.3 小红书业务场景类问题
问题 7:小红书是如何利用 Kafka 的持久化机制处理海量用户行为日志的?
回答策略:这个问题考察对实际业务场景的理解,需要结合小红书的技术实践说明 Kafka 在日志处理中的具体应用。
参考答案:
小红书的用户行为日志系统是 Kafka 应用的典型场景。我们的 Kafka 集群峰值吞吐量已达到 TB 级别,每天处理数十亿条用户行为日志。
在技术架构上,我们采用了以下优化策略:
-
分层存储架构:将近实时的热数据保留在高性能云盘中,冷数据下沉至对象存储。这种设计使我们的存储成本降低了 60%,同时将日志保留时间从 1 天延长至 7 天。
-
顺序写优化:充分利用 Kafka 的顺序写特性,配合 SSD 磁盘,实现了接近内存速度的写入性能。我们通过合理设置 log.segment.bytes 参数(根据 SSD 性能适当增大),优化了 Segment 的切分策略。
-
批量处理:在生产者端,我们将 batch.size 设置为 128KB-1MB,linger.ms 设置为 5-10ms,通过批量发送提升吞吐量。同时启用了 zstd 压缩,在不影响性能的前提下减少了网络传输开销。
-
多分区设计:根据业务维度(如用户 ID、行为类型等)进行合理的分区设计,确保负载均衡。每个分区采用 3 副本配置,min.insync.replicas 设置为 2,保证了数据可靠性。
-
实时处理集成:采集的日志数据通过 Kafka 直接流入 Flink 集群,支撑实时归因、实时 Spam 检测、实时 DAU 统计等业务场景。Flink 处理后的数据会输出到 Kafka、RocketMQ、StarRocks 等多个下游系统。
问题 8:小红书在 Kafka 的性能优化方面有哪些实践经验?
回答策略:这个问题考察对性能优化实践的理解,需要结合具体的技术参数和优化效果进行说明。
参考答案:
小红书在 Kafka 性能优化方面积累了丰富的经验,主要体现在以下几个方面:
- 分层存储性能优化:
-
批量读取:以 8MB 对齐的方式读取 Segment 数据,减少访问次数
-
缓存预加载:结合数据访问的局部性原理和消息队列的顺序读特性,实现了并发的预读机制
-
优化效果:缓存命中率达到 99%,冷数据读取性能相比开源架构提升了 30%
- 容器化资源优化:
-
通过容器混部能力,将离线业务调度至 Kafka 机器池,CPU 利用率从 10% 提升到 40% 以上
-
采用 StatefulSet 管理有状态服务,确保服务连续性
-
通过 Supervisord 监控进程,实现快速故障恢复
- 负载均衡优化:
-
自研 Balance Control 负载均衡服务,实现了分钟级的自动扩缩容
-
通过多目标优化算法,综合考虑 Topic 副本、网络带宽、磁盘存储等因素,自动调整 Partition 分配
-
即使是 10GB/s 吞吐量的 Topic,迁移过程也仅需 5 分钟即可完成
- 监控与告警体系:
-
建立了完善的监控体系,实时监控 ISR 变化、Under Replicated Partitions、消费延迟等关键指标
-
通过 Prometheus+Grafana 实现了可视化监控
-
设置了多级告警机制,确保问题能够及时发现和处理
问题 9:小红书的 Kafka 架构是如何保证高可用性的?
回答策略:这个问题考察对高可用架构设计的理解,需要从多个维度说明小红书的实践经验。
参考答案:
小红书的 Kafka 高可用架构设计遵循多层次、全方位的保障原则:
- 副本机制保障:
-
生产环境所有 Topic 默认采用 3 副本配置,min.insync.replicas 设置为 2
-
副本分布遵循机架感知原则,确保同一分区的不同副本分布在不同机架
-
通过合理的副本分配策略,避免了单点故障风险
- 自动故障转移:
-
启用了 Kafka 的自动 Leader 选举机制,当 Leader 宕机时能在秒级内完成故障转移
-
ISR 机制确保了新选举的 Leader 拥有最新的数据,不会出现数据丢失
-
通过监控发现,故障转移过程对业务的影响通常在 50ms 以内
- 分层存储的高可用优势:
-
冷数据存储在对象存储中,具有天然的高可靠性(通常提供 11 个 9 的持久性)
-
热数据通过多副本机制保证,即使个别节点故障也不影响服务
-
分钟级的弹性迁移能力,能够快速应对节点故障或负载不均
- 多活容灾设计:
-
核心业务采用多活架构,Kafka 集群部署在多个可用区
-
通过 MirrorMaker 实现跨数据中心的数据同步
-
每个数据中心都具备独立提供服务的能力,确保了业务连续性
- 运维保障机制:
-
24/7 监控告警体系,能够及时发现潜在问题
-
完善的故障预案和快速恢复流程
-
定期的容灾演练,确保高可用机制的有效性
通过这些措施的综合实施,小红书的 Kafka 集群实现了 99.99% 以上的可用性,有力支撑了日活千万级用户的业务需求。
结语
通过对 Kafka 持久化机制和 ISR 原理的深入分析,结合小红书在实际业务场景中的应用实践,我们可以看到:
Kafka 通过顺序写磁盘、分段存储、零拷贝技术等创新设计,在存储和传输层面实现了极致的性能优化,使其能够支撑 TB 级别的数据吞吐量。而ISR 机制、acks 配置、min.insync.replicas 参数等设计,则从多个维度保证了数据的可靠性和系统的高可用性。
小红书的实践经验表明,在大规模分布式系统中应用 Kafka,需要根据不同业务场景的特点进行差异化设计。通过分层存储、容器化部署、自动负载均衡等技术创新,不仅实现了 60% 的成本降低和 10 倍的效率提升,还确保了系统的高可用性和可扩展性。
对于 Java 开发工程师而言,深入理解 Kafka 的这些核心机制,并能够在实际项目中灵活应用,将是应对复杂分布式系统挑战的重要能力。同时,通过了解小红书等大型互联网公司的实践经验,可以更好地把握技术发展趋势,提升自己的技术视野和架构设计能力。
参考资料
[1] Kafka性能调优:从参数配置到硬件选择的全方位指南-CSDN博客 https://blog.csdn.net/sinat_27016095/article/details/147240605
[2] Kafka: 生产环境配置优化与服务器最佳实践指南-CSDN博客 https://active.blog.csdn.net/article/details/155951713
[3] Kafka性能调优核心因素与实操方案解析 https://www.iesdouyin.com/share/note/7589314056192937267/?region=&mid=7367967182511523892&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=HO_VR5u1koEFi7v3ESy09yULM8B.oDkxqLIRJGZfE4c-&share_version=280700&ts=1771840015&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[4] Kafka 运维实战基本操作含命令与最佳实践_angel的技术博客_51CTO博客 https://blog.51cto.com/u_12192/14203323
[5] Kafka Linux运维有哪些最佳实践 – 问答 – 亿速云 https://www.yisu.com/ask/58385784.html
[6] Kafka多维度性能调优实现高吞吐与低延迟-开发者社区-阿里云 https://developer.aliyun.com/article/1404654
[7] Kafka百万级调优实战:从集群部署到核心配置优化-CSDN博客 https://blog.csdn.net/zuiyuelong/article/details/151120508
[8] Kafka 性能调优指南:从 Broker 到生产者 / 消费者的全方位优化-CSDN博客 https://blog.csdn.net/canjun_wen/article/details/155887529
[9] Kafka性能调优核心因素与实操方案解析 https://www.iesdouyin.com/share/note/7589314056192937267/?region=&mid=7367967182511523892&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=HO_VR5u1koEFi7v3ESy09yULM8B.oDkxqLIRJGZfE4c-&share_version=280700&ts=1771840019&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[10] Kafka 一些优化措施_GhostLover的技术博客_51CTO博客 https://blog.51cto.com/love51/14459604
[11] 大数据领域Kafka集群搭建与优化技巧-CSDN博客 https://blog.csdn.net/2502_91534922/article/details/155160386
[12] 大数据领域Kafka的性能优化最佳实践-CSDN博客 https://blog.csdn.net/2501_91483356/article/details/157875961
[13] Kafka核心机制深度解析:从消息模型到存储设计-CSDN博客 https://blog.csdn.net/2501_93878977/article/details/153697352
[14] (2)Kafka架构原理与存储机制_mob64ca141677f9的技术博客_51CTO博客 https://blog.51cto.com/u_16213709/14290134
[15] Kafka架构(Broker, Partition, ISR)详解_kafka的broker-CSDN博客 https://blog.csdn.net/csdn_tom_168/article/details/149404491
[16] Kafka分区机制与高可用性核心原理解析 https://www.iesdouyin.com/share/note/7588832143594844538/?region=&mid=7588186619560250146&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=LVmWSUX2d.Y3x3kNtIVgBv64xlmebRnDk1lUZyH4Aq4-&share_version=280700&ts=1771840023&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[17] Kafka 原来是这样构成的 从 0.10 到 3.7 的全景解剖图 一篇看懂Kafka所有内部机制、文件格式、网络协议 – 掘金 https://juejin.cn/post/7547625850285588489
[18] kafka的消息存储机制和查询机制_kafka查询-CSDN博客 https://blog.csdn.net/2301_76971522/article/details/149663208
[19] 工程师之夜系列分享:Kafka、RocketMQ、JMQ 存储架构深度对比_京东云开发者 http://m.toutiao.com/group/7599583680335512099/?upstream_biz=doubao
[20] 大数据领域Kafka的性能优化最佳实践-CSDN博客 https://blog.csdn.net/2501_91483356/article/details/157875961
[21] Kafka 生产者调优详解(全面、深入、实战)_kafka调优课件-CSDN博客 https://blog.csdn.net/csdn_tom_168/article/details/149757780
[22] Kafka性能调优核心因素与实操方案解析 https://www.iesdouyin.com/share/note/7589314056192937267/?region=&mid=7367967182511523892&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=HO_VR5u1koEFi7v3ESy09yULM8B.oDkxqLIRJGZfE4c-&share_version=280700&ts=1771840034&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[23] How to optimize a Kafka producer for throughput https://developer.confluent.io/confluent-tutorials/optimize-producer-throughput/kafka/
[24] 5.5. 为吞吐量和延迟优化制作者 | Kafka 配置调整 | Streams for Apache Kafka | 2.6 | Red Hat Documentation https://docs.redhat.com/zh-cn/documentation/red_hat_streams_for_apache_kafka/2.6/html/kafka_configuration_tuning/con-producer-config-properties-throughput-str
[25] Kafka生产者性能如何优化配置 – 问答 – 亿速云 https://www.yisu.com/ask/40633742.html
[26] Kafka 线上集群调优实战:吞吐量提升 300% 的秘诀_编程我最懂 http://m.toutiao.com/group/7587841703080460819/?upstream_biz=doubao
[27] Kafka: 生产环境配置优化与服务器最佳实践指南-CSDN博客 https://active.blog.csdn.net/article/details/155951713
[28] Kafka Broker 调优详解(全面、深入、实战)_kafka broker优化-CSDN博客 https://blog.csdn.net/csdn_tom_168/article/details/149757974
[29] kafka server部署配置优化_kafka server.properties 配置优化-CSDN博客 https://blog.csdn.net/lizhitao/article/details/42180265
[30] kafka:Kafka磁盘I/O性能深度优化:从内核参数到硬件加速的全链路实践_kafka 磁盘参数优化-CSDN博客 https://blog.csdn.net/weixin_43290370/article/details/148923233
[31] Kafka(四)Broker_kafka broker-CSDN博客 https://blog.csdn.net/yunyun1886358/article/details/135433789
[32] kafka配置文件server.properties配置文件参数说明_kafka的server.propertis里面配置灵活的日期参数-CSDN博客 https://blog.csdn.net/finghting321/article/details/105275531
[33] Apache Kafka 3.1性能优化指南:吞吐量提升50%实战技巧-CSDN博客 https://blog.csdn.net/gitblog_00461/article/details/152286710
[34] Kafka客户端配置:Producer和Consumer参数优化-CSDN博客 https://blog.csdn.net/gitblog_00293/article/details/152054649
[35] Springboot- 优化Kafka吞吐量、延迟和提升稳定性的方法及其核心参数_springboot kafka优化配置-CSDN博客 https://blog.csdn.net/mini_snow/article/details/147076913
[36] kafka消费者调优在 Kafka 消费者调优中,需根据业务场景(如高吞吐、低延迟、强一致性)动态调整参数,并结合监控数 – 掘金 https://juejin.cn/post/7496375493329190975
[37] Chapter 4. Kafka consumer configuration tuning https://docs.redhat.com/en/documentation/red_hat_streams_for_apache_kafka/2.9/html/kafka_configuration_tuning/con-consumer-config-properties-str
[38] Consumer Configs https://kafka.apache.org/0101/configuration/consumer-configs/
[39] KafkaConsumer关键参数详解:性能调优与故障排查指南-CSDN博客 https://blog.csdn.net/qq_34475529/article/details/121711244
[40] Kafka面试精讲 Day 17:消费者性能调优实践_kafka调优面试-CSDN博客 https://blog.csdn.net/qq_qingtian/article/details/151680974
[41] Kafka-日常运维命令对于运维来说,一个正常的Kafka的集群,一般情况下我们是不需要去操作ZooKeeper来维护它 – 掘金 https://juejin.cn/post/7525628668984262666
[42] Kafka常用运维操作命令_kafka常用的运维操作有哪些-CSDN博客 https://blog.csdn.net/shimadear/article/details/122063789
[43] Kafka 命令详解及使用示例_kafka-console-producer.sh-CSDN博客 https://blog.csdn.net/weixin_42434700/article/details/142170134
[44] CentOS 7 Linux离线安装单机Kafka步骤详解 https://www.iesdouyin.com/share/video/7562893344267865396/?region=&mid=7562893398575680295&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&share_sign=y94.qsRNGfU67HO6HKieBxNreidvtSUCrvTowKir2HU-&share_version=280700&ts=1771840053&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[45] Kafka 常用脚本与配置-腾讯云开发者社区-腾讯云 https://cloud.tencent.com/developer/article/1767771?areaSource=102001.9
[46] 【kafka运维】Topic的生产和消费运维脚本-阿里云开发者社区 https://developer.aliyun.com/article/1059127
[47] 首选:Kafka 入门本章内容包括 介绍本书的示例用例 使用 kafka-topics.sh 命令创建主题(topic) – 掘金 https://juejin.cn/post/7544988232980987939
[48] Kafka 监控都有哪些?_kafka监控工具-CSDN博客 https://blog.csdn.net/pxyxyxy/article/details/144728249
[49] kafka的shell操作_window上kafka常见命令-CSDN博客 https://blog.csdn.net/2301_76971522/article/details/149609047
[50] Kafka 运维实战基本操作含命令与最佳实践_angel的技术博客_51CTO博客 https://blog.51cto.com/u_12192/14203323
[51] CentOS 7 Linux离线安装单机Kafka步骤详解 https://www.iesdouyin.com/share/video/7562893344267865396/?region=&mid=7562893398575680295&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&share_sign=y94.qsRNGfU67HO6HKieBxNreidvtSUCrvTowKir2HU-&share_version=280700&ts=1771840059&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[52] 大数据-62 Kafka Topic 管理与运维实战:命令详解 + 副本分配策略 + JavaAPI本文系统介绍了 Ka – 掘金 https://juejin.cn/post/7535372761540624411
[53] Kafka常用命令有哪些?_编程语言-CSDN问答 https://ask.csdn.net/questions/8753807
[54] Kafka——管理Kafka(命令行工具)详解_kafka管理工具-CSDN博客 https://blog.csdn.net/agonie201218/article/details/135504200
[55] Kafka 面试题分类整理-CSDN博客 https://blog.csdn.net/weixin_39956506/article/details/149722232
[56] 精心整理的 22道 Kafka 高频面试题(含答案),你都会了吗?_kafka面试题-CSDN博客 https://blog.csdn.net/qq_41320700/article/details/145123535
[57] Kafka性能调优核心因素与实操方案解析 https://www.iesdouyin.com/share/note/7589314056192937267/?region=&mid=7367967182511523892&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=HO_VR5u1koEFi7v3ESy09yULM8B.oDkxqLIRJGZfE4c-&share_version=280700&ts=1771840071&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[58] Java 开发面试题精选:Kafka 一篇全搞定(pdf) http://www.cxyroad.com/wp-content/uploads/2022/10/tambfit.pdf
[59] Kafka 面试高频题及详细答案.docx-原创力文档 https://m.book118.com/html/2025/1220/8126115070010024.shtm
[60] 2025 Kafka 面试题大全(精选90题)_kafka面试题-CSDN博客 https://blog.csdn.net/csdn_tom_168/article/details/148673625
[61] Kafka面试题分类整理-CSDN博客 https://blog.csdn.net/weixin_39956506/article/details/149489074
[62] Kafka核心原理与常见面试问题解析_kafka的原理讲解 以及面试题 场景题-CSDN博客 https://blog.csdn.net/boonya/article/details/151209114
[63] 干货总结!Kafka 面试大全(万字长文,37 张图,28 个知识点)_mb60bdd0d5e6334的技术博客_mob6454cc7b3ae8的技术博客_51CTO博客 https://blog.51cto.com/u_16099347/14483797
[64] Kafka分区机制与高可用性核心原理解析 https://www.iesdouyin.com/share/note/7588832143594844538/?region=&mid=7588186619560250146&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=LVmWSUX2d.Y3x3kNtIVgBv64xlmebRnDk1lUZyH4Aq4-&share_version=280700&ts=1771840087&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[65] Kafka 面试备战指南_kafka comsumer traceid 如何设置-CSDN博客 https://blog.csdn.net/u011019141/article/details/146465570
[66] kafka高频面试40问(2025最全版):从架构原理到生产调优,一篇通杀!外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
[67] 揭秘Kafka:为什么在它手里,磁盘比内存还快?_kafka磁盘顺序写为什么比内存随机写快-CSDN博客 https://blog.csdn.net/qq_39032307/article/details/150521075
[68] Kafka高吞吐量核心揭秘:四大技术架构深度解析-CSDN博客 https://blog.csdn.net/weixin_43829708/article/details/157805759
[69] Kafka高性能揭秘:零拷贝、顺序写与页缓存,千万级吞吐量的底层原理深度剖析聊一个老生常谈,但 90% 的人只知其一不知 – 掘金 https://juejin.cn/post/7598130716340142118
[70] 三 分钟 带 你 搞 懂 Kafka 黑 科技 # 科普 # 编程 https://www.iesdouyin.com/share/video/7524505244005403940/?region=&mid=7524505225198193451&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&share_sign=FDIzscgSffxjFtFMUg6_hz.AL_4cjnNIWlB3V9ibJ9Q-&share_version=280700&ts=1771840106&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[71] 深入剖析Kafka存储原理:日志文件结构与索引机制解析1. 引言 在分布式系统和大数据处理的浪潮中,Apache Kaf – 掘金 https://juejin.cn/post/7605416964509712411
[72] Kafka 分区策略与副本机制:手把手教你设计高可用 Topic-CSDN博客 https://blog.csdn.net/canjun_wen/article/details/155887386
[73] Kafka——副本机制详解_kafka replication-CSDN博客 https://blog.csdn.net/qq_41478243/article/details/149705767
[74] Kafka HA Kafka一致性重要机制之ISR_mob6454cc6bcf40的技术博客_51CTO博客 https://blog.51cto.com/u_16099238/14431995
[75] Kafka分区机制与高可用性核心原理解析 https://www.iesdouyin.com/share/note/7588832143594844538/?region=&mid=7588186619560250146&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=LVmWSUX2d.Y3x3kNtIVgBv64xlmebRnDk1lUZyH4Aq4-&share_version=280700&ts=1771840119&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[76] 大数据-63 Kafka 副本机制详解:高可用性、ISR原理与Leader选举全解析Kafka 的副本机制通过在多个 B – 掘金 https://juejin.cn/post/7535740692191526938
[77] Kafka副本同步机制Kafka的副本同步机制通过Leader-Follower架构、ISR动态管理和可配置的数据持久化 – 掘金 https://juejin.cn/post/7494562378153230375
[78] 大数据面试必备:Kafka的副本机制实现及其对数据可靠性的保障_kafka 分区与副本在同一台机器 leader replica isr-CSDN博客 https://blog.csdn.net/qq_58299462/article/details/146600311
[79] 存储成本降60%、效率增10倍,小红书云原生Kafka技术升级实践 – 大数据 – dbaplus社群:围绕Data、Blockchain、AiOps的企业级专业社群。技术大咖、原创干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙。 https://dbaplus.cn/news-73-6132-1.html
[80] Kafka 分层存储(Tiered Storage)从 0 到 1 的配置、调优与避坑_kafka_Hello.Reader-火山引擎 ADG 社区 https://adg.csdn.net/697070bb437a6b40336a420e.html
[81] 万字解读:小红书是怎么用云的-快科技-科技改变生活 https://news.mydrivers.com/1/1046/1046319.htm
[82] Kafka性能调优核心因素与实操方案解析 https://www.iesdouyin.com/share/note/7589314056192937267/?region=&mid=7367967182511523892&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=HO_VR5u1koEFi7v3ESy09yULM8B.oDkxqLIRJGZfE4c-&share_version=280700&ts=1771840136&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[83] 基于Docker轻松搭建高可用Kafka集群:从零到生产级部署_让世界更美好的技术博客_51CTO博客 https://blog.51cto.com/u_15912723/14449280
[84] Kafka源码深度解析与面试攻坚:云原生和Serverless的融合之路-腾讯云开发者社区-腾讯云 https://cloud.tencent.com.cn/developer/article/2594920
[85] 原创|互联网公司必备利器Kafka终极入门,最后一篇 -_mob64ca140c3859的技术博客_51CTO博客 https://blog.51cto.com/u_16213666/14486685
[86] 存储成本降60%、效率增10倍,小红书云原生Kafka技术升级实践 – 大数据 – dbaplus社群:围绕Data、Blockchain、AiOps的企业级专业社群。技术大咖、原创干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙。 https://dbaplus.cn/news-73-6132-1.html
[87] 3分钟破局!Canal构建小红书百亿级数据实时同步架构-CSDN博客 https://blog.csdn.net/gitblog_00727/article/details/151340916
[88] 小红书消息中间件的运维实践与治理之路简介:近年来,消息领域的全面云原生化逐渐走向深入,比如 RocketMQ 5.0 版 – 掘金 https://juejin.cn/post/7057335190682599461
[89] 万字解读:小红书是怎么用云的?-腾讯新闻 https://news.qq.com/rain/a/20250429A04UHO00
[90] Kafka 的主要适用场景及特性一、Kafka 的主要适用场景 Kafka 是一个分布式流处理平台,广泛应用于需要高吞吐 – 掘金 https://juejin.cn/post/7520818511963422770
[91] kafka使用场景_mob64ca1409970a的技术博客_51CTO博客 https://blog.51cto.com/u_16213655/14473838
[92] Flink 中文社区 | Native Flink on Kubernetes 在小红书的实践 https://flink-learning.org.cn/article/detail/e3e339048cdd918e6b11d1b05807399b
[93] Kafka核心原理与常见面试问题解析_kafka的原理讲解 以及面试题 场景题-CSDN博客 https://blog.csdn.net/boonya/article/details/151209114
[94] Kafka 高频面试 40 问(2025 最全版):从架构原理到生产调优,一篇通杀!_kafka面试-CSDN博客 https://blog.csdn.net/qq_45202803/article/details/155345540
[95] Kafka面试题——20道Kafka知识点_蓝月亮的技术博客_51CTO博客 https://blog.51cto.com/u_12190/14321536
[96] Kafka消息确认机制解析:ACK级别与可靠性保证 https://www.iesdouyin.com/share/note/7485397514435300671/?region=&mid=0&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=clZyv0s6NYIuZ.Q1T5RsvTq1OPvTYWEB2uk1ehOXhjY-&share_version=280700&ts=1771840155&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[97] Java 开发面试题精选:Kafka 一篇全搞定(pdf) http://www.cxyroad.com/wp-content/uploads/2022/10/tambfit.pdf
[98] 干货总结!Kafka 面试大全(万字长文,37 张图,28 个知识点)_mb60bdd0d5e6334的技术博客_mob6454cc7b3ae8的技术博客_51CTO博客 https://blog.51cto.com/u_16099347/14483797
[99] Kafka 面试高频题及详细答案.docx-原创力文档 https://m.book118.com/html/2025/1220/8126115070010024.shtm
[100] Kafka面试精讲 Day 11:Leader选举与ISR机制_kafka使用raft模式的leader选举-CSDN博客 https://blog.csdn.net/qq_qingtian/article/details/151284591
[101] 干货总结!Kafka 面试大全(万字长文,37 张图,28 个知识点)_mb60bdd0d5e6334的技术博客_mob6454cc7b3ae8的技术博客_51CTO博客 https://blog.51cto.com/u_16099347/14483797
[102] Kafka分区机制与高可用性核心原理解析 https://www.iesdouyin.com/share/note/7588832143594844538/?region=&mid=7588186619560250146&u_code=0&did=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&video_share_track_ver=&titleType=title&schema_type=37&share_sign=LVmWSUX2d.Y3x3kNtIVgBv64xlmebRnDk1lUZyH4Aq4-&share_version=280700&ts=1771840170&from_aid=1128&from_ssr=1&share_track_info=%7B%22link_description_type%22%3A%22%22%7D
[103] 精心整理的 22道 Kafka 高频面试题(含答案),你都会了吗?_kafka面试题-CSDN博客 https://blog.csdn.net/qq_41320700/article/details/145123535
[104] 大数据-63 Kafka 副本机制详解:高可用性、ISR原理与Leader选举全解析Kafka 的副本机制通过在多个 B – 掘金 https://juejin.cn/post/7535740692191526938
[105] kafka的isr是什么意思_博问_博客园 https://q.cnblogs.com/q/158768