消息服务MNS_消息通知服务_系统松耦合_容器与中间件-阿里云

产品规格

产品优势

轻量队列
提供更简单,轻量的消息队列,聚焦消息领域核心能力构建。提供轻量 Queue/Topic 资源模型,简单易用无复杂模型概念;提供轻量 HTTP RESTful 接口,原生支持 HTTP 协议对平台无依赖; 多种语言SDK:C++、Java、C#、Python、PHP、golang(第三方)、Node.js(第三方)。
Serverless
MNS 是标准的 Serverless 化产品,可处理近乎无限的并发请求,无需感知或预先配置任何集群信息,拆箱即用;同时采用后付费计费方式, 无需预留任何实例资源,只为实际使用量付费。
安全稳定
稳定性方面数据三重备份,可靠性达 99.99999999%; 服务可用性高达 99.95%; 可以做到 Always Writable;同时提供多层次安全防护和防 DDoS 攻击; 做到多用户隔离机制,每个用户独立命名空间; 全面支持 RAM:主子账号,临时 AK; 支持 HTTPS,VPC 访问。
高级特性支持
可自定义消息延迟,定时消息,消息体大小,消息生命周期,标签过滤,重试即死信等高级特性。提供健全的消息产品方案帮助开发者在应用的分布式组件之间自由地传递数据、通知消息,从而构建松耦合系统。

产品功能

队列模型(Queue)
丰富的队列属性配置我们提供了丰富的队列属性配置选项,您可以进行队列属性的个性化配置来满足不同的应用场景,支持普通队列、延迟队列、优先级队列等多种队列模式。
支持并发访问支持多个生产者和消费者并发访问同一个队列,无需特殊设置即可自由调整并发度,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得。
消息投递保障在消息有效期内,确保消息至少能被成功消费一次。用户间资源隔离,确保您队列中的消息不会被非法获取。
主题模型(Topic)
支持通知消息服务端主动将消息发送给用户指定的回调地址(Endpoint),消除用户端程序不必要的轮询和资源消耗。
支持一对多广播消息一条通知消息可以同时被多个订阅者订阅和消费。
支持多种投递方式支持 http / https、邮件、SMS、移动端等多种推送方式。
消息投递保障在消息有效期内,保证发布到 Topic 中的消息会按照指定的策略和格式推送给用户程序。

应用场景

