5 RabbitMQ三大优势

RabbitMQ三大优势

1.解耦:
若不使用MQ,当分布式系统中的一个系统给多个子系统提供数据时,当下游的子系统发生更改,Publisher也需要做出对应的更改。系统耦合性较高。
使用RabbitMQ以后,我们只需要让Publisher将消息发送到中间件即可,而并不需要关心谁去接收这条消息。
2.异步:
以系统多级调用为例:
下单成功(订单系统)–发送短信(短信系统)–xxx(下游子系统)
若发送短信和其下游的子系统并没有关联,那么我们可以在下单成功以后,将消息存储到RabbitMQ中,让短信系统和下游子系统异步执行。缩短系统总的运行时间。
3.削峰填谷:
削峰填谷

若请求瞬间增多,来了5000个请求,而A系统无法一秒钟处理5000个请求,我们可以将这5000个请求存储到MQ中,然后每秒从MQ中取出1000个消息进行消费。

削峰填谷的原理:
其实就是利用Consumer的限流机制:
首先确认ack机制为手动签收。(在手动签收前sleep1s即可)
其次listener-container配置属性perfetch=1000也就是说一次消费1000条消息。

猜你喜欢

转载自blog.csdn.net/weixin_68930048/article/details/128258325
今日推荐