Kafka 消息队列完全教程:从安装到用消息队列解耦你的高并发系统

Kafka 是 Apache 开源的分布式消息队列/流处理平台,几乎所有大厂的后端都在用它做日志收集、削峰填谷、异步解耦。本文带你从零跑通生产者-消费者,理解 Topic、分区、消费者组。

一、原理背景

1.1 为什么用消息队列

没有消息队列时,下单接口直接调库存、发短信、推积分——任一步慢或挂了,下单就失败,且耦合严重。

引入 Kafka 后:

下单服务 → 发消息到 Kafka → [库存消费者][短信消费者][积分消费者]

好处:解耦、异步、削峰(瞬时洪峰先堆在队列,消费者按能力消费)。

1.2 核心概念

概念 说明
Topic 消息主题(如 order-created
Partition 分区,Topic 的物理分片,保证顺序、并行
Producer 生产者,发消息
Consumer 消费者,取消息
Consumer Group 消费者组,组内一条消息只被一个消费者消费(实现负载均衡)
Broker Kafka 服务节点
Offset 消费者在分区里的消费进度

1.3 消息模型特点

  • 持久化:消息写磁盘,可重复消费(区别于很多内存队列);
  • 高吞吐:顺序写 + 零拷贝,单机轻松十万级 TPS;
  • 分区有序:同一分区内消息严格

🔒 付费文档

支付 5 积分后即可解锁全部内容