Skip to content

🟠 Kafka 消息队列

日志收集、大数据、流处理... 样样精通!🚀

🎯 为什么需要消息队列

┌─────────────────────────────────────────────────────────────────┐
│                      同步调用的痛苦                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│   用户下单 ──▶ 库存服务 ──▶ 积分服务 ──▶ 短信服务 ──▶ 邮件服务 │
│                  │            │            │            │        │
│                  ▼            ▼            ▼            ▼        │
│                 300ms       200ms       100ms        100ms      │
│                                    总耗时 = 700ms                 │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                      异步调用的优雅                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│   用户下单 ──▶ 写入消息队列 ──▶ 返回成功(20ms)               │
│                  │                                               │
│                  ▼ 异步通知各服务                                │
│         ┌────────┼────────┐                                    │
│         ▼        ▼        ▼                                     │
│      库存服务   积分服务   短信服务                              │
│                                                                  │
│                         总耗时 = 20ms                            │
└─────────────────────────────────────────────────────────────────┘

Kafka 解决的问题

  • 系统间耦合严重?→ 解耦!
  • 请求响应太慢?→ 异步!
  • 流量高峰扛不住?→ 削峰!

📖 内容导航

💡 温馨提示

  • 🔥 Kafka 是大数据和微服务的重要组件,必须掌握!
  • 📌 消息可靠性(ACK 机制)是面试高频考点
  • ⚠️ 消息顺序性只在同一 Partition 内保证