腾讯云消息队列TDMQ又一系列产品正式开启公测,戳文查看吧_腾讯云中间件的博客-程序员秘密

技术标签: apache  腾讯云  中间件  

导语

消息队列 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的官方用户群,群内有腾讯云消息队列团队专业的技术人员,公测过程中遇到相关问题可直接在群里反应,会有专业人员为您解答。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36668144/article/details/122615715

智能推荐

Ubuntu重装NVIDIA显卡驱动_伍颜的博客-程序员资料_ubuntu 显卡驱动重装

我的电脑比较奇怪,只要关机,显卡驱动就失效,必须重新安装,特写一篇博客,记录重装过程。1 、禁用 nouveau安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:sudo...

解决vmware桥接网络无法上网的问题_ywops的博客-程序员资料

今天想要配置一台vmware虚拟机使用桥接模式上外网,怎么配置都无法成功。总是出现以下错误:error:connection activation failed: ip configuration could not be reserved最后发现,原来是vmware软件设置的问题。vmware不会自动识别实际使用的那一块网卡,必须手动指定才行。...

java硬币兑换_java动态规划取硬币问题_韩冰Bill的博客-程序员资料

最近一直在研究动态规划的问题。今天遇到了取硬币问题。其实动态规划还是,我从底部向顶部,依次求出每个状态的最小值,然后就可以标记上。这道题目就是,假如有1,5,7,10这四种币值的硬币,我取14元,取的硬币数最少要多少张。其实动态规划就是要求出状态转移方程,就好比我的上一个博客的求最短路径的问题。而这道取硬币问题呢。如果我的硬币大于有的币值,那么就能状态转移转移为temp[i-weizhi[j] +...

React18 新特性前瞻_Monkey_Kcode的博客-程序员资料

Automatic batching 自动批处理Suspense & SuspenseListuseDeferredValuestartTransition & useTransitionstartTransition 与 useDeferredValue 的区别

NS3基本知识_tttabcgy的博客-程序员资料

转载自http://blog.sina.com.cn/s/blog_61e2420a0101jy5j.html3 NS3快速入门本章节通过阅读分析一个例子程序(first.cc)的源代码,并通过运行该例子程序,快速理解ns3中的几个概念。3.1 NS3中的几个关键概念3.1.1 节点Node在网络术语中,任何一台连接到网络的计算设备被称为主机,亦称为终端。NS3是一个网络模拟器

pandas常用操作_桥豆麻袋XQXQXQ的博客-程序员资料

python 数据分析学习笔记(二)基于pandas的数据清洗和数据操作1.处理丢失数据丢失数据类型:nonenp.nan(NaN)type(None) ##对象类型不可以参与运算type(np.nan) #浮点型数据可以参与计算在pandas中如果遇到None形式的空值,则pandas会自动转化成Nan形式处理空值的方法isnull+anynotnull+alldata=DataFrame(data=np.random.randint(1,100,size=(7,5))

随便推点

恢复报错ora-01180_kuaile_yuanzi的博客-程序员资料_ora-01180

https://blog.csdn.net/weixin_34029949/article/details/85997154最近在验证、测试备份有效性时,遇到了“ORA-01180: can not create datafile 1”这个错误,顺便结合metalink的官方文档“RMAN restore fails with ORA-01180: can not create datafile...

知名互联网公司校招中常见的算法题_dengya2093的博客-程序员资料

本次Chat,主要从知名互联网公司在面试中喜欢提问的算法入手,给大家详细阐述讲解面试中的高频率算法题。涉及到的算法题主要包括:排序和查找、链表、二叉树、队列、堆栈、字符串以及数组等方面。如果你想在来年的校园招聘中拿下一线互联网的Offer,那么本次Chat将助你玩转算法面试~面试,是大家从学校走向社会的第一步。大型互联网公司的校园招聘,从形式上说,面试一般分为2-3轮技术面试+1轮H...

java中用jedis报错_使用Jedis在高并发报错 (java.net.SocketException: Connection reset by peer: socket write error)..._袁均林的博客-程序员资料

使用Jedis在高并发报错 (java.net.SocketException: Connection reset by peer: socket write error)1.报错信息java.lang.reflect.InvocationTargetException: nullat sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Sou...

【DSP】TMS320F28035 IQmath配置_Kindavid的博客-程序员资料

添加.lib和.h文件到工程修改cmd文件:将IQmath.cmd里的段写进原cmd文件里,提示内存不够的话,需要将内存进行响应调整。

ViewModel-Flow-LiveData,我们还是好朋友_eclipse_xu的博客-程序员资料

点击上方蓝字关注我,知识会给你力量在Android应用程序中加载UI数据可能是一个挑战。各种屏幕的生命周期需要被考虑在内,还有配置的变化导致Activity的破坏和重新创建。当用户在一个应...

推荐文章

热门文章

相关标签