最佳实践:如何基于MNS实现一对多拉取消息消费模型

  1. 云栖社区>
  2. 阿里云存储服务>
  3. 博客>
  4. 正文

最佳实践:如何基于MNS实现一对多拉取消息消费模型

消息小二 2016-05-27 14:16:40 浏览6167
展开阅读全文

如何实现一对多拉取消息消费模型

问题背景

阿里云消息服务MNS 已经提供队列(queue)和主题(topic)两种模型。其中队列提供的是一对多的共享消息消费模型,采用客户端主动拉取(Pull模式;主题模型提供一对多的广播消息消费模型,并且采用服务端主动推送(Push模式。上面两种模型基本能满足我们大多数应用场景。

 

推送模式的好处是即时性能比较好,但是需要暴露客户端地址来接收服务端的消息推送。有些情况下,比如企业内网,我们无法暴露推送地址,希望改用拉取(Pull)的方式。虽然MNS不直接提供这种消费模型,但是我们可以结合主题和队列来实现一对多的拉取消息消费模型。具体方案如下:

 

解决方案:

让主题将消息先推送到队列,然后由消费者从队列拉取消息。这样既可以做到1对多的广播消息,又不需要暴露消费者的地址;如下图所示:

fd522053707462f71e44928315782ab2e1cde430

接口说明:

MNS最新

网友评论

登录后评论
0/500
评论
消息小二
+ 关注
所属团队号: 阿里云存储服务