分布式消息队列(MQ)的应用场景说明1
- 服务解耦
- 服务之间强依赖:同步dubbo调用、同步HTTP调用,比如spring cloud、GRPC。
- 服务之间弱依赖:消息中间件
- 弱依赖调用也不能失败,则在上游做一个可靠性投递。
- 削峰填谷
- 把流量的高峰和低谷的速率做一个平衡。MQ最早期就是做这么一件事情。
- 当下游服务处理不过来的时候,可以把缓存到一个地方,然后慢速去消费,这就是削峰。
- 即时性很高、流量很大的场景,比如秒杀大促。
- 大促不可能持续的时间很长,比如说双十一大促,可能持续半小时一小时,后面相对而言就比较平稳了,可以把大促开始的消息积压到囤积到MQ中,慢慢去做一个消费,这也是可以的。
- 异步化缓冲
- 有些业务逻辑可以做异步操作,只需要做到最终一致性即可,不需要做到实时强一致性。
分布式消息队列(MQ)的应用场景说明2
- 消息驱动
- 跨系统异步通信
- 应用解耦
- 下单生命周期。支付、订单履约、配送这些在下单接口做负担很大,新加入返券功能还得改下单接口。
- 这种场景可以通过消息驱动的模式完美解决。下单接口只需要推送一条消息到消息中间件中,如果下游应用需要在下单后进行其他的业务流程,只要订