【总结】SMN和DMS的区别

举报
瓷喵 发表于 2017/12/22 17:41:33 2017/12/22
【摘要】 一开始接触DMS(分布式消息服务)会有点疑惑,不容易搞清楚DMS服务到底是什么,也容易混淆DMS和SMN两种服务。学习了一下这两种服务,并通过以下三个方面对SMN和DMS服务进行总结。DMS和SMN服务比较DMS和SMN使用场景比较 DMS和SMN服务比较:DMS:Distributed Message Service, 是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访

一开始接触DMS(分布式消息服务)会有点疑惑,不容易搞清楚DMS服务到底是什么,也容易混淆DMS和SMN两种服务。学习了一下这两种服务,并通过以下三个方面对SMN和DMS服务进行总结。

DMS和SMN服务比较

DMS和SMN使用场景比较

 

DMS和SMN服务比较:

DMS:Distributed Message Service, 是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。

DMS服务不像SMN服务可以直接向端点用户发送消息,而是提供中间件服务,提供接口,软件对接软件的形式,相当于消息托管。

SMN: Simple Message Notification, 是可靠,可扩展,海量的消息通知服务。它大大简化系统的耦合,能够根据用户的需求,向订阅者主动推送消息的服务,订阅者可以是电子邮件、短信、应用等等。


SMNDMS使用场景比较:

DMS

SMN

业务解耦
将业务中依赖其他系统同时属于非核心或不重要的部分使用消息通知即可,无需同步等待其他系统的处理结果。

如华为VMALL电商网站在双十一促销抢购订单,抢到手机订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。

连接云应用程序

基于发布订阅消息,可以在您的云应用程序之间发送消息,并且通过推送的方式

可以消除您应用程序中的轮询。

最终一致性

用于两个系统的状态最终保持一致,或都成功或都失败。用于如交易系统的高可

靠数据传递,实现跨系统的事务最终一致,降低实现难度和成本。

向多个协议推送消息

可以向电子邮件,短信,HTTPHTTPS节点等目的地群发通知。同时也避免租户

自建复杂的消息收发体系。

削峰填谷

电商大促销等流量洪流突然来袭时,可以缓冲突发流量,避免下游订阅系统因突

发流量崩溃。

与其它云服务集成

可以将消息通知作为消息连接不同的云服务,例如将消息从云服务通知到企业云

的其它服务。

错峰流控

上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提供消息堆积缓冲能力,在下游系统有能力处理消息的时候再处理,减少由于处理能力的差异导致的拥塞、系统崩溃等问题,提高系统的可用性,降低系统实现的复杂性。

错峰流控

上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提

供消息堆积缓冲能力,减少下游系统的压力。减少系统崩溃等问题,提高系统的

可用性,降低系统实现的复杂性。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。