聊聊什么时候引入MQ

MQ的特点

  消息发送方不关注消息接收方是谁,同时消息接收方不关注消息发送方是谁,但发送方和接收方都要依赖MQ。

什么时候引入MQ

  结合MQ的特点我们知道,两个或多个服务不在同一台服务器上且一个服务需要使用其他服务产生的数据时可以使用MQ。那么,具体的场景呢?

服务顺序执行

  服务A执行完毕再执行服务B,服务B执行完毕再执行服务C。。。MQ不就是为这种场景量身定做的嘛!

消息发送方不关心执行结果

  先来看看该场景下不使用MQ的坏处:两个服务A、B之间使用RPC机制实现通信,此时服务A程序中直接RPC调用服务B,可以看到该做法是强耦合的,服务A依赖服务B,导致服务A执行时间延长,而且一旦服务B挂掉,可能导致服务A也挂掉;同时若有一个新服务C需要接入,服务A要修改程序,调用服务C。
  使用MQ以后,服务A和服务B进行了解耦,服务A只需要把消息发送到MQ即可,谁爱接收谁接收;此时服务A执行完毕就返回了,不会延时,服务B挂掉也不关服务A的事儿,接入新服务C时服务A可能压根不知道,不是说了,谁爱接收谁接收么。

消息发送方关心执行结果,但消息接收方执行时间很长

  很明显使用RPC调用时间会很长,此时使用两次MQ。消息发送方发送消息到MQ,消息接收方监听MQ,这是第一次MQ,此时消息发送方不必担心执行时间;消息接收方执行完毕后,发送消息到MQ,消息发送方监听MQ,这是第二次MQ,此时消息发送方能得到执行结果,消息接收方不必担心在第一次MQ时需要接收新的发送方的消息。

不适合使用MQ

  专挑MQ的弱点下手就不适合喽:消息发送方关心执行结果,服务之间强依赖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值