分布式消息中间件 DMS

分布式消息服务(Distributed Message Service)是完全托管的高性能消息队列服务,提供Http API、TCP SDK、Kafka SDK三种数据访问接口,为分布式应用系统提供灵活可靠的异步通信机制

成熟稳定

通过大量业务使用和验证,技术体系稳定可靠,内建高可靠机制,保障数据不丢失

高可用性

支持高可用和消息持久性,保证用户关键业务的可靠运行

高性能

高吞吐量,低延时,消息队列性能高

数据安全

支持用户身份认证与 SSL 通道加密传输机制,确保数据不被窃取或篡改,保证用户数据的安全

应用场景

  • 分布式系统解耦

  • 削峰填谷

  • 数据同步

  • 高扩展性应用

分布式系统解耦

业务解耦

在单体应用中,业务流程耦合导致系统对用户请求响应慢,可以通过拆分子系统,并用消息队列作为子系统间的异步通信通道进行系统解耦,提升整个系统的响应速度

优势

  • 加快系统响应

    系统分布式解耦,并行处理,加快系统对用户请求的响应速度

  • 降低系统耦合

    子系统间通过消息队列通信,避免相互耦合和影响

  • 数据缓存

    消息队列提供亿级消息堆积能力,帮助系统在峰值情况下从容应对

削峰填谷

削峰填谷

业务流量通常不是一成不变的,业务访问量在某些时段会特别高。使用消息队列可以帮助整个系统应对流量洪流,缓解系统访问压力

优势

  • 高可用

    当系统流量洪流突然来袭时,通过队列对消息堆积缓冲,避免下游系统因突发流量崩溃

  • 降成本

    通过队列缓冲,系统不用为1%的突发峰值来通入大量的服务器资源

  • 按需扩展

    队列处理能力按需自动扩展,随时满足系统的扩展性要求

数据同步

数据同步

在大中型分布式系统中,DMS可以帮助各个子系统的数据及时同步到后台模块,并提供数据通道帮助触发其他的业务流程,如函数处理、消息通知等

优势

  • 高并发

    单队列高TPS处理能力,并可通过队列数扩展提升整系统并发能力

  • 丰富消息类型

    广播消息、延时消息、消息重投等使得应用可灵活控制数据同步时间

  • 低时延

    消息投递时间可至毫秒级,保证消息及时性

高扩展性应用

高扩展性应用

针对存在扩展性要求的应用,DMS可以提供统一的接入通道,后续对接系统的增加减少都不会影响核心业务系统

优势

  • 集成方便

    支持普通队列、FIFO队列、Kafka队列类型以及Http,TCP接入,轻松完成与其他系统的集成

  • 按需扩展

    队列处理能力按需自动扩展,及时方便完成系统扩展

  • 异步通信

    异步通信,海量堆积等能力有效隔离各业务系统增加系统健壮性

功能描述

队列类型和接入协议

兼容原生Kafka队列,支持ActiveMQ

  • 多队列类型

    支持普通队列、FIFO保序队列、Kafka队列

  • 多协议接入

    支持HTTP Restful API、TCP SDK、KAFKA SDK接入

  • ActiveMQ接入支持

队列能力

支持私信队列,队列共享和授权

  • 死信队列

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

  • 队列共享和授权

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

消息能力

丰富多样的消息传输能力。

  • 消息过滤

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

  • 定时/延时消息

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

  • 消息重投

    消费者可以决定将暂不消费的消息重新投递到队列中,延后再消费

  • 消息回溯

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

  • 广播消息

    在同一个消费组内对所有消费者投递相同消息

高可靠

服务高可用,数据高可靠

  • 同步落盘与多副本冗余,数据可靠性

  • 各组件采用集群架构,服务高可靠

高性能

支持消息堆积,高并发性能好,消息传输低时延

  • 高并发

    单队列性能支持高并发接入,在大量消息堆积下不影响队列性能

  • 低时延

    消息投递时间可至毫秒级,保证消息及时性

安全防护

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

  • 可追溯

    提供云审计进行租户管理操作的记录和审计

  • 消息加密

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