使命必达--阿里云商用消息服务MNS初探

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:
87ef82eb5e5b9860ff82d24bb70b93cc16a5849c
在2015杭州云栖大会上,阿里云飞天事业部资深总监李津发布了一款海量消息,使命必达的消息服务产品(http://www.aliyun.com/product/mns)。该产品能够提供高效,可靠,安全,便捷,弹性扩展的消息服务;能够
帮助我们轻松的构建松耦合,高并发的分布式系统;能够方便我们做跨域数据安全传输。目前,消息服务也是阿里云唯一商用消息产品,其服务稳定性和可靠性都有SLA保障。下面让我一起来详细了解一下这款产品。
 
架构优势带来海量,高可靠,高可用特性
在了解消息服务前,不得不提的是阿里云飞天系统。飞天是阿里云的核心平台,提供了分布式存储和分布式计算服务。阿里云大部分产品都是基于核心这个平台,消息服务也不例外。下图是消息服务基于飞天的架构图:
07859026291f5088314e30fe0ad20486ac784a36

消息服务在研发之初就是 以海量,高可靠性,高可用性为目标来 设计的。这是消息服务和其他通过软件云化,以主从同步实现数据可靠性的消息中间件最根本的区别。
消息服务 无论是数据节点还是元数据节点,都采用了完全分布式的设计,具有非常好的线性扩展能力。用户数据被打散存储到整个集群,突破了单物理机的存储上限,进而实现了海量的数据存储能力。用户队列个数和单队列堆积消息数都无上限限制;
消息服务每条消息在返回给用户写成功之时就确保数据已被复制3份写到不同物理机上,并且后台数据复制机制能够保证任何一台物理机故障时其上的数据能够快速的做迁移,时刻保证用户数据3份copy可用,进而实现了非常高的数据可靠性(99.99999999%);
同样的,消息服务的每个用户队列都同时有2个以上物理机提供服务,并且发生物理机故障时,队列服务单元会做快速自动迁移,这就保证了任何时刻出现机器故障,都不会影响用户对于队列的使用,进而保证了消息服务的高可用性。
 
六大特色功能
除了上述3大基本特点外,消息服务还提供了一系列特色功能,
特色功能1:保证消息至少被消费一次。通常的消息队列,在消息被取出后就认为用户程序已经消费成功。在阿里云的消息服务里,只有消息在被用户主动删除后,才会被认定为消息被用户程序消费成功。否则,消息服务会保证消息在用户设定的时间后继续可以消费,进而保证消息“使命必达”。 这个机制在分布式系统中单点故障成为常态的情况下非常有用,用户不用担心自己的程序崩溃而导致丢失正在处理中的消息,也无需在程序重新启动后做任何消费状态设置。
特色功能2:所有API包括管理API,都采用标准HTTP Restful 接口,支持公网访问,无平台依赖。用户可以轻松的做跨域的数据传输,而不需要在防火墙开特殊端口;也不需要等待官方某种特定语言的SDK,可以很方便的用各种语言以自己想要的方式实现SDK,做到自主可控。
特色功能3:优先级消息。在现实生活中,我们在银行,火车票售票排队窗口,会看到对于XXX优先等字样,其实在程序世界也是一样。我们会有特殊紧急的消息/任务需要优先处理。消息服务为此专门提供了优先级消息功能,能够让优先级高的消息“插队”,优先被用户程序处理。
特色功能4:延迟消息。我们也会碰到有些任务需要在一定时间后被执行的场景。例如:用户下完订单后,需要在15分钟后检查用户订单是否完成付款,这时我们只需要消息服务的队列里发送一条延迟15分钟的消息即可。处理程序15分钟后从队里读取消息,并检查订单状态是否为支付成功,如果没有则取消订单,并更新商品库存。
特色功能5: 批量消息功能。有时候,我们需要一次性往队列里发送或获取多条消息,以提高处理速度。这时消息服务的批量消息功能就可以帮助我们实现这一目的。
特色功能6: 通知消息功能。该功能是消息服务即将公测的功能,已经应用于阿里云的对象存储服务和媒体转码等云服务。目前已经支持http回调方式,后续还会支持移动推送,邮件,短息通知。可以轻松帮助我们实现真正的异步通知场景。
 
多种应用场景,零运维成本
消息服务提供的上述功能,能够帮助用户轻松实现系统解耦,削峰填谷,数据交换,通知回调,定时任务,优先级任务等场景,并且不需要自己购买服务器,搭建开源消息中间件软件以及后续繁琐的运维扩容工作。消息服务提供了一键开通,按需使用,弹性扩容,按量计费的全方位贴心服务。让企业可以专注于自己的系统组件间的业务逻辑,而不需要为底层消息中间件稳定性担忧,真正实现了0运维成本。
 
消息产品云服务化趋势,阿里云消息服务使命必达
在云计算越来越普及,SOA架构大行其道的今天,消息中间件已经成为了必不可少的组件,我们预测传统的自己搭建服务器做为消息中间件的方式也会慢慢退出历史舞台。国外云计算起步较早的国家这个趋势越加明显,涌现出了不少商用消息中间件云服务。国内阿里云凭借着自己坚实的核心技术实力和服务电商大数据的经验已经取得了国内云计算的领先地位。消息服务也正是经过了阿里云产品内部近4年的锤炼而成的商用产品,因此在成熟度和稳定性要远超其他国内同类产品,并承诺使命必达,不丢消息。
相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
5月前
|
消息中间件 大数据 Kafka
Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务
Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务
|
消息中间件 Java Kafka
一款消息队列的客户端框架——启明信息车联网MQ演进实践分享
一款消息队列的客户端框架——启明信息车联网MQ演进实践分享 分享人:阿里云MVP曾宪宇,2014开始 就职于启明信息,负责车联网平台的架构和建设,坐标吉林长春。 分享内容:结合主流MQ,介绍一款基于Java的开源消息队列客户端框架。
2857 0
一款消息队列的客户端框架——启明信息车联网MQ演进实践分享
|
15天前
|
消息中间件 存储 物联网
RocketMQ 之 IoT 消息解析:物联网需要什么样的消息技术?
RocketMQ 5.0 是为应对物联网(IoT)场景而发布的云原生消息中间件,旨在解决 IoT 中大规模设备连接、数据处理和边缘计算的需求。
|
1月前
|
运维 监控 Cloud Native
应用研发平台EMAS常见问题之尝试设置小米的通道但是小米手机收不到消息如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
29 4
|
1月前
|
消息中间件 存储 Cloud Native
深度剖析 RocketMQ 5.0,IoT 消息:物联网需要什么样的消息技术?
本文来学习一个典型的物联网技术架构,以及在这个技术架构里面,消息队列所发挥的作用。在物联网的场景里面,对消息技术的要求和面向服务端应用的消息技术有什么区别?学习 RocketMQ 5.0 的子产品 MQTT,是如何解决这些物联网技术难题的。
90814 4
|
机器人 5G UED
一文详解运营商发布的“5G消息白皮书”
2020年4月8日中国移动、中国电信、中国联通携手华为、小米、vivo、OPPO、中兴等11家终端厂商联合发布了《5G消息白皮书》,用来`推动传统短消息服务升级`。 三大运营商联合发布的《5G消息白皮书》创造了一种怎样的商业模式,我们该如何理解《5G消息白皮书》?
943 1
《阿里云通信战略新品发布 ——国际港澳台消息服务》电子版地址
阿里云通信战略新品发布 ——国际/港澳台消息服务
57 0
《阿里云通信战略新品发布 ——国际港澳台消息服务》电子版地址
《阿里云通信战略新品发布—国际港澳台消息服务》电子版地址
阿里云通信战略新品发布—国际/港澳台消息服务
69 0
《阿里云通信战略新品发布—国际港澳台消息服务》电子版地址
《RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台》电子版地址
RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台.ppt
77 0
《RocketMQ5.0,生于云、长于云的新一代“消息、事件、流”融合处理平台》电子版地址
|
搜索推荐 5G 定位技术
「第三期」宝藏级5G消息应用号推荐:这么好用的5G消息发现了吗?
新一批“5G消息应用号”已经到货啦!还不知道有哪些宝藏级5G消息应用号可以体验的小伙伴赶紧看过来啦~
「第三期」宝藏级5G消息应用号推荐:这么好用的5G消息发现了吗?