交易系统解耦
大流量场景削峰填谷
关闭未支付订单
用户信息注册
在线抽奖设计
任务系统设计
跨私网数据交换
视频系统架构
交易系统解耦
作为淘宝/天猫主站最核心的交易系统,每笔交易订单数据的产生会引起几百个下游业务系统的关注,包括物流、购物车、积分、阿里妈妈、流计算分析等等,整体业务系统庞大而且复杂,为了保证主站业务的连续性,必须采用分布式的架构设计,各个系统间进行解耦。
能够提供
高可用松耦合架构设计
通过上、下游业务系统的松耦合设计,即便下游子系统(如物流、积分等)出现不可用甚至宕机,都不会影响到核心交易系统的正常运转。
灵活适应业务的快速增长
应业务要求新增业务系统时,不会影响基础的技术架构改动,也不会影响其他系统间的正常运转。
推荐搭配使用
大流量场景削峰填谷
满足业务在特殊时期,比如秒杀、抢红包、企业开门红等大型活动时皆会带来较高的流量脉冲,防止系统超负荷甚至崩溃,或请求大量失败影响用户体验。
能够提供
超高流量脉冲处理能力
MNS超高性能的消息处理能力可以承接流量脉冲而不被击垮,在确保系统可用性同时,因快速有效的请求响应而提升用户的体验。
海量消息堆积能力
确保下游业务在安全水位内平滑稳定的运行,避免超高流量的冲击。
合理的成本控制
通过削弱填谷可控制下游业务系统的集群规模,从而降低投入成本。
推荐搭配使用
关闭未支付订单
订单未支付后的业务逻辑处理,并触发定时任务;可以通过队列设计定时消息:创建订单库存减1的同时,发送付款检查任务的定时消息到消息服务Queue; 定时消息在30分钟后可见,后端服务消费到付款检查任务的消息;也可以通过MNS完成实时通知:后端服务进行付款检查,如果订单还未支付,对订单进行回滚,库存加1。
能够提供
创建定时消息
比如通过创建定时消息以判断电商交易中超时未支付的订单是否已付款或者需要关闭订单;(满足消息生产和消费的时间差的业务要求。
完成定时通知
比如上场景中对超时未支付订单对用户发送提醒消息(满足通过消息触发定时任务的业务场景设计)。
推荐搭配使用
用户信息注册
表单注册等系统同步转异步,实现异步通知;用户注册成功后,需要发送注册成功邮件、新用户积分、优惠券等,加入MNS,可以提升主流程用户注册流程的响应速度,而发送通知等非主流程或非重要任务可以异步集中处理,同时还可以将任务聚合然后批量处理。
能够提供
减少请求、提升效率和系统并行能力,提高系统吞吐量
MNS 通知功能,可以在后端服务处理完成任务时,回调通知用户。进而减少用户、Web前端和后端服务之间大量不必要的轮询请求。
设计运营通知
消息推送通知是运营方法中使用频率较高的一种。它可以在某个时间节点提醒用户进行某项操作,比如上新活动推送、有趣新闻内容提醒、或派送优惠券通知等,增强用户黏性。
推荐搭配使用
在线抽奖设计
在线抽奖系统架构设计:访问抽奖系统前端集群,抽奖系统后端管理集群随机生成奖品信息,注入奖品队列;随机生成奖品信息:通过两个队列进行中奖信息同步,前端通过奖品队列读取奖品信息,对用户的抽奖请求进行判定,命中之后,发送中奖信息到中奖信息队列;抽奖请求判定及用户通知:后端管理集群收取中奖信息队列中奖信息,发送通知消息到奖品通知主题,奖品通知主题推送奖品通知短信、邮件到用户,通知实时统计系统 http 回调进行中奖统计。
能够提供
前端抽奖系统和后段奖品系统松耦合
通过奖品队列,完成用户在线抽奖和奖品随机生成。
完成中奖情况的判定、中奖消息的同步和用户的通知
通过队列、主题、消息的结合,实现了用户事件的实时推送,保证中奖信息的时效性。
推荐搭配使用
任务系统设计
设计任务系统,完成HTTP回调。通过队列异步执行任务计算:用户提交任务执行消息到任务队列中;任务执行集群消费任务队列中的任务消息,异步执行计算任务;通过MNS完成实时通知:计算任务执行结束,发送送通知消息到主题,主题异步调用任务管理服务器上的http回调,并且发送邮件和短信通知用户。
能够提供
避免解决并发请求带来的数据洪峰,压缩会场页面响应时间
比如双11大促,各个分会场几百上千个商品需要实时感知价格变化,大量并发访问数据库,数据库的访问压力极大。
避免因为带宽瓶颈限制商品变更的访问流量,实时通知商品数据的变化
推荐搭配使用
跨私网数据交换
相互隔离的内网间的数据通过公网进行相互隔离的内网间的数据通过公网进行数据交换。
能够提供
数据同步和交换
无需打通企业A和B的内网,也无需暴露企业A内网服务,消息服务作为公共消息通道实现企业A向企业B数据同步和交换。
灵活设置访问策略
消息服务已经支持RAM访问控制和STS临时授权方式,可以灵活设置公网队列的访问策略。
推荐搭配使用
视频系统架构
视频上传和视频处理服务解耦:视频上传至oss,oss发送视频上传完成事件消息到消息任务队列;视频处理通过MNS完成状态更新:视频处理服务MTS读取任务队列中事件消息,根据时间消息拉取文件,进行视频转码,重新上传转码结果,发送通知到通知主题;视频上架:视频网站更新数据,上架视频;CDN对新转码的视频进行加速,加快用户观看体验。
能够提供
多任务间松耦合设计,提高业务并发处理能力
多任务间顺序进行,保证业务流程流畅
推荐搭配使用

产品动态

2016-02-10 新功能
消息服务对接移动推送功能
查看详情
2016-12-12 新地域/可用区
香港数据中心正式发布消息服务
查看详情
2016-12-12 新地域/可用区
[消息服务]日本站消息服务的主题模式正式发布上线
查看详情
2017-02-08 新地域/可用区
物流云支持MNS 队列,主题,通知功能
查看详情
2017-02-28 新地域/可用区
主题模型(topic)在国际站上线
查看详情
2017-03-30 新功能
消息服务和短信服务合并
查看详情
2017-04-10 新功能
消息服务 iOS SDK发布
查看详情
2017-04-19 新地域/可用区
深圳金融云支持MNS 短信功能
查看详情
2017-06-07 价格调整
新短信资源包支持发送30万条通知类短信
查看详情
2017-06-22 体验优化
短信概览页增加endpoint查询入口
查看详情
2017-08-04 新地域/可用区
消息服务 OSS 事件通知功能新增香港、美国西部2个Region。
查看详情
2017-10-27 新地域/可用区
消息服务开放马来西亚,国内站与其它国内站Region保持一致,国际站与其它国际站Region保持一致
查看详情
2018-09-14 价格调整
MNS计费模型调整
查看详情
查看全部日志

更多产品与服务

消息队列 RocketMQ 版
阿里巴巴官方指定消息产品,成熟、稳定、先进的技术体系打造金融级消息服务,感受双十一产品的完美体验。
微消息队列 MQTT 版
移动互联网、物联网、互动直播原生支持,万物互联,端与云双向通信,支撑千万级设备同时在线。
消息队列 Kafka 版
消息队列 Kafka 版是 Apche Kafka 的全托管服务,具备专享集群部署、免运维、开箱即用、安全可靠的特点。
消息队列 RabbitMQ 版
完全兼容 AMQP 标准协议以及 RabbitMQ 开源生态与多语言客户端,开箱即用,免运维,更安全、更可靠。

文档与工具