0
点赞
收藏
分享

微信扫一扫

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)

目录

什么是MQ

RocketMQ的发展历程 

RocketMQ概念术语 

什么是MQ

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java

消息:是MQ中最小的概念,本质就是一段数据。

队列:在MQ中使用队列的数据结构来存储消息。

MQ是把消息和队列结合起来,称为消息队列(Message Queue),是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递—— 生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。 

MQ的应用场景

应用解耦

系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子 系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作 异常,影响用户使用体验。

串行方式注册流程:

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java_02

并行方式注册流程:

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_Java_03

 异步解耦方式:

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java_04

流量削峰 

应用系统如果遇到系统请求流量的瞬间猛增,有可能会将系统压垮。有了消息队列可以将大量请求缓存起来,分散到很长一段时间处理,这样可以大大提高系统的稳定性和用户体验。 举例:业务系统正常时段的QPS如果是1000,流量最高峰是 10000,为了应对流量高峰配置高性能的服务器显然不划算,这时可以使用消息队列对峰值流量削峰。

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java-rocketmq_05

实时效果反馈

1.MQ的功能包括哪些?

 A 应用解耦

B 削峰填谷

C 缓存同步

D 以上都是

各大MQ产品比较 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java_06

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_07

 实时效果反馈

1.RocketMQ的特点里不包括哪个?

A 商业支持

B 支持事务

C 采用数据库持久化

D 性能较高

RocketMQ的发展历程 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_08

RocketMQ概念术语 

1、生产者和消费者

生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统,它负责消费消息。

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_09

 2、消息模型(Message Model)

消息模型主要有队列模型和发布订阅模型,RabbitMQ采用的是队列模型,如下图所示

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_10

 RocketMQ采用发布订阅模型,模型如图所示:

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_消息队列_11

3、主题(Topic) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java_12

表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。 

4、代理服务器(Broker Server) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_Java_13

消息中转角色,负责存储消息、转发消息。

5、名字服务(Name Server) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_14

名称服务管理代理服务器broker,相当于一个管理机构。

6、生产者组(Producer Group) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_消息队列_15

同一类Producer的集合,这类Producer发送同一类消息且发送逻辑一致。 

 7、消费者组(Consumer Group)

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_消息队列_16

同一类Consumer的集合,这类Consumer通常消费同一类消息且消费逻辑一致。 

8、拉取式消费(Pull Consumer) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_rocketmq_17

Consumer消费的一种类型,应用通常主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制。一旦获取了批量消息,应用就会启动消费过程。 

9、推动式消费(Push Consumer) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_消息队列_18

Consumer消费的一种类型,该模式下Broker收到数据后会主动推送给消费端,该消费模式一般实时性较高。 

10、普通顺序消息(Normal Ordered Message) 

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java-rocketmq_19

普通顺序消费模式下,消费者通过同一个消息队列( Topic 分区,称作 Message Queue) 收到的消息是有顺序的,不同消息 队列收到的消息则可能是无顺序的。 

11、严格顺序消息(Strictly Ordered Message)

RocketMQ【什么是MQ、MQ的应用场景(应用解耦、流量削峰)、RocketMQ的发展历程、RocketMQ概念术语 】(一)-全面详解(学习总结---从入门到深化)_java-rocketmq_20

严格顺序消息模式下,消费者收到的所有消息均是有顺序的。 

实时效果反馈

1.RocketMQ的消息类型不包括哪个?

A 顺序消息

B 事务消息

C 定时消息

D 异步消息

举报

相关推荐

0 条评论