一、优点
1、解耦
1)未使用MQ之前
A系统严重依赖各种乱七八糟的系统耦合起来,A系统产生了一个比较关键的数据,很多系统需要A系统把这个关键的数据传过来。负责A系统的哥们还得考虑,如果A系统挂了怎么办?如果E系统访问超时怎么办?我是不是需要做一个重试机制?
2)使用MQ之后
如果来一个新系统E需要数据,直接从MQ中消费即可。如果老系统D不需要这条数据了,就取消对MQ的消费即可。系统A压根不用考虑给谁发数据,不需要维护这个代码,不需要考虑人家是否调用成功,失败超时等。
小结:
通过MQ的发布和订阅的这么一个模型,Pub/Sub模型,系统A就跟其他系统彻底解耦了。
我们需要考虑一下负责的项目中是否有类似的场景,就是1个系统或者一个模块,调用了多个系统或者模块,相互之间的调用很复杂,维护起来很麻烦。但是这个调用是不需要同步接口的,如果用MQ给它异步化解耦,也是可以的