1. 核心概念
Producer ──→ Kafka Cluster ──→ Consumer
│
┌────────────┼────────────┐
│ │ │
Broker 1 Broker 2 Broker 3
│ │ │
└── Topic: orders ────────┘
├── Partition 0 (Leader@B1, Replica@B2)
├── Partition 1 (Leader@B2, Replica@B3)
└── Partition 2 (Leader@B3, Replica@B1)
| 概念 | 说明 |
|---|---|
| Topic | 消息分类主题 |
| Partition | Topic 的分片,每个有序不可变日志 |
| Broker | Kafka 服务器节点 |
| Producer | 消息生产者 |
| Consumer | 消息消费者,通过 Consumer Group 消费 |
| Offset | 消息在 Partition 中的位置 |
| ISR | In-Sync Replicas,同步副本集合 |
2. 日志存储
Topic: orders / Partition: 0
offset: 0 1 2 3 4
│ │ │ │ │
┌┴──────┴───────┴───────┴───────┴───────┐
│ msg0 │ msg1 │ msg2 │ msg3 │ msg4 │ ← log segment
└───────┴───────┴───────┴───────┴───────┘
0.log
offset 是 Partition 内的局部有序,不是全局有序
3. 为什么快?
| 技术 | 作用 |
|---|---|
| 顺序写磁盘 | 比随机写快 1000x |
| 零拷贝 | sendfile,内核直接发数据到 socket |
| 批量压缩 | 压缩后传输,减少网络 IO |
| Page Cache | OS 缓存热点数据 |
延伸阅读
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。