导语
消息队列 RocketMQ 版(TDMQ for RocketMQ,简称 TDMQ RocketMQ 版)在今日正式公测!TDMQ RocketMQ 是TDMQ系列产品中的一款分布式高可用的消息队列服务,兼容 Apache RocketMQ 的各个组件与概念,RocketMQ 4.6及以上版本的客户端几乎零改造接入。欢迎大家扫描文末二维码使用体验!
TDMQ RocketMQ 版的背景
RocketMQ作为典型的业务处理消息队列,主要用于处理订单,支付,积分等业务类型,对信息交换的准确性有极高的要求,它的核心架构:生产者端、服务端(NameServer和Broker服务实例)、消费者端就很好的满足了这一点。
TDMQ RocketMQ 版(Tencent Distributed Message Queue for RocketMQ)是腾讯打造的一款分布式消息队列产品,具备强一致、高可靠、高性能的特性。兼容开源RocketMQ 4.6及以上的客户端,支持顺序消息、事务消息、集群/广播消费模式等原生能力,并具备计算存储分离,灵活扩缩容的底层架构,广泛应用于各类电商、金融、游戏、政务等行业。
TDMQ RocketMQ 版产品优势
TDMQ RocketMQ 版能较好地应对各类营销活动带来的流量冲击,非常适用于顺序性以及事务性要求较高的场景,在电商交易、金融结算等领域有着十分广泛的应用。
- 兼容开源
兼容 Apache RocketMQ 的各个组件与概念,支持 RocketMQ 4.6及以上版本的客户端零改造接入,同时具备计算存储分离,灵活扩缩容的底层优势。
- 资源隔离
为更好适配云上使用的场景,TDMQ RocketMQ版做了多层级的资源结构,不仅基于命名空间做了虚拟隔离,也在集群维度做了物理隔离。支持在命名空间维度为客户端配置权限校验,区分不同环境的客户端,方便灵活。
- 分片存储
相比于开源版本不同的是,TDMQ RocketMQ对于消息数据采用分片的方式进行持久化,不容易产生数据倾斜等问题。当由于扩容、机器故障等导致的节点新增、删除时,不会触发重平衡而导致整个集群的吞吐急剧下降。
- 丰富的消息类型
支持普通消息、顺序消息、延时消息、分布式事务消息等多种消息类型,支持消息重试和死信机制,满足各类业务场景。
- 高性能
单机最高可支持上万级别的生产消费吞吐,分布式架构,无状态服务,可以横向扩容来增强整个集群的吞吐。
- 易用免运维
提供 API 访问接口,支持开源所有语言和版本的 SDK。提供腾讯云平台整套运维服务,实时监控告警,帮助用户快速发现并解决问题,保证服务的可用性。
TDMQ RocketMQ 版主要能力
- 普通消息
普通消息是一种基础的消息类型,由生产投递到指定 Topic 后,被订阅了该 Topic 的消费者所消费。普通消息的 Topic 中无顺序的概念,可以使用多个分区数来提升消息的生产和消费效率,在吞吐量巨大时其性能最好。
- 顺序消息
局部顺序消息:局部顺序消息相较于普通消息类型,多了一个局部有顺序的特性。即同一个分区下,其消费者在消费消息的时候,严格按照生产者投递到该分区的顺序进行消费。局部顺序消息在保证了一定顺序性的同时,保留了分区机制提升性能。但局部顺序消息不能保证不同分区之间的顺序。
全局顺序消息:全局顺序消息最大的特性就在于,严格保证消息是按照生产者投递的顺序来消费的。所以其使用的是单分区来处理消息,用户不可自定义分区数,相比前两种消息类型,这种类型消息的性能较低。
- 死信消息
死信消息是指无法被正常消费的消息。TDMQ 会在创建新的订阅(消费者确定了与某个 Topic 的订阅关系)时自动创建一个死信队列用于处理这种消息。
- 重试队列
重试队列是一种为了确保消息被正常消费而设计的队列。当某些消息第一次被消费者消费后,没有得到正常的回应,则会进入重试队列,当重试达到一定次数后,停止重试,投递到死信队列中。
由于实际场景中,可能会存在的一些临时短暂的问题(如网络抖动,服务重启等)导致消息无法及时被处理,但短暂时间过后又恢复正常。这种场景下,重试队列的重试机制就可以很好解决此类问题。
- 死信队列
死信队列是一种特殊的消息队列,用于集中处理无法被正常消费的消息的队列。当消息在重试队列中达到一定重试次数后仍未能被正常消费,TDMQ 会判定这条消息在当前情况下无法被消费,将其投递至死信队列。
实际场景中,消息可能会由于持续一段时间的服务宕机,网络断连而无法被消费。这种场景下,消息不会被立刻丢弃,死信队列会对这种消息进行较为长期的持久化,用户可以在找到对应解决方案后,创建消费者订阅死信队列来完成对当时无法处理消息的处理。
- 延时消息
TDMQ RocketMQ版支持在一定范围内自定义时长的延时消息,只需在每条消息的消息属性中增加特定的延时参数即可实现,即使您使用的是开源版RocketMQ客户端,也可以轻松拓展使用该能力。
- 集群消费
集群消费适用于每条消息只需要被处理一次的场景。
- 广播消费
广播消费适用于每条消息需要被集群下每一个消费者处理的场景。
应用场景
异步解耦
每笔交易订单数据需要被几十个下游业务系统关注,包括物品批价、发货、积分、流计算分析等,多个系统对消息的处理逻辑不一致,单个系统不可能去适配每一个关联业务。此时,TDMQ RocketMQ 版可实现高效的异步通信和应用解耦,确保主站业务的连续性。
削峰填谷
企业不定时举办的一些营销活动,新品发布上线,节日抢红包等,往往都会带来临时性的流量洪峰,这对后端的各个应用系统考验是十分巨大的。TDMQ RocketMQ 版此时便可以承担一个缓冲器的角色,将上游突增的请求集中收集,下游可以根据自己的实际处理能力来消费请求消息。
顺序收发
顺序消息的应用出现在业务场景中。例如 APP 或者游戏中商品购买与发放过程中的订单创建、支付、退款等流程都是严格按照顺序执行的,与先进先出(First In First Out,FIFO)原理类似,TDMQ RocketMQ 版提供一种专门应对这种情形的顺序消息功能,即保证消息 FIFO。
产品体验入口
腾讯云消息队列TDMQ RocketMQ 版已经开放公测,欢迎大家使用体验:
扫描二维码,立即体验
扫码进行公测的用户可同时扫码进入TDMQ RocketMQ的官方用户群,群内有腾讯云消息队列团队专业的技术人员,公测过程中遇到相关问题可直接在群里反应,会有专业人员为您解答。
扫描二维码入群
★
福利时间
分享文章至朋友圈并在评论区留言
对TDMQ RocketMQ 版公测提出建议
我们将在精选留言中随机抽送
腾讯公仔
往期
推荐
《Message deduplication 这里的去重与你想的可能不一样|Apache Pulsar 技术系列》
《倒计时3天!Apache Pulsar 社区年度盛会——Pulsar Summit Asia 重磅来袭!》
《腾讯云消息队列TDMQ RabbitMQ 版开启公测,文末有惊喜!》
《全面拥抱Go社区:PolarisMesh全功能对接gRPC-Go | PolarisMesh12月月报》
《SpringBoot应用优雅接入北极星PolarisMesh》
《腾讯云CKafka重磅上线DataHub,让数据流转更简便》
《ZooKeeper系列文章:ZooKeeper 源码和实践揭秘(三)》
《Serverless可观测性的价值》
《喜报|CKafka荣获可信云消息队列服务稳定性先进级认证》
《RoP重磅发布0.2.0版本:架构全新升级,消息准确性达100%》
《ZooKeeper系列文章:ZooKeeper 源码和实践揭秘(二)》
《深入理解Rabbit MQ与AMQP协议》
扫描下方二维码关注本公众号,
了解更多微服务、消息队列的相关信息!
解锁超多鹅厂周边!
戳原文,查看更多TDMQ RocketMQ 版信息!
点个在看你最好看