怎样使用阿里云消息服务?

本文涉及的产品
云监控,每月短信1000条
日志服务 SLS,月写入数据量 50GB 1个月
简介: 阿里云消息服务(Message Service)是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。MNS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息,构建松耦合系统。 消息服务同时支持各种类型消息推送,其中和短信前后端的无缝整合更高效的为用户提供了大批量短信发送能力。

阿里云消息服务(Message Service)是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。MNS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据、通知消息,构建松耦合系统。

消息服务同时支持各种类型消息推送,其中和短信前后端的无缝整合更高效的为用户提供了大批量短信发送能力。
消息服务提供了两种模型:队列模型;主题模型

两种功能模型的区别:
队列模型支持一对一发送和接收消息;
主题模型支持一对多发布和订阅消息,并且支持多种消息推送方式。

队列模型简介
队列模型旨在提供高可靠高并发的一对一消费模型。即队列中的每一条消息都只能够被某一个消费者进行消费。

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

B. 支持海量并发访问
支持多个生产者和消费者并发访问同一个队列,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得。可以根据业务需求自由伸缩并发访问数。

C. 消息投递保障
在消息有效期内,确保消息至少能被成功消费一次。接入阿里云账号体系,用户间资源隔离,确保您队列中的消息不会被非法获取。

D. 分布式事务消息
完善的分布式环境下事务消息解决方案。

E. 支持日志管理
可以通过日志管理的方式,查看每一条消息发送、接收和删除的完整生命周期。用户可以通过日志管理,方便的进行问题调查。

F. 支持云监控
用户可以通过云监控查看队列情况,并且可以自定义报警项,当队列情况不符合期望时,能够及时知晓。

主题模型简介
主题订阅模型旨在提供一对多的发布订阅以及消息通知功能,支持用户实现一站式多种消息通知方式:
推送到用户指定 HttpServer
推送到用户指定的 Queue(用户可以从该 Queue 拉取消息)
推送到邮件(组)
推送到短信(列表)
WebSocket方式推送(即将支持)
移动推送(计划支持)

主题模型特性
A. 支持通知消息
1)MNS服务端主动将消息推送给用户指定的回调地址(消息通知地址),消除用户端程序不必要的轮询和资源消耗。用户可以将资源集中在处理自身业务的逻辑中。并且也可以避免对其他消息服务产品客户端的依赖,避免因为过多代码引入从而影响自身服务的稳定性。
2)同时,对于由于网络或者其他原因造成用户不方便提供回调地址的,MNS也支持将消息推送到 Queue 中,用户仍然可以直接到 Queue 中获取消息。原先使用“队列模型”的消费者,可以无缝消费主题中的消息。

B. 支持一对多广播消息
1)发布到主题中的一条消息可以同时被多个订阅者订阅,会被按照多个订阅指定的推送方式和 Endpoint 地址推送过去。用户同时可以从多个(种)渠道接收到这条消息。
2)用户仅需发布一次,就可以将消息推送到多个接收端,保证了消息发布的原子性。

C. 支持消息标签过滤
在支持一对多广播消息的基础上,在订阅中还支持对消息进行过滤。可以订阅 Topic 中带有特定标签的消息。在创建订阅时指定消息过滤标签,然后 PublshMessage 时指定消息标签,MNS在推送消息时会根据标签进行过滤,仅推送消息标签与订阅中指定的过滤标签匹配的消息到指定 Endpoint 上。

D. 支持多种投递方式
MNS支持多种消息投递方式,包括但不限于:
推送到 Http(s)Server,详见:HttpEndpoint 处理,HttpEndpoint 签名,HttpEndpoint Java,HttpEndpoint 本地 Debug 工具。
推送到 Queue,详见:Queue 推送,广播拉取消息。
推送到邮箱,详见:邮件推送。
推送到短信,详见:短信推送。
接入 WebSocket 推送(即将支持)。
接入移动推送(计划支持)。

E. 消息投递保障
在消息有效期内,保证发布到 Topic 中的消息会按照指定的策略和格式推送给用户程序。推送策略包括:
退避重试(BACKOFF_RETRY)
重试 3 次,每次重试的间隔时间是 10秒 到 20秒 之间的随机值
指数衰减重试(EXPONENTIAL_DECAY_RETRY),
重试 176 次,每次重试的间隔时间指数递增至 512秒,总计重试时间为1天;每次重试的具体间隔为:1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 512 … 512 秒 (共167个512)

