分布式消息服务DMS是什么

分布式消息服务DMS

分布式消息服务(Distributed Message Service,简称DMS)是一项基于高可用分布式集群技术的消息中间件服务,提供了可靠且可扩展的托管消息队列,用于收发消息和存储消息。

为什么选择分布式消息服务DMS

简单易用

Web化按需自助创建,自动化部署,分钟级创建实例,立即使用,相比开源需要等待几天搭建完成。

成本低

分布式消息服务无需单独采购硬件资源,直接使用服务,业务规模上升时平滑扩容,不中断业务,投入成本低,不需要任何代价,从容应对。

高可靠

分布式消息服务数据可靠性99.999999999%、服务可用性99.95%。

1、数据可靠性:同步落盘与多副本冗余,数据可靠性高达 99.99999999%。

2、服务可靠性:集群化部署与跨AZ部署,确保服务可用性高达 99.95%。

高性能

分布式消息服务支持亿级消息堆积,可弹性扩展队列数,支持千万级并发。

1、海量堆积:支持亿级消息堆积,在海量堆积下不影响队列性能。

2、高并发:单队列并发最高可超过10万TPS(每秒处理的消息数),扩展队列数可获得更高并发。

3、低时延消:息投递时间可至毫秒级,保证消息及时性。

安全防护

分布式消息服务业务操作可回溯,消息存储加密等有效安全措施。

1、可追溯:提供云审计进行租户管理操作的记录和审计。

2:消息加密:数据加密存储,防止消息被窃取。

分布式消息服务DMS系统权限

系统角色/策略名称
描述
类别
依赖关系

DMS FullAccess

分布式消息服务管理员权限,拥有该权限的用户可以操作所有分布式消息服务的功能。

系统策略

DMS UserAccess

分布式消息服务普通用户权限(没有实例创建、修改、删除、扩容、转储)。

系统策略

DMS ReadOnlyAccess

分布式消息服务的只读权限,拥有该权限的用户仅能查看分布式消息服务数据。

系统策略

DMS Administrator

分布式消息服务逻辑多租管理员权限,拥有该权限的用户可以操作队列管理的所有功能。

系统角色

依赖Tenant Guest和VPC Administrator。

分布式消息服务DMS基本能力

  • 队列类型

    多队列类型

    分布式消息服务支持普通队列、FIFO保序队列、高级队列。

    多队列类型

    分布式消息服务支持普通队列、FIFO保序队列、高级队列。

  • 接入协议

    多协议接入

    分布式消息服务支持HTTP Restful API、TCP SDK、KAFKA SDK接入。

    多协议接入

    分布式消息服务支持HTTP Restful API、TCP SDK、KAFKA SDK接入。

  • 队列能力

    分布式消息服务支持按需弹性扩容,队列共享和授权。

    自动弹性扩展

    队列按需自动扩展,按实际使用量计费。

    死信队列

    将其无法成功处理的消息存放于死信队列,便于统一分析和处理。

    队列共享和授权

    支持租户间或租户内针对不同用户的队列共享和授权。

    分布式消息服务支持按需弹性扩容,队列共享和授权。

    自动弹性扩展

    队列按需自动扩展,按实际使用量计费。

    死信队列

    将其无法成功处理的消息存放于死信队列,便于统一分析和处理。

    队列共享和授权

    支持租户间或租户内针对不同用户的队列共享和授权。

  • 消息能力

    分布式消息服务支持一键在线扩容,不影响上层业务。

    消息过滤

    根据消息标签对可消费的消息进行过滤。

    消息回溯

    通过指定时间或位置,对已经消费过的消息进行重新消费。

    定时/延时消息

    在消息生产时间(当前时间)之后的指定时间点投递给消费组消费。

    分布式消息服务支持一键在线扩容,不影响上层业务。

    消息过滤

    根据消息标签对可消费的消息进行过滤。

    消息回溯

    通过指定时间或位置,对已经消费过的消息进行重新消费。

    定时/延时消息

    在消息生产时间(当前时间)之后的指定时间点投递给消费组消费。

分布式消息服务DMS有哪些典型应用场景

分布式消息服务可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。

分布式消息服务可以应用但不局限于以下业务场景:

业务解耦

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

如电商网站在促销期间抢购订单,抢到的商品订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。

最终一致性

在交易或支付系统中,不同的子系统/模块的状态需要最终保持一致,或都成功或都失败。子系统/模块之间传递的数据不能丢失,需要有可靠消息传递,能保证业务的连续性。分布式消息服务DMS可以用于子系统/模块间的高可靠数据传递,实现两者之间的事务最终一致,降低实现难度和成本。

例如用户使用储蓄余额购买理财产品。由于理财系统一般对理财申购交易采用日终统一处理,允许用户的储蓄余额与理财系统资金余额存在一定时间段的不一致,或者说中间状态,因此,可以对理财产品的购买支付流程使用分布式消息服务DMS的消息处理机制,保证储蓄余额与理财余额的最终一致,同时避免系统间对账不平。

错峰流控

在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息队列提供亿级消息堆积能力,3天的保留时长,消息消费系统可以错峰进行消息处理。

日志同步

应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集进行应用监控。

使用分布式消息服务DMS实现日志同步一般按以下流程:

1、日志采集客户端,负责用户应用服务的日志数据采集,以发送消息方式写入DMS消息队列。

2、DMS消息队列,负责日志数据的接收、存储和转发管理。日志。

3、理应用,订阅并消费DMS消息队列中的日志数据。

分布式消息服务DMS教程视频

分布式消息服务kafka版

05:25

分布式消息服务kafka版

分布式消息服务RocketMQ版

04:49

分布式消息服务RocketMQ版

分布式消息服务RabbitMQ版

04:58

分布式消息服务RabbitMQ版

1对1咨询专属顾问

1对1免费咨询华为云专属顾问,为您量身定制产品推荐方案
立即咨询

华为云咨询电话:950808或4000-955-988 转1

华为云咨询电话:950808或4000-955-988 转1

华为云专业的服务团队,致力于为您提供专业的售前购买咨询服务,及完善的售后技术服务,助您云上无忧