一、解耦
接收订单与处理订单解耦
-
很大程度的提高了接单的吞吐量,并且也很容易进行处理能力的扩展。
-
订单系统与订单处理也不用关心对方使用的啥语言,降低对接成本。
![](https://img-blog.csdnimg.cn/20200520092806779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb3hpbGFveGlf,size_16,color_FFFFFF,t_70)
二、发后即忘
1)批处理:异步化批处理任务。
2)告警通知:可以利用direct或者topic方式
![](https://img-blog.csdnimg.cn/20200520092806786.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb3hpbGFveGlf,size_16,color_FFFFFF,t_70)
3)并发处理:可以使用fanout模式
![](https://img-blog.csdnimg.cn/20200520092806798.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb3hpbGFveGlf,size_16,color_FFFFFF,t_70)
三、RabbitMQ实现RPC并等待响应
服务端、客户端与RabbitMQ的调用关系,如下图
![](https://img-blog.csdnimg.cn/20200520092806817.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb3hpbGFveGlf,size_16,color_FFFFFF,t_70)
服务端、客户端流程图如下
![](https://img-blog.csdnimg.cn/20200520092806819.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhb3hpbGFveGlf,size_16,color_FFFFFF,t_70)