推送消息格式包括:
XML:消息体为XML格式,包含消息正文和消息属性;
JSON:消息体为JSON格式,包含消息正文和消息属性;
SIMPLIFIED (精简格式,即文本格式):消息体即用户发布的消息,不包含任何属性信息;

F.支持云产品吗时间通知
MNS提供了事件通知的功能,用户可以通过在MNS上创建事件通知的规则,来关注其他阿里云产品指定资源上产生的事件,并且由MNS以消息的方式主动推送到指定的接收端。目前已接入OSS,用户可以通过事件通知功能监听和处理 OSS 中 Bucket 的管理事件、Bucket 中 Object 的创建、删除、更新等事件。

G. 支持日志管理
可以通过日志管理的方式,查看每一条消息发布进主题的记录,以及每一次推送给用户的记录,包括重试推送的记录、推送结果等。能够展示每条消息的生命周期。用户可以通过日志管理,方便的进行问题调查。

H. 支持云监控
可以通过云监控查看消息推送的记录,及时查看和监控消息的推送情况,当推送失败次数比较多时,能够通过添加报警的方式及时知晓。

短信发送能力
消息服务同时具备通信服务的能力,支持快速发送短信验证码、短信通知、推广短信。完美支撑双11期间的2亿用户发送6亿短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保证,时时监控自动切换,到达率高达99%。

短信通知和验证码
大容量高并发:支撑双11期间2亿用户发送6亿短信。3秒可达,三网合一专属通道,与工信部携号转网平台实时互联。变量灵活,支持带入变量,内容灵活,可适应支持各业务场景。

推广短信
支持多种推广内容的短信发放,为提升企业产品增加曝光率提供帮助。业务推广、新产品宣讲、会员关怀等进行短信发送。

批量发送
一对多广播消息,发布到主题中的一条消息可以同时被多个订阅者订阅,会被按照多个订阅指定的推送方式和 Endpoint 地址推送过去。

异步通知
可以后端服务处理完成任务时,回调通知用户。进而减少用户,Web前端和后端服务之间大量不必要的轮询请求。

数据统计
可查看请求量、发送成功量、失败量、等统计数据;通过日期、手机号等维度,查看发送详情。

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
《阿里云通信战略新品发布 ——国际港澳台消息服务》电子版地址
阿里云通信战略新品发布 ——国际/港澳台消息服务
81 0
《阿里云通信战略新品发布 ——国际港澳台消息服务》电子版地址
《阿里云通信战略新品发布—国际港澳台消息服务》电子版地址
阿里云通信战略新品发布—国际/港澳台消息服务
97 0
《阿里云通信战略新品发布—国际港澳台消息服务》电子版地址
|
消息中间件 JSON 物联网
使用消息服务(MNS)订阅阿里云物联网平台设备消息PHP示例参考
物联网平台服务端订阅支持将设备消息发送至消息服务(MNS),云端应用通过监听MNS队列,获取设备消息。本文主要演示使用最新版MNS PHP SDK消费订阅到MNS Queue中的消息。
使用消息服务(MNS)订阅阿里云物联网平台设备消息PHP示例参考
|
消息中间件 分布式计算 物联网
阿里云物联网平台数据转发到消息服务(MNS)示例
本文主要演示通过规则引擎将消息流转到MNS Topic,然后通过Queue订阅Topic中的消息。
阿里云物联网平台数据转发到消息服务(MNS)示例
|
消息中间件 物联网 云计算
解密阿里云七武器之高性能消息服务ONS
本文讲的是解密阿里云七武器之高性能消息服务ONS【IT168评论】7月22日,首届阿里云分享日上,阿里云正式对外发布了企业级互联网架构解决方案,该服务由EDAS应用框架、ONS消息队列、DRDS分布式数据库组成,能有效解决企业上云后网站过载、性能瓶颈、重复开发等问题。
2862 0
|
消息中间件 数据采集 弹性计算
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
198 3
|
搜索推荐 开发者
消息服务-短信产品基本概念 | 学习笔记
快速学习消息服务-短信产品基本概念
消息服务-短信产品基本概念 | 学习笔记
|
开发工具 开发者
消息服务-创建短信签名 | 学习笔记
快速学习消息服务-创建短信签名
消息服务-创建短信签名 | 学习笔记
|
开发工具 开发者
消息服务-事件通知使用 | 学习笔记
快速学习消息服务-事件通知使用
消息服务-事件通知使用 | 学习笔记