【总结】SMN和DMS的区别
一开始接触DMS(分布式消息服务)会有点疑惑,不容易搞清楚DMS服务到底是什么,也容易混淆DMS和SMN两种服务。学习了一下这两种服务,并通过以下三个方面对SMN和DMS服务进行总结。
DMS和SMN服务比较
DMS和SMN使用场景比较
DMS和SMN服务比较:
DMS:Distributed Message Service, 是一项基于高可用分布式集群技术的消息中间件服务,具有大规模、高可靠、高并发访问、可扩展且完全托管的特点。
DMS服务不像SMN服务可以直接向端点用户发送消息,而是提供中间件服务,提供接口,软件对接软件的形式,相当于消息托管。
SMN: Simple Message Notification, 是可靠,可扩展,海量的消息通知服务。它大大简化系统的耦合,能够根据用户的需求,向订阅者主动推送消息的服务,订阅者可以是电子邮件、短信、应用等等。
SMN和DMS使用场景比较:
DMS | SMN |
业务解耦 如华为VMALL电商网站在双十一促销抢购订单,抢到手机订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。 | 连接云应用程序 基于发布订阅消息,可以在您的云应用程序之间发送消息,并且通过推送的方式 可以消除您应用程序中的轮询。 |
最终一致性 用于两个系统的状态最终保持一致,或都成功或都失败。用于如交易系统的高可 靠数据传递,实现跨系统的事务最终一致,降低实现难度和成本。 | 向多个协议推送消息 可以向电子邮件,短信,HTTP和HTTPS节点等目的地群发通知。同时也避免租户 自建复杂的消息收发体系。 |
削峰填谷 电商大促销等流量洪流突然来袭时,可以缓冲突发流量,避免下游订阅系统因突 发流量崩溃。 | 与其它云服务集成 可以将消息通知作为消息连接不同的云服务,例如将消息从云服务通知到企业云 的其它服务。 |
错峰流控 上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提供消息堆积缓冲能力,在下游系统有能力处理消息的时候再处理,减少由于处理能力的差异导致的拥塞、系统崩溃等问题,提高系统的可用性,降低系统实现的复杂性。 | 错峰流控 上下游系统处理能力有差异时,可以使用消息服务转储系统之间的通信数据,提 供消息堆积缓冲能力,减少下游系统的压力。减少系统崩溃等问题,提高系统的 可用性,降低系统实现的复杂性。 |
- 点赞
- 收藏
- 关注作者
评论(0)