產品白皮書
# 版本更新說明
| 日期 | 手冊版本 | 適用產品 | 更新說明 |
|---|---|---|---|
| 2024年12月 | V2.0.2 | ADMQ | 新增版权声明等内容 |
| 2025年12月 | V2.0.5 | ADMQ | 产品升级 |
| 2026年06月 | V2.0.6 | ADMQ | 新增ADMQ专用化引擎系列 |
# 前言
訊息中介軟體主要用于协助程序之间实现异步通信,在系統架構中起到削峰填谷、异构集成、应用解耦和异步隔离等作用。传统的訊息中介軟體基于JMS规范发展而起,如金蝶天燕于2003年左右推出的金蝶Apusic訊息中介軟體。伴随互联网应用的发展,RocketMQ、Kafka、RabbitMQ等分布式訊息中介軟體开始兴起,这些訊息中介軟體有的关注吞吐能力,有的关注高性能,有的关注灵活路由,不同的产品适用于不同的應用場景,如Kafka倾向于数据流处理,主要应用于大数据流处理和日誌处理场景。
近年来,随着云计算及微服務架構的流行,分散式訊息佇列在物聯網、分布式事务、实时计算和大规模缓存同步等场景中的应用日益增多。以银行为例,分散式訊息佇列可以将交易拆分成多个本地子事务,通过訊息佇列进行非同步處理,提高交易处理的效率和並行性,减少系統同步阻塞和脏读的可能性。分散式訊息佇列可以用于大规模数据的快速分析和处理,提高风险评估和資料分析的效率和准确性。
2020年,金蝶天燕启动了传统訊息中介軟體面向金融、电信行业的改造升级,将目光投向了新一代金融级訊息佇列技术,研发新一代訊息中介軟體產品并提供相关的支援服務。经过持续的产品演进,ADMQ已形成两大产品形态:面向大规模訊息平台场景的企業級訊息佇列,以及面向开源訊息替代场景的ADMQ專屬訊息佇列,全面满足企业不同层次的訊息中介軟體需求。
# 發展歷程
- 2026年06月,ADMQ V2.0.6發布,新增ADMQ for Kafka、ADMQ for RocketMQ、ADMQ for RabbitMQ、ADMQ for MQTT等專屬訊息佇列。
- 2024年12月,ADMQ V2.0.2發布,新增版权声明等内容。
- 2023年12月,ADMQ V2.0标准版适配多个國產软硬件系統。
- 2023年07月,發布ADMQ V2.0标准版,提供企业级訊息中介軟體能力。
- 2022年06月,發布ADMQ V2.1版本,支援三员權限管理和多執行個體部署管理。
- 2021年12月,發布ADMQ V2.0版本,提供插件扩展能力、适配多个國產软硬件系統。
- 2021年08月,發布ADMQ V1.1版本,提供动态代理和快速安装功能。
- 2021年07月,發布完善的ADMQ V1.0版,为企业应用提供分布式訊息能力。
- 2021年05月,ADMQ V1.0 beta版,具备统一訊息接入能力。
- 2021年01月,自主研发分散式訊息佇列软件立项。
# 產品概述
金蝶Apusic分散式訊息佇列(Apusic Distributed Message Queue,简称ADMQ)是金蝶天燕面向企业级應用場景打造的金融级分布式訊息中介軟體產品系列。ADMQ提供两种产品形态,以适应不同规模和场景的需求:
# 產品名稱
金蝶 Apusic 分散式訊息佇列软件 V2.0(Apusic Distributed Message Queue,简称 ADMQ)提供两种产品形态,覆盖从平台化建设到信創替代的完整场景:
- ADMQ 企業級訊息佇列:面向大型企业统一訊息中台、多租用戶共用基础设施、跨地域数据复制及复杂訊息处理等大规模平台化场景,提供企业级訊息底座能力。
- ADMQ 專屬訊息佇列:面向信創替代与开源訊息产品替换场景,提供五款專屬訊息佇列——ADMQ for Kafka、ADMQ for RocketMQ、ADMQ for RabbitMQ、ADMQ for ActiveMQ、ADMQ for MQTT,实现平滑遷移与無縫替換。

