消息队列关键点

1 消息有序消费

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

主动去分配队列,单个消费者

2 消息必达

ack机制+重新入队列

重试机制

3 重复消费

保证消息幂等性

map记录任务状态.

4 防止消息丢失

message持久化,queue持久化

小概率丢失事件,需要使用事务处理

5 RPC 远程过程调用

reply_to

correlation_id

6 队列阻塞

加监控,适时增减 consumer

推拉模式合理选择

7 队列技术选型

小型,快速,消费也快的场景 redis

大型,高并发场景 rabbitmq,kafka等

扩展阅读:

消息队列设计精要

Last updated