RabbitMQ五种工作模式:
1、简单模式:就是不通过交换机,消息直接通过队列,一对一收发。
2、工作队列模式:也是不通过交换机,消息直接通过队列,只是一个发送方可以有多个接收端。
3、发布订阅模式:由交换机分发消息到不同队列,每个消费者只监听自己的队列。
4、路由模式:由交换机分发消息,但是发送方需要指定路由key,交换机会根据不同的routing key分发给不同的队列,消费方对应自己需要的队列。
5、通配符模式:和路由模式有些相近,只是通配符模式可以在绑定routing key时使用通配符。
6、RPC模式:RPC远程调用模式,严格来说不太算是MQ。
避免消息堆积
- 优化消费者代码,提高消费者能力
- 给消费者设置生命周期,超时就丢弃掉
- 设置队列的最大长度
MQ如何保证顺序消费
将原来的一个queue拆分成多个queue,确保每个queue都有一个自己的consumer