# 產品受眾
- 分布式应用架構师和开发人员。
- 大数据开发工程师。
- 系統監控、維運人员。
- 企业信創项目负责人和决策者。
- 金融、电信、政务、能源等行业使用者。
# ADMQ企業級訊息佇列
# 產品定位
ADMQ企業級訊息佇列是一款金融级分布式訊息中介軟體,具有多租用戶隔離、跨叢集复制、强一致性、高可靠、高並行、云原生、丰富的訊息類型等特性。采用計算儲存分離的架構,可灵活扩缩容。支援原生Java、C++、Python、Go多种API。支援以Kafka、RocketMQ、RabbitMQ、ActiveMQ用戶端和MQTT、JMS等协议接入,从而简化不同业务系統的接入难度。
ADMQ企業級訊息佇列可应用于削峰限流、系統解耦、非同步處理、資料分析等场景,性能方面满足海量訊息堆积、高輸送量、低延遲需求。提供资源視覺化统一管理控制平台和实时監控功能。
# 核心功能
| 功能 | 功能說明 |
|---|---|
| 訊息發布/訂閱 | 一對多消費模式,發布者可以将訊息发送到主題,被一个或多个消費者同时消費。同时支援點對點傳輸模式。 |
| 跨區域複製 | 訊息的跨區域、遠距離、毫秒級即時同步,支援訊息的跨地域發布和訂閱。 |
| 多租用戶支援 | 叢集内置多租用戶支援,充分利用基础设施,简化了維運和管理。 |
| 多語言用戶端 | 提供Java、Go、Python、C++、.NET、Node.js等多語言用戶端。 |
| 多協定接入 | 支援原生Kafka、RocketMQ、RabbitMQ、ActiveMQ、MQTT、JMS協定接入,无需修改代码即可完成到ADMQ的迁移。 |
| 訊息壓縮 | 訊息壓縮发送,支援LZ4、ZLIB、ZSTD、SNAPPY、GZIP等多种壓縮格式。 |
| 網路协议 | 支援IPv4和IPv6;支援主机双网卡;支援訊息傳輸时指定IP位址。 |
| 檔案傳輸 | 支援檔案可靠傳輸,支援斷點續傳,支援多线程並行发送。 |
| 訊息傳輸 | 支援訊息可靠傳輸,支援斷點續傳。 |
| 統一認證授權 | 提供统一的視覺化界面,管理租用戶、命名空間、主題的建立和销毁,并分配使用者相应的使用權限。 |
| 優先級佇列 | 支援訊息优先级处理。 |
| 訊息查詢 | 支援訊息查詢和全鏈路訊息軌跡追蹤。 |
| 國密SSL傳輸 | 在訊息傳輸过程中支援國密SSL加密傳輸。 |
# 产品功能架構
ADMQ企業級訊息佇列由三部分組成:無狀態的服務層,负责处理生產者发出的訊息,并将这些訊息分派给消費者;儲存層负责訊息的持久化儲存;Zookeeper进行中繼資料儲存、叢集設定和协调。

