消息队列 MNS 简史|学习笔记

简介: 快速学习消息队列 MNS 简史

开发者学堂课程消息队列 MNS (RocketMQ 轻量版)入门课程消息队列 MNS 简史学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1237/detail/18413


消息队列 MNS 简史

 

本次课程主要分为五个部分,包括消息队列mns的简介,优势特点,最佳实践案例以及mns快速入门,还有动手实践,期望通过本期课程的介绍,能够带领大家由浅入深的对阿里云交易队列有更加全面的了解,也期望学习能够帮助大家解决日常工作和生产的问题,那今天来开始第一课,先带大家简要的对mns消息队列有基础的认识跟了解,在整体介绍mns之前,一起对消息队列的整体概念行一个回顾和温习,用更加形象的方式和大家一起来看一看为什么要使用消息队列以及消息队列有哪些基础的模型?

image.png

当你的业务或系统需要异步解耦削峰填谷的时候,自然而然会想到使用消息队列,那什么是消息队列呢?让我们先忘掉眼前的电脑跟代码一起回到童年,趴在电视前看电视剧的那个年代

早上五更十分,早朝开始,每个大都向皇帝进行汇报,这种情况大臣向皇帝的汇报就是一个一对一输出的过程,时间短还好,时间一长,皇帝受不了,排队的大臣也会有点儿崩溃那类业务系统来说,这种官员道皇帝传递信息的模式就像同步处理系统简单还好,一旦系统复杂起来,比如说有了微服务等应用,这种同步可能就比较容易崩溃,那怎么办呢?皇帝便走进他的内阁和六部来请减负,由六部大臣和内阁以及各地的大臣经联动来帮助皇帝处理动者,各地的大臣送来的斗折先交,由内阁暂存,然后再交,用六步来处理,这样一来,不必每时每刻仅一对一的汇报,就是异步结尾,同时即使遇到了洪灾,旱灾,这种各地救灾奏折暴增传来的这种情况,也能有序的由内阁向六部经三发,不至于让整个朝廷崩溃,这个就叫削峰填谷

对比于业务系统来说,由各地官员到内阁再到六部处理的这个流程就像我们常见的消息队列的模式可以有效的解决系统和业务之间义务结构以及削峰填谷。

 image.png

在了解完什么是消息队列,来看一下消息队列主要的两种模型还是刚才的故事,有大臣不断的向那个去发送奏折,这个时候可以也看成一个传送带来进行传送组织,每个六个大臣只能在座位上拿上一个对应的奏折,这就类比于我们的这种队列的模型,它实现的是什么呢?它实现的就是一对一的消费模式及队列中的每一个消息都只能够被某一个消费者来消费如果要将一条消息发送给多个消费者,比如一个地方同一份同单的走着,既要发给兵来派兵救灾,同时又需要发给户部来申请相应的救灾款,还需要发给公布来申请筑坝的工人,这个时候那个就充当了类似于有几个角色,将同一分斗既可以投递给不同的部门同时也可以放到不同的衙门,有各自的官员来自行自行来取,这种就是一对多的消费模型,也就是订阅发布模型,在订阅发布模型中消息的发送方式,发布者消息的接收方为订阅者服务端存放消息的容器就叫做主题,这个月在接受消息的时候应该先订阅主题,第一个在这里它既是一个动作,同时也可以认为是主题在消费时的一个逻辑副本,每一份的订阅中,订阅者都可以教授到主题的所有的消息.

image.png

在介绍完消息队列的基础概念之后就比较好理解了,来看一下消息队长的整体定义

定位是提供的是进量的模型,进量的HTTP协议运维比较奇妙,同时计费也比较轻妙,具备一级成等特点,这里进量的HTTP协议比较好理解,可以轻松的实现系统的对接,进量模型纸以队列模型为核心,可以实现队列的弹性扩容,相对来说也比较的灵活我PPT中所示,然后mns有需进行资源的规划,同时还支持弹性的按量计费的,计费方面也比较轻量,我们近期也推出了相关的资源包,在购买的方式上也会更加的便捷使用消息队列。最重要的尤其是云产品,可能最重要的考虑的是它的可靠性,我们从校一队列跟自建队列的可靠性的对比上,来对mns进行一个简单的小结,

image.png

创建队列,在稳定性和性能方面非常的依赖内存,一不小心内存用完了,这个服务可能就挂掉了,mns是标准的云消息队列产品开箱即用,除了在应用层具备刚才所说的几个方面的基础特性之外呢,在运煤层面也具备副本能在多租户隔离,高可用的特性,简单来说具有的特点是1+2+3+n,外加一些高级功能。

下一课对于mns的特点进行详细的介绍,最后,再加一个餐,刚才介绍到mns是以队列模型为核心,但消息队列的mns它同样支持定位发布模型的最佳实践,具体方式如图所示,

image.png

它就是通过创建订阅,让主题将消息先推送到各个队里边儿去,然后消费者再从对月里去拉取消息,这样既可以得到一对多的广播,又可以避免掉暴露消费者的地址。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
22天前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
22天前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
1天前
|
消息中间件 存储 Java
【揭秘】RocketMQ内部运作大揭秘:一探究竟,原来消息队列是这样工作的!
【8月更文挑战第19天】RocketMQ是一款高性能、高可用的消息中间件,在分布式系统中至关重要。它采用发布/订阅模式,支持高吞吐量的消息传递。核心组件包括管理元数据的NameServer、存储消息的Broker以及Producer和Consumer。RocketMQ支持发布/订阅与点对点两种模型,并具备复杂的消息持久化和路由机制。通过Java API示例,可轻松实现消息的发送与接收。RocketMQ凭借其出色的特性和可靠性,成为大型分布式系统首选的消息解决方案。
11 5
|
8天前
|
消息中间件 存储 缓存
一个用过消息队列的人,竟不知为何要用 MQ?
一个用过消息队列的人,竟不知为何要用 MQ?
35 1
|
22天前
|
消息中间件 Java 物联网
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
|
5天前
|
消息中间件 网络架构
RabbitMQ消息队列常见面试题
这篇文章总结了RabbitMQ的常见面试题,涵盖了消息模型、使用场景、实现功能、消息幂等性、顺序性、堆积和丢失的避免方法,以及推模式和拉模式的区别。
18 0
|
6天前
|
消息中间件 Java Kafka
MQ 消息队列 比较
MQ 消息队列 比较
12 0
|
22天前
|
消息中间件 JavaScript Linux
消息队列 MQ操作报错合集之客户端在启动时遇到了连接错误,是什么原因
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
22天前
|
消息中间件 运维 Go
消息队列 MQ使用问题之如何配置生产环境
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
22天前
|
消息中间件 存储 负载均衡
消息队列 MQ使用问题之如何在grpc客户端中设置负载均衡器
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。

热门文章

最新文章

相关产品

  • 轻量消息队列(原 MNS)
  • 云消息队列 MQ