阿里云消息服务MNS(Message Service)是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。本文为您介绍MNS可靠事件通知的注意事项、配置流程和消费消息。

背景信息

  • MNS提供了队列模型,支持多个生产者和消费者并发访问同一个队列,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得。消息被消费后一段时间内不可见,需要用户主动删除,否则该消息会被再次消费。具体介绍,请参见什么是消息服务MNS?
  • 点播服务支持多个存储区域(中国大陆、新加坡等),每个区域可以单独配置事件通知的回调方式和回调地址。用户可以上传视频到不同区域的存储,视频处理(如上传、转码)完成后,点播服务会根据存储区域配置的回调及时通知用户,并将内容推送到用户MNS服务的队列中。

注意事项

  • 点播服务发起MNS回调时,若未授权点播服务访问、Endpoint不是公网或队列名称不对导致消息写入失败,点播服务会继续重试回调2次,即总共最多回调3次;超过后会丢弃。
  • 消息队列推荐区域:
    • 如果视频保存在中国大陆区域(如华北2、华东2等),建议使用华东2(上海)区域的队列,推送消息到非华东2(上海)区域的队列存在较短时间的延迟。
    • 如果视频保存在其他区域(如新加坡、印度尼西亚等),建议创建或使用该区域的消息队列。

      如:视频存储区域为印度(孟买),则应创建或使用印度(孟买)区域的消息队列。

配置MNS可靠事件通知

  1. 登录阿里云控制台,访问点播授权页面,单击页面下方的同意授权
    授权页面
  2. 登录消息服务控制台创建队列或使用已有队列。具体操作,请参见队列控制台操作帮助
    说明 建议视频存储在中国大陆的,队列列表选择华东2(上海)区域。
  3. 调用设置事件通知配置接口完成事件通知配置。
    • MnsEndpoint(消息队列公网Endpoint)可以通过单击控制台右上角的获取Endpoint按钮获取。获取Endpoint
    • EventTypeList(回调的事件类型),请参见事件类型
  4. 完成事件通知配置后,登录视频点播控制台上传视频来触发需要回调的事件。
  5. 当满足产生回调事件条件时,点播服务端会将回调内容写入您提供的队列,返回消息服务控制台,单击对应队列的接收消息按钮,从接收消息窗口中查看消息内容。

消费消息

配置完成后,可以通过如下代码消费消息。

队列支持多个生产者和消费者并发访问同一个队列,并能确保某条消息在取出之后的特定时间段内,无法被其他消费者获得。消息被消费后一段时间内不可见,需要用户主动删除,否则该消息会被再次消费。