# 消息队列规划开发Skill

> MQ 选型、Topic/队列设计、消费幂等、死信与重试策略。当需要规划消息队列架构(选型、主题设计、可靠性、幂等与重试)时使用。

- Skill: `sky-cube/skill-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sky-cube/skill-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sky-cube/skill-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Sky-Cube (https://skillmd.com/u/sky-cube)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sky-cube/skill-2

---

# 消息队列规划开发Skill

## 适用场景
引入或治理消息队列:选型、Topic/队列划分、生产消费规范、幂等与重试死信策略、积压与安全防护。

## 执行步骤
1. 选型:高吞吐日志/流式数据→Kafka;业务消息/事务消息/延迟消息→RocketMQ;灵活路由/低延迟任务→RabbitMQ;按团队运维能力与场景匹配,不贪大求全。
2. Topic 与队列设计:按业务域划分 Topic,禁止一个 Topic 混多业务;分区/队列数量与消费并发匹配;消息体统一封装(消息ID/业务类型/时间戳/业务数据),格式版本化。
3. 生产端规范:消息 key 保证同 key 有序(需验证具体实现);同步/异步发送按可靠性要求选择;事务消息/半消息用于本地事务与消息一致性场景。
4. 消费幂等:消费侧唯一键(业务单据号/消息ID)去重表或状态机判定;重复消费必须安全。
5. 重试与死信:消费失败重试(次数有限+退避),重试耗尽进入死信队列并告警;死信人工处理流程明确。
6. 可靠性:确认机制、持久化、主从/多副本;消息丢失与重复的边界在文档中写明。
7. 安全与治理:开启认证与 ACL,敏感字段加密或脱敏;积压监控告警,积压处置预案(扩容消费者/降级非核心消费)。

## 规范要点
- 消费端必须幂等,所有消费逻辑按「可能重复」设计。
- 禁止在消费者中做无界同步阻塞(长 IO/远程调用),耗时任务转异步线程池或独立流程。
- 消息体禁止携带敏感明文;消息不可篡改场景需签名或走内网加密通道。
- 死信必须可观测、可告警、有人处理,禁止静默丢弃。
- Topic/队列变更走版本化与兼容评估,禁止直接改线上消费者契约。

## 输出模板
```
## MQ 规划方案
选型结论:MQ/版本/部署拓扑/理由
Topic 清单:名称/业务域/分区数/消息格式版本
生产消费规范:发送方式/确认机制/并发配置
幂等与重试:去重方案 + 重试次数/退避 + 死信处理流程
监控告警:积压阈值/消费延迟/失败率
```

## 自检清单
- [ ] 选型与业务场景、运维能力匹配
- [ ] Topic 按业务域划分,消息格式版本化
- [ ] 消费幂等已设计,重复消费安全
- [ ] 重试与死信闭环,死信有告警和处理人
- [ ] 认证/敏感加密/积压监控到位

