一架梯子,一头程序猿,仰望星空!
RabbitMQ面试题 > 内容正文

RabbitMQ面试题:系统引入RabbitMQ有什么缺点?


总体上项目引入RabbitMQ会带来下面三个方面的影响

系统可用性降低

因为项目增加了RabbitMQ这个服务组件,RabbitMQ自己本身不稳定或者挂了,我们系统也会受影响,所以系统可用性会降低,总体上引入的服务组件越多,要维护的东西越多,不稳定的因素越多,相对于什么都不用,或者少用的项目来说系统的可用性是有所下降的。

系统复杂度提高

加入了消息队列,要多考虑很多方面的问题,比如:一致性问题、如何保证消息不被重复消费、如何保证消息可靠性传输等。因此,需要考虑的东西更多,复杂性增大。

一致性问题

A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,咋整?你这数据就不一致了。

总体上引入RabbitMQ消息队列有好处,也带来了一些问题,需要权衡利弊。


推荐教程