MQ的基本概念

MQ是消息队列的缩写,用于分布式系统间的通信,主要优势包括应用解耦、异步处理和削峰填谷。然而,引入MQ也会带来系统可用性下降和复杂度增加的问题,需要关注高可用保障、消息重复消费和丢失以及顺序性。使用MQ需满足生产者与消费者间的反馈延迟、短暂不一致容忍及实际效益超过管理成本。常见MQ产品有RabbitMQ、RocketMQ、Kafka等,选型时需结合具体需求。
摘要由CSDN通过智能技术生成

MQ概述
MQ全称Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。

优势
应用解耦
异步提速
削峰填谷

劣势
系统可用性降低:系统引入的外部依赖越多,系统的稳定性越差。一旦MQ宕机,就会对业务造成影响。如何保证MQ的高可用?
系统复杂度提高:MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ异步调用。如何保证消息没有被重复消费?怎么处理消息丢失情况?怎么保证消息传递的顺序性?
一致性问题:A系统处理完业务,通过MQ给B、C、D三个系统发送消息数据,如果B系统、C系统处理成功,D系统处理失败。如何保证消费数据处理的一致性?

使用MQ需要满足什么条件?
(1)生产者不需要从消费者处立即获得反馈
(2)容许短暂性不一致
(3)确实是用了有效果。即解耦、提速、削峰这些方面的收益,超过加入MQ,管理MQ的这些成本。

常见的MQ产品
RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,也有直接使用Redis充当消息队列的案例,而这些消息队列产品,各有侧重,在实际选型时,需要结合自身需求及MQ产品特征,综合考虑。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二次觉醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值