> For the complete documentation index, see [llms.txt](https://maxwell.gitbook.io/way-to-architect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://maxwell.gitbook.io/way-to-architect/zhong-jian-jian/xiao-xi-dui-lie/xiao-xi-dui-lie-guan-jian-dian.md).

# 消息队列关键点

1 消息有序消费

> 消息有序，首先要保证它们之间有一个全局的顺序，因此在消息创建时，都会被赋予一个全局唯一的单调递增的连续的序列号sn，可以通过全局计数器实现
>
> 主动去分配队列，单个消费者

2 消息必达

> ack机制+重新入队列
>
> 重试机制

3 重复消费

> 保证消息幂等性
>
> map记录任务状态.

4 防止消息丢失

> message持久化，queue持久化
>
> 小概率丢失事件，需要使用事务处理

5 RPC 远程过程调用

> reply\_to
>
> correlation\_id

6 队列阻塞

> 加监控，适时增减 consumer
>
> 推拉模式合理选择

7 队列技术选型

> 小型，快速，消费也快的场景 redis
>
> 大型，高并发场景 rabbitmq，kafka等

扩展阅读：

[消息队列设计精要](https://tech.meituan.com/mq-design.html)
