1 解藕
场景
方案
一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,这时可以考虑使用MQ异步化解耦
比如A系统要给BCDEF多个系统发消息,使用MQ后,将消息发到消息服务器,BCDEF想用就去调取,A系统就与各系统没了直接的关系,这就能达到解藕的目的
如:RabbitMQ消息分发模式----"Publish/Subscribe"发布/订阅模式
2 异步
场景
方案
比如一个操作,需要ABCDE加一起来操作完成,但是可以让A系统将数据发到消息服务器后,直接就提示操作完,后续的操作让其他系统去完成,比如下单,下单时数据发到消息服务器,并提示成功,至于减库存等操作交给BCDE等数据库。方案
3 削峰
场景
比如淘宝秒杀系统,为了避免数据压力过大,可以在中间层加入MQ做限流。
方案
版权声明:本文为liuming690452074原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。