mq 的缺点 ?

系统可用性降低 

系统引入的外部依赖越多越容易挂掉本来你就是 A 系统调用 BCD 三个系统的 

接口就好了 ABCD 四个系统好好的没啥问题你偏加个 MQ 进来万一 

MQ 挂了咋整?MQ 挂了整套系统崩溃了你不就完了么

系统复杂性提高 

硬生生加个 MQ 进来你怎么保证消息没有重复消费怎么处理消息丢失的情况

怎么保证消息传递的顺序性头大头大问题一大堆痛苦不已 

一致性问题 

A 系统处理完了直接返回成功了人都以为你这个请求就成功了但是问题是 

 BCD 三个系统那里,BD 两个系统写库成功了结果 C 系统写库失败了咋整

你这数据就不一致了

所以消息队列实际是一种非常复杂的架构你引入它有很多好处但是也得针对 

它带来的坏处做各种额外的技术方案和架构来规避掉最好之后你会发现 

系统复杂度提升了一个数量级也许是复杂了 10 但是关键时刻 

是得用的 

Java Program!
原文地址:https://www.cnblogs.com/programb/p/12996001.html