全部产品

消息队列 TDMQ

一款基于 Pulsar,云原生 Serverless 化,高性能、强一致的分布式消息队列

高可靠,轻量级消息队列

消息队列 TDMQ

腾讯云消息队列 TDMQ(Tencent Distributed Message Queue,下文中简称TDMQ)是一款基于 Apache 顶级开源项目 Pulsar 自研的金融级分布式消息中间件。其计算与存储分离的架构设计,使得它具备极好的云原生和 Serverless 特性,用户按量使用,无需关心底层资源。它拥有原生 Java 、 C++、Python、GO 等多种 API,同时支持 kafka 协议以及 HTTP 协议方式接入,可为分布式应用系统提供异步解耦和削峰填谷的能力,具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。TDMQ 目前已应用在腾讯计费绝大部分场景,包括支付主路径、实时对账、实时监控、大数据实时分析等方面。 

腾讯云 TDMQ 的特性

计算与存储分离

TDMQ 的服务(Broker)和存储(Bookie)分离,整体架构采用云原生无状态设计,用户可以按量使用和按需扩展,体验更加 Serverless 化,用户对底层资源无感知。

高性能低延迟

TDMQ 能够高效支持百万级消息生产和消费,海量消息堆积且消息堆积容量不设上限,支撑了腾讯计费所有场景;性能方面,单集群 QPS 超过10万,同时在时耗方面有保护机制来保证低延迟,帮助您轻松满足业务性能需求。

百万级 Topic

TDMQ 计算与存储架构的分离设计,使得 TDMQ 可以轻松支持百万级消息主题。相比于市场上其他 MQ 产品,整个集群不会因为 Topic 数量增加而导致性能急剧下降。

丰富的消息类型

TDMQ 提供丰富的消息类型,涵盖普通消息、顺序消息(全局顺序 / 分区顺序)、分布式事务消息、定时消息,满足各种严苛场景下的高级特性需求。

消费者数量无限制

不同于 Kafka 的消息消费模式,TDMQ 的消费者数量不受限于 Topic 的分区个数,并且会按照一定的算法均衡每个消费者的消息量,业务可按需启动对应的消费者数量。

多协议接入

TDMQ API 支持 Java、C++、Go 等多语言以及HTTP 协议,可扩展更多语言的接入,还支持原生 Kafka API 协议的接入。用户利用消息队列的基础功能进行消息的生产和消费,无需修改代码即可完成到 TDMQ 迁移。

应用场景

异步解耦

交易引擎作为腾讯计费最核心的系统,每笔交易订单数据需要被几十几个下游业务系统关注,包括物品批价、道具发货、积分、流计算分析等等,多个系统对消息的处理逻辑不一致,单个系统不可能去适配每一个关联业务。此时,TDMQ 可实现高效的异步通信和应用解耦,确保主站业务的连续性。

削峰填谷

企业不定时举办的一些营销活动,新品发布上线,节日抢红包等等,往往都会带来临时性的流量洪峰,这对后端的各个应用系统考验是十分巨大的,如果直接采用扩容方式应对又会带来一定的资源浪费。TDMQ 此时便可以承担一个缓冲器的角色,将上游突增的请求集中收集,下游可以根据自己的实际处理能力来消费请求消息。

顺序收发

顺序消息的应用出现在在业务场景中。例如王者荣耀的皮肤道具购买与发放,过程中的订单创建、支付、退款等流程都是严格按照顺序执行的,与先进先出(First In First Out,FIFO)原理类似,TDMQ 提供一种专门应对这种情形的顺序消息功能,即保证消息 FIFO。

分布式事务一致性

腾讯计费(米大师)是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,承载了公司每天数亿收入大盘,解决的核心问题是如何确保钱货一致,使用 TDMQ 与分布式事务应用结合来处理交易事务,可以大大提升处理效率和性能。
计费的交易链路通常比较长,出错或者超时的概率比较高,借助 TDMQ 的自动重推和海量堆积能力来实现事物补偿,以及支付 Tips 通知和交易流水推送可以通过 TDMQ 来实现最终一致性。

数据同步

如果有多个数据中心存在,需要在多个数据中心之间消费,那么 TDMQ 可以非常方便实现数据中心之间的同步。

申请使用腾讯云 TDMQ

腾讯云 TDMQ 目前处于内测阶段,请点击下方按钮来申请使用。

申请审核通过后将会有专人负责与您联系。

联系我们

我们为您提供个性化的售前购买咨询服务,以及全面的技术售后服务。