# 主要功能
# 统一訊息模型
通过"訂閱"抽象出了统一的消費模型:生產者-主題-訂閱-消費者。ADMQ的訊息模型既支援佇列模型,也支援串流模型。訊息在主題上仅儲存一次,但是使用者可以有不同的訂閱方式来消費这些訊息:
- 消費者被组合在一起消費訊息,每个消費组是一个訂閱。
- 每个主題可以有不同的消費组。
- 每组消費者都是对主題的一个訂閱。
- 每组消費者可以拥有自己不同的消費模型:
- 獨占(Exclusive):在任何時間,一个消費者组中有且只有一个消費者来消費主題中的訊息。
- 故障切換(Failover):多个消費者可以附加到同一訂閱。但是一个訂閱中的所有消費者,只会有一个消費者被选为该訂閱的主消費者,其他消費者将被指定为故障轉移消費者。
- 共用(Share):同一个訂閱,使用者按照应用的需求挂载任意多的消費者。訂閱中的所有訊息以循环分发形式发送给多个消費者,并且一个訊息仅传递给一个消費者。
- Key共用:同一个訂閱,使用者可根据给定的映射規則,訂閱中相同key的訊息发送给同一个消費者。
# 跨區域複製
跨區域複製是将ADMQ中持久化的訊息在多个叢集间备份。ADMQ在核心服務上构建了跨區域複製功能,使用者可以在部署时选择同步或异步設定,并且可以按主題設定复制机制。生產者可以从任何地区写入共用主題,ADMQ负责确保这些資訊对各地的消費者均可见。
ADMQ只需进行简单設定,即可在多个方向复制单个主題到任意数量的外部数据中心。ADMQ在后台进行資料同步,由儲存層处理,不会影响服務层正在处理的其他工作负载。
# 多租用戶
每个租用戶都可以有单独的認證和授權机制。租用戶也是儲存配额、訊息TTL和隔离策略的管理单元。多租用戶基础设施可以跨多个使用者和组织共用,同时保证它们彼此隔离。一个租用戶的活动不会影响其他租用戶的安全或SLA。
# 權限控制
支援在租用戶和命名空間上管理和分配使用者的權限。当訊息生產者和消費者连接到叢集时,需要对生產者和消費者使用的资源进行權限的分配,保障数据的安全性。
支援主-子账户權限模型,子账户拥有的權限是主账户的子集。
# 事务支援
多个訊息发送和接收可包含在一个事务里,ADMQ保证一个事务中的所有訊息发送和訊息接收的单元操作要么全部成功,要么全部失敗。通过对事务的支援,ADMQ可以将多个訊息的发送包含进一个事务中,从而轻松地实现诸如关联交易等业务。
# 訊息分块傳輸
ADMQ对单条訊息的长度没有严格限制,在訊息傳輸协议中使用4字节儲存訊息负载长度,理论上最大支援傳輸2G的訊息内容。
为了保证傳輸性能,每条訊息的长度最好限制在10M以内。对于比较大的訊息,ADMQ支援分块傳輸的方式,在用戶端侧把訊息切割成多个訊息块,当所有的訊息块都傳輸成功后,ADMQ再按顺序把所有訊息块组装成一条完整的訊息发送给訂閱用戶端。
# 傳輸安全
支援TLS協定,从而实现用戶端与伺服器之间、以及伺服器与伺服器之间的傳輸通道安全保护;支援國密SSL。
支援傳輸过程中的訊息进行加密。生產者和消費者可以提前约定私鑰,生產者发送訊息时对訊息进行加密,消費者通过私鑰对訊息进行解密,从而保证訊息在傳輸过程中的安全性。
# 多協定接入
ADMQ提供强大的多協定接入能力。计算部分把涉及到訊息处理的部分抽象出API接口,包括訊息的读写、Topic發布和管理、分割區处理、訊息内容格式化、消費进度和訊息查詢等功能API的抽象。当用戶端使用其他协议接入时,就可以很方便的把对应的操作转换成抽象API中的方法。
这种方式能很容易的适配其他协议的用戶端,目前支援Kafka協定、RocketMQ協定、RabbitMQ協定、AMQP協定、JMS協定和MQTT協定。
# 多副本儲存
ADMQ接收到訊息后可以把訊息副本儲存到多个節點上,同时可基于地域或者机房的策略儲存,保证副本平分到不同的地域和机房,从而提高数据的可用性。
# 多叢集傳輸通道
ADMQ内置了跨叢集訊息傳輸功能,当其中一个叢集收到訊息后自动转发到其他叢集,从而实现多叢集、跨網路的訊息傳輸功能。
支援租用戶、命名空間的维度設定訊息的转发目的地。
# 黑白名單
ADMQ支援IP、网段的黑白名單过滤,严格控制用戶端访问的IP或网段。
# 視覺化管控台
- 叢集管理:部署管理ADMQ叢集;证书管理、依赖管理、外掛程式管理,節點管理;設定叢集資訊、設定節點参数;自动扩容;節點资源監控等。
- 使用者管理:新增使用者資訊、编辑使用者資訊、删除使用者資訊、修改使用者密码、查看令牌、查看權限。
- 通道管理:跨叢集间的訊息复制視覺化界面,包括:新增通道資訊、编辑通道資訊、删除通道資訊。
- 資源管理:管理監控租用戶、命名空間、主題。
- 訊息查詢:監控查询訊息的轨迹。
- 系統維運:監控維運、系統警報、功能验证、節點日誌。
- 系統設定:伺服器管理、license管理、軟體包管理、默认設定管理、操作日誌、事件管理。
- 外掛程式管理:Kafka管理、RocketMQ管理、RabbitMQ管理、ActiveMQ管理。
# 監控維運
管控台自带的監控維運模块可用于監控管理叢集資訊并以图表的形式直观显示出来。
集成auc登录平台和amp監控平台,叢集節點可通过管控台監控自动跳转到amp監控图表界面,对節點资源情况进行監控。
对于企業級訊息佇列中的协议插件,管控台分别从租用戶、主題、訂閱组等维度对资源生产消費情况进行監控。
提供HTTP監控接口。
# 技術特性
# 计算与儲存分离
ADMQ企業級訊息佇列采用計算與儲存分離的雲端原生架構,将訊息的儲存和服務分开,可实现儲存層和服務层的独立扩展。扩容过程无需任何数据再平衡,不会将旧数据从现有儲存節點复制到新儲存節點,从而降低了網路带宽和I/O的消耗。
# 高性能低延遲
能够高效支援百万级訊息生产和消費,海量訊息堆积且訊息堆积容量不设上限。单叢集QPS超过10万,同时在时耗方面有保护机制来保证低延遲,满足业务性能需求。
# 无限制的主題儲存
主題被分割成分片,以分布式方式儲存,因此主題的容量不受单一節點容量的限制。
# 无缝故障復原
由于服務层是无狀態節點,所以某一个節點宕机对整体的生产和消費没有任何影响,叢集会根据负载将主題重新分配给可用的節點。
一条訊息在被確認之前会被持久化到N个儲存節點,数据在多个節點上都可以被访问,并且可以在N-1个節點故障中存活。通过添加新的儲存節點来替换失敗的節點,不影响整个叢集的可用性。
# 内置轻量级计算引擎
内置轻量级计算引擎,让开发人员可以使用Java或Python实现函数(处理逻辑),为使用者提供了一个部署简单、維運方便的FaaS(Function as a Service)平台。此功能使使用者可以享受无伺服器计算(Serverless)的好处,类似于AWS的Lambda计算。
# 產品優勢
统一訊息中台能力
ADMQ企業級訊息佇列可作为企业统一的訊息中台,提供多協定接入、多租用戶隔離、统一管控、跨區域複製等能力,实现訊息基础设施的统一建设和共用使用。
全局动态設定
提供统一的視覺化界面,管理租用戶、命名空間、主題的建立和销毁,并分配使用者相应的使用權限,保证使用者的数据安全。
佇列和串流模型统一
ADMQ提供了统一的訊息模型和API,做到了佇列模型和串流模型的统一。在主題级别只需儲存一份数据,可被多次消費,为使用者提供了更多灵活性。
高效維運
拥有管控一体的視覺化平台,提供服務視覺化部署,简化部署流程,叢集资源实现多维度監控警報功能,为实施維運带来简单快捷的操作方式。
多租用戶隔離
提供多租用戶间隔离机制,保证租用戶之间互不干扰,保障使用者隐私,同时对每个租用戶的资源进行管理監控,实时查看生产消費情况。
全面适配信創环境
可稳定高效运行在國產作業系統与硬件架構体系上,其中作業系統包含:UOS、华为OpenEuler、麒麟V10、中科方德等;硬件体系包含:飞腾、鲲鹏、兆芯、海光等平台。
# 應用場景
企业统一訊息中台
对于大型企业和组织,业务系統众多、訊息协议各异、管理分散。ADMQ企業級訊息佇列可作为企业统一的訊息中台,实现訊息基础设施的统一建设和共用使用。
跨地域資料同步
通过跨區域複製功能,ADMQ可在多个数据中心之间实现訊息同步和共用,满足企业异地多活、灾备復原等需求。
大规模物聯網平台
ADMQ企業級訊息佇列适用于大规模物聯網数据采集和处理场景,支援海量裝置接入、高並行訊息处理和实时数据分发。
复杂事件处理
借助内置轻量级计算引擎,ADMQ可实现实时数据预处理、事件路由、数据转换等复杂事件处理需求。
# ADMQ專屬訊息佇列
# 產品定位
ADMQ專屬訊息佇列是金蝶天燕针对企业信創替代和开源訊息替换需求推出的專屬訊息佇列。该系列包含ADMQ for Kafka、ADMQ for RocketMQ、ADMQ for RabbitMQ、ADMQ for ActiveMQ、ADMQ for MQTT五种訊息佇列,分别面向不同的开源訊息产品使用者群体。
该系列产品在保持原生协议兼容性的基础上,进行了企业级增强和信創适配,提供安全認證、權限控制、視覺化管控、維運監控、性能优化等商业能力,帮助企业以最低改造成本、最高效的方式完成信創环境下的訊息中介軟體替代。
# 核心功能
| 功能 | 功能說明 |
|---|---|
| 原生协议兼容 | 完整兼容对应訊息产品的原生协议、用戶端和API,业务系統无需修改代码即可完成迁移。 |
| 企业级安全 | 支援身份認證、ACL存取控制、TLS/國密SSL傳輸加密、稽核日誌等企业级安全能力。 |
| 高可用性增强 | 支援主從複寫、多副本、自動故障轉移等高可用性机制。 |
| 視覺化管控 | 提供统一的Web管控台,支援叢集管理、資源管理、訊息查詢、監控警報等功能。 |
| 性能优化 | 针对信創环境和企业應用場景进行性能调优,提供最佳实践指导。 |
| 信創适配 | 适配主流信創作業系統、晶片、数据库和中间件生态。 |
| 多語言用戶端 | 支援Java、Go、Python、C++、.NET、Node.js等多种语言用戶端。 |
# 产品组成
# ADMQ for Kafka
面向Kafka使用者的高輸送量流式訊息解决方案,支援:
- 完整兼容Kafka生产消費协议、分割區分配协议、Offset管理协议等。
- 支援Kafka原生用戶端(2.x-3.x版本)及生态工具。
- 支援主題分割區、副本机制、消費者组、訊息壓縮、Offset提交等核心特性。
- 适用于日誌收集、資料同步、串流處理等高輸送量场景。
# ADMQ for RocketMQ
面向RocketMQ使用者的高可靠金融级訊息解决方案,支援:
- 完整兼容RocketMQ生产消費协议、NameServer路由协议、訊息儲存协议等。
- 支援順序訊息、交易訊息、定時/延時訊息、廣播消費、訊息軌跡等核心特性。
- 支援主從複寫、DLedger多副本等高可用性机制。
- 适用于金融交易、订单处理、分布式事务等高可靠场景。
# ADMQ for RabbitMQ
面向RabbitMQ使用者的灵活路由訊息解决方案,支援:
- 完整兼容AMQP 0-9-1协议,支援Java、Python、Go、Node.js等官方用戶端。
- 支援Direct、Fanout、Topic、Headers等多种交換器類型。
- 支援Classic、Quorum、Stream等多种佇列類型。
- 适用于灵活路由、异步解耦、削峰填谷等场景。
# ADMQ for ActiveMQ
面向ActiveMQ使用者的传统JMS訊息解决方案,支援:
- 完整兼容JMS规范,支援佇列(Queue)和主題(Topic)两种訊息模型。
- 支援JMS 1.1/2.0规范,兼容传统Java EE应用。
- 适用于传统企业应用、Java EE系統迁移等场景。
# ADMQ for MQTT
面向物聯網和移动互联网场景的轻量级訊息解决方案,基于EMQX企业级增强,支援:
- 完整兼容MQTT 3.1、3.1.1、5.0协议,支援海量MQTT用戶端接入。
- 支援發布/訂閱模型、QoS 0/1/2訊息质量等级、遺囑訊息、保留訊息、工作階段保持等核心特性。
- 支援MQTT over WebSocket、MQTT over SSL/TLS、MQTT over QUIC等多种接入方式。
- 支援規則引擎、資料橋接、訊息持久化、叢集部署等高可用性能力。
- 支援無狀態節點叢集与故障自動復原,提供高可用性与水平擴展能力。
- 适用于物聯網平台、車聯網、行動訊息推播、智慧裝置管理等场景。
# 产品功能架構
ADMQ專屬訊息佇列采用各訊息产品对应的企业级增强架構,在原生协议兼容层之上,统一提供安全認證、權限控制、視覺化管控、監控警報、維運管理等企业级能力。
各产品均包含以下核心元件:
- 訊息佇列:负责訊息的路由、儲存、转发和消費,完整实现对应訊息产品的核心协议。
- NameServer/Broker/節點:提供訊息服務節點,支援叢集部署和高可用性。
- 企业级安全层:提供统一認證、ACL授權、TLS/國密SSL加密等安全能力。
- 視覺化管控台:提供叢集管理、資源管理、訊息查詢、監控警報等功能。
- 維運監控体系:提供Prometheus指標导出、日誌管理、警報通知等維運能力。
# 主要功能
# 原生协议接入
ADMQ專屬訊息佇列完整实现对应訊息产品的核心协议,支援原生用戶端直接接入:
- Kafka協定:支援PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL等安全协议。
- RocketMQ協定:支援Remoting协议、gRPC协议、MQTT協定、HTTP协议等。
- AMQP協定:支援AMQP 0-9-1协议、SSL/TLS加密、SASL認證等。
- MQTT協定:支援MQTT 3.1/3.1.1/5.0协议、MQTT over WebSocket、MQTT over SSL/TLS、MQTT over QUIC等接入方式。
- JMS協定:支援JMS 1.1/2.0规范,兼容传统Java EE应用。
# 企业级安全
- 身份認證:支援使用者名密码、AK/SK、SASL/PLAIN、SCRAM等多种認證方式。
- 访问控制:支援ACL存取控制、RBAC角色管理、Vhost/命名空間隔离。
- 傳輸加密:支援TLS/SSL和國密SSL加密傳輸。
- 稽核日誌:记录所有管理操作和关键訊息操作,满足合规要求。
# 高可用性机制
| 产品 | 高可用性机制 |
|---|---|
| ADMQ for Kafka | 多副本机制、ISR同步、Leader选举、Controller管理 |
| ADMQ for RocketMQ | 主從複寫、DLedger多副本、NameServer叢集 |
| ADMQ for RabbitMQ | 镜像佇列、Quorum Queue、Stream Queue多副本 |
| ADMQ for ActiveMQ | Master/Slave主从、Network of Brokers |
| ADMQ for MQTT | 無狀態節點叢集、故障自動復原、水平擴展 |
# 視覺化管控
- 叢集管理:建立、監控、管理訊息叢集節點。
- 資源管理:管理Topic、Queue、Exchange、Vhost、消費者组等资源。
- 訊息查詢:按時間、Key、ID等条件查询訊息,支援訊息軌跡追踪。
- 監控警報:实时查看叢集狀態、性能指標、訊息堆积、消費延遲等。
- 系統管理:License管理、使用者管理、操作日誌、設定管理。
# 監控維運
- Prometheus指標导出。
- Grafana仪表盘集成。
- 日誌管理和审计。
- 警報規則和通知。
- 健康检查和自动復原。
# 技術特性
# 零改造遷移
ADMQ專屬訊息佇列完整兼容对应訊息产品的协议和用戶端,业务系統无需修改代码,仅需变更连接位址即可完成迁移,迁移成本趋近于零。
# 生態無縫複用
兼容对应訊息产品的原生工具、監控系統和資料同步工具,企业无需额外适配开发,即可复用原有技术积累和維運体系。
# 信創環境深度適配
适配主流信創作業系統(麒麟、统信等)、信創晶片(ARM、RISC-V、x86等),兼容信創数据库及中间件生态,满足政企信創项目落地要求。
# 輕量化部署
ADMQ專屬訊息佇列采用轻量化架構,资源占用低,部署简单,可快速在物理机、虚拟机、容器环境中部署运行。
# 穩定可靠運行
通过多副本、主從複寫、自動故障轉移等机制,保障訊息服務的高可用性性和数据可靠性。
# 產品優勢
协议原生兼容
完整实现对应訊息产品的核心协议,行为与原生产品一致,确保业务系統平滑遷移。
企业级增强
在原生能力基础上,增加安全認證、權限控制、稽核日誌、傳輸加密、高可用性增强等企业级能力。
信創合规
全面适配信創软硬件生态,支援国密算法,满足政企信創和安全合规要求。
统一管控
提供统一的Web管控台,实现不同訊息产品的统一管理和監控。
专业服務支援
金蝶天燕提供专业的技术支援、培训服務和咨询服務,保障企业顺利使用和維運。
# 應用場景
开源訊息产品替代
在政府、金融、电信等行业的信創改造过程中,企业需要将原有开源訊息中介軟體替换为安全可控的商业产品。ADMQ專屬訊息佇列提供与开源产品原生兼容的替代方案,无需改造业务代码。
信創环境建设
ADMQ專屬訊息佇列全面适配信創作業系統、晶片和中间件生态,帮助企业构建自主可控的訊息基础设施。
大数据流处理
ADMQ for Kafka可无缝对接大数据生态,支援Flink、Spark Streaming、Storm等流式计算引擎,广泛应用于日誌收集、数据采集、实时计算等场景。
金融级可靠訊息
ADMQ for RocketMQ支援交易訊息、順序訊息、訊息軌跡、死信佇列等特性,满足金融行业对訊息可靠性、一致性和可追溯性的严格要求。
灵活路由訊息
ADMQ for RabbitMQ支援多种交換器類型和佇列類型,适用于需要灵活路由和复杂业务規則的訊息场景。
传统企业应用迁移
ADMQ for ActiveMQ完整兼容JMS规范,支援传统企业Java EE应用向信創环境平滑遷移。
物聯網与移动訊息
ADMQ for MQTT面向物聯網和移动互联网场景,支援海量裝置接入、低頻寬網路傳輸、行動訊息推播,广泛应用于車聯網、工业互联网、智能家居、智慧能源等领域。
# 产品对比
# ADMQ两种产品形态对比
| 对比维度 | ADMQ企業級訊息佇列 | ADMQ專屬訊息佇列 |
|---|---|---|
| 产品形态 | 统一訊息平台 | 专业化訊息中介軟體 |
| 部署架構 | 計算儲存分離 | 专用化原生架構 |
| 资源要求 | 较高,适合大规模部署 | 较低,适合轻量部署 |
| 扩展方式 | 儲存層/计算层独立扩展 | 節點级横向扩展 |
| 適用規模 | 大型企业/平台化场景 | 部门级/系統级替代场景 |
| 协议支援 | 多协议统一接入 | 原生协议深度兼容 |
| 多租用戶 | 强多租用戶隔離 | 命名空間/Vhost隔离 |
| 跨區域複製 | 内置跨區域複製 | 通过工具/镜像实现 |
| 主要场景 | 统一訊息中台、复杂平台 | 开源替代、信創替代 |
# ADMQ專屬訊息佇列对比
| 产品 | 核心协议 | 典型特性 | 适用场景 |
|---|---|---|---|
| ADMQ for Kafka | Kafka協定 | 高輸送量、分割區、消費者组 | 日誌收集、流处理、資料同步 |
| ADMQ for RocketMQ | RocketMQ協定 | 交易訊息、順序訊息、定时訊息 | 金融交易、订单处理、分布式事务 |
| ADMQ for RabbitMQ | AMQP協定 | 灵活路由、多种交換器/佇列 | 异步解耦、削峰填谷、复杂路由 |
| ADMQ for ActiveMQ | JMS協定 | 佇列/主題、传统Java EE兼容 | 传统企业应用、Java EE迁移 |
| ADMQ for MQTT | MQTT協定 | 海量连接、QoS、規則引擎、資料橋接、無狀態叢集 | 物聯網、車聯網、移动推送 |
# 系統软硬體要求
# ADMQ企業級訊息佇列
| 元件 | 最低要求 | 推薦設定 |
|---|---|---|
| CPU | 8核 | 16核及以上 |
| 記憶體 | 16GB | 32GB及以上 |
| 磁碟 | 500GB SSD | 1TB及以上SSD |
| 網路 | 10Gbps | 25Gbps |
| 作業系統 | CentOS 7+、Ubuntu 18.04+、麒麟、统信 | - |
# ADMQ專屬訊息佇列
| 产品 | CPU | 記憶體 | 磁碟 | 作業系統 |
|---|---|---|---|---|
| ADMQ for Kafka | 4核+ | 8GB+ | 100GB SSD+ | CentOS 7+、Ubuntu 18.04+、麒麟、统信 |
| ADMQ for RocketMQ | 4核+ | 8GB+ | 100GB SSD+ | CentOS 7+、Ubuntu 18.04+、麒麟、统信 |
| ADMQ for RabbitMQ | 4核+ | 8GB+ | 100GB SSD+ | CentOS 7+、Ubuntu 18.04+、麒麟、统信 |
| ADMQ for ActiveMQ | 4核+ | 8GB+ | 100GB SSD+ | CentOS 7+、Ubuntu 18.04+、麒麟、统信 |
| ADMQ for MQTT | 4核+ | 8GB+ | 100GB SSD+ | CentOS 7+、Ubuntu 18.04+、麒麟、统信 |
注:以上为最低硬件标准。
# 軟體環境
- 作業系統:UOS、Kylin、OpenEuler、Deepin、中科方德、CentOS、Ubuntu
- JDK:1.8+(RocketMQ/Kafka/ActiveMQ运行依赖)
# 性能规格
| 产品 | 部署规模 | 輸送量 | 延遲 |
|---|---|---|---|
| ADMQ企业级訊息引擎 | 单叢集 | 10万+ QPS | 低延遲 |
| ADMQ for Kafka | 3節點叢集 | 50万+ 条/秒 | P99 < 5ms |
| ADMQ for RocketMQ | 3節點叢集 | 30万+ 条/秒 | P99 < 3ms |
| ADMQ for RabbitMQ | 3節點叢集 | 20万+ 条/秒 | P99 < 1ms |
| ADMQ for ActiveMQ | 3節點叢集 | 10万+ 条/秒 | P99 < 5ms |
| ADMQ for MQTT | 3節點叢集 | 100万+ 连接 | 毫秒级訊息时延 |
# 客户案例
# 系統解耦
# 某计费平台
# 背景
某计费平台汇集国内外主流支付渠道,提供账户管理、精准营销、安全风控、稽核分账、计费分析等多维度服務。平台承载了每天数亿收入大盘,为180+个国家(地区)、万级业务代码、100W+结算商户提供服務,托管账户总量300多亿,是一个全方位的一站式计费平台。
交易引擎作为计费平台最核心的系統,每笔交易订单数据需要被几十个下游业务系統关注,包括物品批价、道具发货、积分、流计算分析等等,多个系統对訊息的处理逻辑不一致,单个系統不可能去适配每一个关联业务。此时,ADMQ可实现高效的异步通信和应用解耦,确保业务的连续性。
# 解决方案
某计费平台覆盖80+特点各异的渠道,300+不同业务逻辑,单个支付逻辑常横跨众多不同的内外部系統,调用链路比较长,異常出现的概率相对也会比较大,特别是網路超时(比如海外支付业务)。
通过訊息佇列、訊息到期重发,从断点开始继续执行整个交易事务,保证每日亿级交易请求的一致性。
借助ADMQ的实时管理能力以及流式计算框架对计费流水进行实时对账和監控,共同保证整个交易的时效性和一致性。
# 削峰填谷
# 某电商网站
# 背景
某电商网站新手机發布在即,拥有预约码的使用者可优先购买手机。预约方式为:注册账户即可获得预约码,预计预约使用者超过1000万。
像双11秒杀、手机预约抢购等对IO时延敏感业务环境下,当外部请求超过系統处理能力时,如果系統没有做相应保护,可能由于历史累计的超时请求负荷过多而导致系統处理的每个请求都因超时而無效,系統对外呈现的服務能力为0,且这种情况下服務不能自动復原。
# 解决方案
引入訊息中介軟體,将非即时处理的业务逻辑进行异步化。例如服務接收请求、处理请求和返回请求三个不同的业务逻辑。
当预约活动开始时,海量並行访问汹涌袭来:
- 所有客户的预约申请,页面均立即返回成功。客户便可关闭网页进行其他活动。预约码稍后推送到客户的邮箱/手机;
- 超过千万级别的注册、预约申请,先暂存在訊息佇列叢集;
- 后端服務进行处理,按照数据库实际的select、insert、update能力处理注册、预约申请;
- 处理成功后返回结果给使用者。预约结束后,使用者大约在5-30min内,都收到了预约码。
# 物聯網
# 电网智能传感
# 背景
电网智能传感场景主要基于与电网公司合作的输电线路智能多参数传感器集成研究项目。该项目的传感器来自不同的厂家,分布在输电线路的各个位置,传感器類型因此也不尽相同,包括杆塔、杆塔上、输电线路侧等十多种。整个系統目前接入总长度约六百公里,包含六百多个杆塔的输电线路传感器。这一场景主要负责对各种传感器的数据进行在线监测和警報,同时,我们也单独针对电压传感器做了暂态电压分析。
这个應用場景有两个难点:一是来自不同厂商的传感器没有统一的通信协议,有的使用电力相关的IEC104规约,有的使用protobuf或其他厂商自定义协议;二是项目数据量比较大,有些传感器可能会单次产生20MB甚至更大的訊息,有些传感器则每秒上传一次数据。
# 解决方案
借助ADMQ,我们选择在producer端不做任何数据处理,直接将数据转发到ADMQ中,再通过ADMQ Functions做进一步的数据预处理和其他业务操作。以电压传感器为例,电压传感器会产生三类数据,分别是心跳数据、稳态波形数据和暂态波形数据。其中心跳数据和稳态波形数据通过protobuf协议傳輸,暂态数据则通过zip壓縮檔案的形式傳輸。接收到protobuf的数据后,借助ADMQ Functions进行一系列的数据处理,包括通过解密function完成数据解密和protobuf的反序列化,再对数据进行路由,通过对应的ETL function做数据处理和解析,最后通过Schema Mapping将数据入库。
# 信創替代
在政府、金融、电信、能源等关键行业,ADMQ專屬訊息佇列帮助企业将原有开源訊息中介軟體替换为安全可控、自主可控的國產商业产品,支援信創作業系統、晶片和中间件生态,满足企业合规要求。