消息队列 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
相关文章
|
2月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
87 6
|
2月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
85 8
|
1月前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
2月前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
2月前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
2月前
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
71 4
|
2月前
|
消息中间件 监控 测试技术
云消息队列RabbitMQ实践 - 评测
根据反馈,对本解决方案的实践原理已有一定理解,描述整体清晰但需在消息队列配置与使用上增加更多示例和说明以助理解。部署体验中获得了一定的引导和文档支持,尽管文档仍有待完善;期间出现的配置文件错误及依赖库缺失等问题已通过查阅资料解决。设计验证展示了云消息队列RabbitMQ的核心优势,包括高可用性和灵活性,未来可通过增加自动化测试来提高系统稳定性。实践后,用户对方案解决问题的能力及适用场景有了明确认识,认为其具有实际生产价值,不过仍需在性能优化、安全性增强及监控功能上进行改进以适应高并发和大数据量环境。
46 0
|
5月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
5月前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件
手撸MQ消息队列——循环数组
队列是一种常用的数据结构,类似于栈,但采用先进先出(FIFO)的原则。生活中常见的排队场景就是队列的应用实例。在数据结构中,队列通常用数组实现,包括入队(队尾插入元素)和出队(队头移除元素)两种基本操作。本文介绍了如何用数组实现队列,包括定义数组长度、维护队头和队尾下标(front 和 tail),并通过取模运算解决下标越界问题。此外,还讨论了队列的空与满状态判断,以及并发和等待机制的实现。通过示例代码展示了队列的基本操作及优化方法,确保多线程环境下的正确性和高效性。
52 0
手撸MQ消息队列——循环数组

相关产品

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