订单系统改造
原创大约 2 分钟
在之前的订单履约系统中,由于环节比较多,也涉及到了很多不同的子系统。

这些环节和子系统中的任何一个都可能成为整个系统的瓶颈,而且其中任何一个出了问题,都会影响整个系统的可用性。
所以,可以利用消息队列对它进行一番改造。

除了更新状态
与扣减库存
这两个较为关键的操作由订单系统直接同步处理外,其他的子系统,例如消息推送、调整积分、优惠促销、物流发货等,全部都通过RocketMQ对接。
RocketMQ有三种不同的发送模式
。
同步发送模式
。在这种方式下,消息生产者会一直等待消息消费的结果之后才继续往下执行。这种同步执行的方式和用不用MQ没啥区别。异步发送模式
。在这种方式下,消息生产者将消息发送出去之后就接着往下执行,不会等到有结果了才继续执行。单向发送模式
。这种方式和异步发送方式一样,消息发送完成后继续执行代码,不会等待结果的返回。
和发送模式
相对的,RocketMQ也有两种不同的消息消费模式
。
Push模式
。在这种方式下,Broker
会主动把消息发给消费者,消费者被动地接收Broker
推送过来的消息。Pull模式
。在这种方式下,Broker
不会主推消息送,而是消费者主动到Broker
上去拉取消息。