阶段2(上):后端专题 Go/Gin/PostgreSQL/MySQL/Redis/MQ/gRPC 的课程、企业场景、面试题和可运行示例

This commit is contained in:
Shikui Wang committed 2026-10-23 15:24:57 +08:00
1 parent 0bae9916a9
commit 5eb67c5d08
65 files changed
+6457 -77

No files matched your search

+32 -3
View File
@@ -4,12 +4,41 @@ title: 消息队列(RabbitMQ / Kafka)
type: index
domain: backend
stack: [mq]
tags: []
tags: [消息队列, RabbitMQ, Kafka, 异步, 削峰]
week: [3, 14]
---
# 消息队列(RabbitMQ / Kafka)
异步解耦、可靠投递、幂等消费、顺序、延迟消息。
消息队列用来**异步解耦**(下单后发短信、加积分不阻塞主流程)、**削峰填谷**(抢购请求先进队列)、**广播**(一个事件多个系统消费)。招聘要求里 RabbitMQ 和 Kafka 都常见:业务系统多用 RabbitMQ,日志、埋点、数据管道多用 Kafka。面试最常问的是**可靠性、幂等、顺序、积压**。
> 本专题建设中:课程、企业场景、面试题和示例代码会陆续补充。
## 学习路线
| 顺序 | 课程 | 级别 | 预计 |
| --- | --- | --- | --- |
| 1 | [RabbitMQ:交换机、队列、确认机制、死信和延迟](01-rabbitmq.md) | 基础 | 3 小时 |
| 2 | [Kafka:主题、分区、消费组、位移和顺序](02-kafka.md) | 进阶 | 3 小时 |
| 3 | [可靠性:不丢消息、幂等消费、发件箱模式、积压处理](03-reliability.md) | 进阶 | 3 小时 |
## 企业场景
- [订单超时自动取消:延迟消息、幂等和兜底扫描](scenarios/delayed-order-cancel.md)
## 面试题
- [消息队列面试题](interview.md)
## 示例代码
- [examples/delay-cancel](examples/delay-cancel/):Python + aio-pika,用 TTL + 死信交换机实现延迟取消;设置 `AMQP_URL` 后运行
- [examples/outbox](examples/outbox/):只用标准库演示发件箱模式和幂等消费,直接运行
## 在 16 周计划中
- [第 3 周:项目一(异步任务)](../../../plan/week03-project1.md)、[第 14 周:后端扩展](../../../plan/week14-backend-extend-deploy.md)
## 官方资料
- RabbitMQ 文档:https://www.rabbitmq.com/docs
- Kafka 文档:https://kafka.apache.org/documentation/
- aio-pika:https://docs.aio-pika.com/