联系我们

苏州奥尔马电子科技有限公司

江苏省苏州市高新区金猫路9号B幢

丁经理

13584892482

13584892482

135848924828

【阿里云】MNS

发布者:极豹云发布时间:2022-05-19访问量:329
阿里云消息服务 MNS 是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。MNS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息,构建松耦合系统。

应用场景


交易系统


场景描述-交易系统解耦

作为淘宝/天猫主站最核心的交易系统,每笔交易订单数据的产生会引起几百个下游业务系统的关注,包括物流、购物车、积分、阿里妈妈、流计算分析等等,整体业务系统庞大而且复杂,为了保证主站业务的连续性,必须采用分布式的架构设计,各个系统间进行解耦;

高可用松耦合架构设计
通过上、下游业务系统的松耦合设计,即便下游子系统(如物流、积分等)出现不可用甚至宕机,都不会影响到核心交易系统的正常运转;


灵活适应业务的快速增长
应业务要求新增业务系统时,不会影响基础的技术架构改动,也不会影响其他系统间的正常运转;



红包秒杀

场景描述-大流量场景削峰填谷
满足业务在特殊时期,比如秒杀、抢红包、企业开门红等大型活动时皆会带来较高的流量脉冲,防止系统超负荷甚至崩溃,或请求大量失败影响用户体验;

超高流量脉冲处理能力
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对新转码的视频进行加速,加快用户观看体验;

能够解决的问题
多任务间松耦合设计,提高业务并发处理能力
多任务间顺序进行,保证业务流程流畅



产品优势


简单易用

您无需自行搭建消息服务,免运维;
我们提供标准的HTTP RESTful接口,简单易用,对平台无依赖;
多种语言SDK:C++、Java、C#、Python、PHP、golang(第三方)、Node.js(第三方)任您选择。

稳定可靠
数据三重备份,可靠性达 99.99999999%;
服务可用性高达 99.9%;
可以做到 Always Writable。

安全防护
多层次安全防护和防 DDoS 攻击;
做到多用户隔离机制,每个用户独立命名空间;
全面支持 RAM:主子账号,临时 AK;
支持 HTTPS,VPC 访问。

大规模高性能
队列数量及队列存储容量可扩展性强;
系统规模自动扩展,对用户完全透明;
全球多地域提供服务:杭州,北京,上海,青岛,深圳,亚太,美东等20+区域。

快速稳定
快速直达,链接用户仅需3秒;
三网合一专属通道;
专线机房,支持大容量、高并发;
99%到达率,与工信部携号转网平台实时互联;
电信级运维保障,实时监控自动切换。


产品功能

队列模型(Queue)

丰富的队列属性配置
我们提供了丰富的队列属性配置选项,您可以进行队列属性的个性化配置来满足不同的应用场景,支持:普通队列、延迟队列、优先级队列等多种队列模式

支持并发访问
支持多个生产者和消费者并发访问同一个队列,无需特殊设置即可自由调整并发度,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得

消息投递保障
在消息有效期内,确保消息至少能被成功消费一次。用户间资源隔离,确保您队列中的消息不会被非法获取


主题模型(Topic)
支持通知消息

服务端主动将消息发送给用户指定的回调地址(Endpoint),消除用户端程序不必要的轮询和资源消耗

支持一对多广播消息
一条通知消息可以同时被多个订阅者订阅和消费

支持多种投递方式
支持 http / https、邮件、SMS、移动端等多种推送方式

消息投递保障
在消息有效期内,保证发布到 Topic 中的消息会按照指定的策略和格式推送给用户程序