别冒冒失失在项目里用MQ,里面很多坑都不知道肯定不行!

本文探讨了在系统中引入消息中间件如RabbitMQ后可能导致的系统可用性降低、稳定性下降及分布式一致性问题。MQ故障可能导致业务流程中断,增加系统依赖,影响高可用性。此外,消息丢失、重复或积压可能导致数据错误和系统不稳定。分布式一致性问题也需要解决方案以确保数据一致性。面试者应对MQ优缺点有深入理解,并能提出应对系统挑战的策略。
摘要由CSDN通过智能技术生成

一 前情回顾

上篇文章《做了几年开发,你知道自己的系统为什么要用消息中间件吗?》,给大家讲了讲消息中间件引入系统架构的作用,主要是解决哪些问题的。

其比较常见的实践场景是:

  • 复杂系统的解耦
  • 复杂链路的异步调用
  • 瞬时高峰的削峰处理

二 正式开始

这篇文章给大家讲讲,如果你在系统架构里引入了消息中间件之后,会有哪些缺点?

1 系统可用性降低

首先是你的系统整体可用性绝对会降低,给你举个例子,我们就拿之前的一幅图来说明。

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

在这里插入图片描述

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

但是你有没有考虑另外一个问题,就是万一你依赖的那个MQ中间件突然挂掉了怎么办?这个还真的不是异想天开,MQ、Redis、MySQL这些组件都有可能会挂掉。

一旦你的MQ挂了,就导致你的系统的核心业务流程中断了。本来你要是不引入MQ中间件,那其实就是一些系统之间的调用&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值