皇家塔楼防御战斗
35.56M · 2026-02-13
先泼一盆冷水:Kafka 本身不保证消息 100% 不丢。
丢不丢,取决于你怎么用它
acks=0,那就是“发出去就当成功”,消息随缘Kafka 给你的是工具箱,不是保险箱。
acks=all)acks = all
含义很朴素:
acks=0:发完就跑 (最快,也最容易后悔)acks=1:Leader 说行就行 ️(Leader 一挂就凉)acks=all:ISR 集体通过 (最稳) 结论:要可靠,别犹豫,直接 acks=all。
min.insync.replicas ≥ 2)min.insync.replicas = 2
这是 Kafka 的“保命配置”。
它的意思是:
️ 很多人踩过的坑:
acks=allmin.insync.replicas=1这俩一搭配,效果等于:
正确姿势:
acks=allmin.insync.replicas ≥ 2双保险,谁也别想偷懒。
enable.auto.commit = false
Kafka 的 Offset 提交,本质就是一句话:
如果你:
一旦中途宕机:
正确顺序永远是:
宁可重复消费,也不能直接丢。
ISR(In-Sync Replicas) 是 Kafka 里最容易被误解的概念。
它的规则很简单:
replica.lag.time.max.ms)就被踢出去重点来了:
所以 Kafka 才能又快又稳。
| 维度 | 作用 | 核心价值 |
|---|---|---|
| 分区 (Partition) | 横向切分 | 提升并发、吞吐量 |
| 副本 (Replica) | 纵向备份 | 提升容灾、安全性 |
举个例子:
️ 记住一句铁律:
Kafka 的磁盘上:
那不同消费者怎么不冲突?
Offset 是消费者组自己的。
就像:
Rebalance = 重新分配分区归属权。
触发条件很常见:
核心原则只有一条:
最佳实践:
Leader:
Follower:
Leader 一旦宕机:
acks = all
+ min.insync.replicas ≥ 2
+ 手动提交 Offset
分区并发 + 顺序写磁盘 + PageCache
一份数据 + 多组 Offset + 分区承包制
动漫共和国官网入口-OmoFun动漫共和国官网入口直达app最新下载v1.45.86
Snapseed官网入口下载-Snapseed官网入口app下载安装2026最新v347.40
2026-02-13
2026-02-13