开发者社区 > 云原生 > 中间件 > 正文

引入消息中间件之后会有什么缺点?

引入消息中间件之后会有什么缺点?

展开
收起
真的很搞笑 2021-10-28 19:52:08 409 0
1 条回答
写回答
取消 提交回答
  • 首先是你的系统整体可用性绝对会降低,给你举个例子,我们就拿之前的一幅图来说明。

    比如说一个核心链路里面,系统 A→系统 B→系统 C,然后系统 C 是通过 MQ 异步调用系统 D 的。

    看起来很好,你用这个 MQ 异步化的手段解决了一个核心链路执行性能过差的问题。

    但是你有没有考虑另外一个问题,就是万一你依赖的那个 MQ 中间件突然挂掉了怎么办?

    这个还真的不是异想天开,MQ、Redis、MySQL 这些组件都有可能会挂掉。一旦你的 MQ 挂了,就导致你的系统的核心业务流程中断了。

    本来你要是不引入 MQ 中间件,那其实就是一些系统之间的调用,但是现在你引入了 MQ,就导致你多了一个依赖。一旦多了一个依赖,就会导致你的可用性降低。

    因此,一旦引入了 MQ 中间件,你就必须去考虑这个 MQ 是如何部署的,如何保证高可用性。

    甚至在复杂的高可用的场景下,你还要考虑如果 MQ 一旦挂了以后,你的系统有没有备用兜底的技术方案,可以保证系统继续运行下去。

    2021-10-28 19:52:28
    赞同 展开评论 打赏
问答分类:
问答地址:

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
Web服务架构变化及性能优化 立即下载
消息队列 Kafka 版差异化特性 立即下载
极简微服务模式—消除微服务复杂度的最佳实践 立即下载