为什么使用MQ (优缺点)
优点
1.解耦
一个系统可能有abcd四个模块,a 模块是核心模块,bcd 都需要从 a 获取数据,那么就需要在 a 模块写3个接口给bcd传输数据,这样的话,不管是模块增减,还是数据有变,都需要在a模块修改代码,强耦合。此时 ,mq 可以解耦,a 把数据发送到mq,bcd 自行订阅消费即可。
2.异步
一个接口可能调用多个模块的接口,耗时较大。通过 mq ,可以让各个模块自行在后台消费,该接口只需要执行完自己的操作即可返回结果。
3.削峰
系统可能在某个时间点,有大量请求过来,可能会导致系统直接崩掉,而其他时间请求很少,此时就可以通过 mq 存储数据,在后台以每秒系统能够承受的压力去处理请求。