消息队列-解耦
A系统发送数据到B、C、D系统,但没有使用消息队列时候的耦合场景
当后面系统不断增加,比如 E,F系统的加入,以及D系统的移除
因为A系统和其它各种系统耦合起来,那么需要处理的事情会给出多
使用MQ后
系统A发送一条消息,到消息队列中,哪个系统需要获取到哪里,那么从MQ中消费数据,如果新系统E加入的话,那么只需要编写代码,然后也直接从MQ中消费即可,当系统D不需要这个数据时,那么只需要不对该消息进行消费即可。系统A不需要考虑给谁发送数据,也不需要维护这个代码,不需要考虑人家是否调用成功、失败、超时等等情况
总结:通过一个MQ,发布和订阅模型(Pub/Sub模型),系统A就和其它系统彻底解耦。
需要考虑一下负责的系统中,是否有类似的场景,就是一个系统或者一个模块,调用了多个系统,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要同步调用接口的,如果用MQ给他异步化解耦,也是可以的,这个时候可以考虑在自己的项目中,是不是可以运用这个MQ来进行系统的解耦。