一.优点
1.解耦
例子:用户下单,增加订单同时需要修改库存
- 传统:订单系统调用库存系统接口
缺点:加入库存系统无法访问将导致下单失败,订单系统与库存系统耦合
- 引用消息队列:订单系统负责下单,将消息推送到消息队列,库存系统订阅消息,下单系统不会因库存系统无法访问受到影响,达到订单系统与库存系统的应用解耦
- 如果多个系统相互调用接口的情况,传统方式将会更加复杂,而引用消息队列,各自负责自己的事,有关联的就处理消息就行,
2.异步
3.削峰
- 系统高峰期,会将消息存在消息队列,按系统可处理方式消费消息,高峰期已过,系统消费积压的消息,达到系统稳定
一.缺点
1.系统复杂度提高
- 需要保证消息可靠性传递,消息消费顺序,保证消息队列高可用
2.系统可用性降低
3.数据一致性
- A系统发送消息成功就返回成功,并不知道消息是否消费,导致数据暂时不一致
三.总结
消息队列能带来许许多多好处,也得针对缺点结合架构技术来规避,做好后,系统复杂度虽然提高,但是,在需要用到的场景使用作用会非常大
消息队列优缺点
原文:https://www.cnblogs.com/jugh/p/14046508.html