消息队列关键点
1 消息有序消费
消息有序,首先要保证它们之间有一个全局的顺序,因此在消息创建时,都会被赋予一个全局唯一的单调递增的连续的序列号sn,可以通过全局计数器实现
主动去分配队列,单个消费者
2 消息必达
ack机制+重新入队列
重试机制
3 重复消费
保证消息幂等性
map记录任务状态.
4 防止消息丢失
message持久化,queue持久化
小概率丢失事件,需要使用事务处理
5 RPC 远程过程调用
reply_to
correlation_id
6 队列阻塞
加监控,适时增减 consumer
推拉模式合理选择
7 队列技术选型
小型,快速,消费也快的场景 redis
大型,高并发场景 rabbitmq,kafka等
扩展阅读:
Last updated