消息队列 RocketMQ 版(TDMQ for RocketMQ,简称 TDMQ RocketMQ 版)在今日正式公测!TDMQ RocketMQ 是TDMQ系列产品中的一款分布式高可用的消息队列服务,兼容 Apache RocketMQ 的各个组件与概念,RocketMQ 4.6及以上版本的客户端几乎零改造接入。欢迎大家扫描文末二维码使用体验!
RocketMQ作为典型的业务处理消息队列,主要用于处理订单,支付,积分等业务类型,对信息交换的准确性有极高的要求,它的核心架构:生产者端、服务端(NameServer和Broker服务实例)、消费者端就很好的满足了这一点。
TDMQ RocketMQ 版(Tencent Distributed Message Queue for RocketMQ)是腾讯打造的一款分布式消息队列产品,具备强一致、高可靠、高性能的特性。兼容开源RocketMQ 4.6及以上的客户端,支持顺序消息、事务消息、集群/广播消费模式等原生能力,并具备计算存储分离,灵活扩缩容的底层架构,广泛应用于各类电商、金融、游戏、政务等行业。
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的官方用户群,群内有腾讯云消息队列团队专业的技术人员,公测过程中遇到相关问题可直接在群里反应,会有专业人员为您解答。