RabbitMQ的高级特性
在项目中,有一些无需即时返回且耗时的操作,我们可以将其提取出来,做异步处理,从而节省服务器的请求响应时间,从而提高系统的吞吐量。这就需要使用到MQ,而常见的RabbitMQ就是重中之重,之前说了他的几个常见的用处:
- 异步
- 解耦
- 削峰填谷
今天给大家介绍几个RabbitMQ的高级特性:
1.消息可靠性投递
在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。
- confirm 确认模式
- return 退回模式
rabbitmq 整个消息投递的路径为:
producer —> rabbitmq broker —> exchange —> queue —> consumer
- 消息从 producer 到 exchange 则会返回一个 confirmCallback 。
- 消息从 exchange 到 queue 投递失败则会返回一个 returnCallback 。
我们将利用这两个 callback 控制消息的可靠性投递
2.Consumer ACK
ack指 Acknowledge,