什么是RabbitMQ,RabbitMQ有什么用

RabbitMQ是一个消息队列中间件:
是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行的分布式系统的集成。

中间件的传递模式:
一般分为两种形式:点对点模式(p2p)和发布/订阅模式(Pub/Sub)。
点对点模式是基于队列,消息生产者将消息发到队列,消息的消费者从队列中获取队列,队列的存在使得异步传输成为了可能。
发布/订阅模式定义了如何在一个内容节点发布和订阅消息,这个内容节点成为主题(topic),主题是一个可以认为是消息传递的中介,消息发布者将消息发布到某个主题,消息订阅者从主题中订阅消息。使得消息的发布者和订阅者相互独立。

消息中间件的作用:

1.解耦

消息中间件在处理过程中插入了一个接口层,两边处理数据都需要实现这个接口,这可以允许你独立扩展和修改两边的过程。下图就很好演示了这一种情况
没引入mq
在这里插入图片描述

引入mq后

在这里插入图片描述

2.异步通信
很多时候业务不需要马上处理消息。消息中间件提供了异步处理机制
下面我们模拟一个场景:下订单。系统A需要调用BCD 三个系统后才能返回下订单成功。
没用mq前:
在这里插入图片描述

用了mq:

在这里插入图片描述

3.削峰
在访问量剧增的情况下,应用仍然可以发挥作用。但是这类的情况是某个时刻发生的而不是常况。为此投入过多资源无疑造成了巨大的浪费。使用消息中间件可以使系统撑住突然爆发的访问压力。
没使用mq:
在这里插入图片描述

使用mq:

在这里插入图片描述

4.扩展性
因为消息中间件解耦了应用的处理过程,所以提高消息入队和处理的效率是很容易的,只需要另外增加处理过程即可。

5.可恢复性
当系统系统一部分服务失效时,不糊影响整个系统。消息中间件降低了进程间的耦合度,所以即使进程挂掉消息也可以等恢复后进行处理。

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值