MQ

01-MQ消息队列

2021-07-04  本文已影响0人  紫荆秋雪_文

一、什么是MQ

MQ(Message Queue)本质是个队列,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务

二、为什么要用MQ

1、流量消峰

例如在正常情况订单系统最多可以处理一万次订单,但是在高峰期,如果有两万次下单情况下订单系统是处理不了的。

2、应用解耦

以电商引用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个系统出现了故障,都会造成下单操作异常。 image.png

3、异步处理

有些服务间调用是异步的,例如 A 调用 B,B需要花费很长时间执行无法立即给 A 响应,但是 A 需要知道 B 的执行响应

三、MQ的分类

1、ActiveMQ

优点:单机吞吐量万级,时效性ms级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据
缺点:维护越来越少

2、kafka

大数据的杀手锏,以其百万级TPS的吞吐量名声大噪,迅速成为大数据领域宠儿

优点
缺点

3、RocketMQ

RocketMQ 出自阿里巴巴的开源项目,使用Java实现

优点
缺点

4、RabbitMQ

2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,可服用的企业消息系统,是当前最主流的消息中间件之一

优点
缺点
上一篇 下一篇

猜你喜欢

热点阅读