一文带你认知定时消息发布rocketmq

华为云开发者联盟 华为云开发者联盟     2022-10-23     111

关键词:

摘要:DMS任意时间定时消息能力发布。

本文分享自华为云社区《一文带你认知定时消息发布RocketMQ》,作者: 华为云PaaS服务小智 。

DMS是华为云的分布式消息中间件服务。适用于解决分布式架构中的系统解耦、跨系统跨地域数据流通、分布式事务协调等难题,协助构建优雅的现代化应用架构,提供可兼容 Kafka/RabbitMQ/RocketMQ 开源系统的云服务。

DMS是一个低延迟、弹性高可靠、高吞吐、动态扩展、便捷多样的消息中间件服务。

近期,DMS服务正式上线任意时间定时消息特性,带来了灵活、精确、高性能的消息定时能力支持。

DMS rocketMQ定时消息功能流程图

为什么需要定时消息

随着互联网技术的蓬勃发展,各公司的业务场景变得越来越纷繁复杂。对于精确度、高并发、高可靠的要求也达到了一个前所未有的高度。

在这些复杂的业务场景中,定时调度场景,尽管有着十分庞大和迫切的需求,却缺乏一个“完美”的一站式解决方案。

对于定时消息需求稍低的企业会使用一些消息中间件“残血版”的开源来实现定时调度。有的企业对于定时消息的吞吐量和精确度有着非常高的要求,往往会在消息中间件的基础上自建 Serverless 定时消息中台。如:使用 Amazon SNS 服务实现的 Serverless 定时器

华为云 DMS 定时消息能力的优势

华为云 DMS 上线的定时消息能力在开源消息中间件和各大云厂商提供的定时能力中处于领先地位,能够提供毫秒级精确度、最大长达一年的定时消息能力。对于高度依赖定时消息中台的场景、华为云 DMS 定时消息能够支撑万级吞吐量。后续会上线 Serverless 能力,做到动态伸缩,同时满足低成本和高性能的诉求。

下面介绍一下华为云 DMS 定时消息的功能亮点:

  • 任意时间:能够支持 1 年内任意时间的定时消息。
  • 高精度:定时精度达到毫秒级(在无堆积情况下)。
  • 高性能:接近于普通消息的吞吐量。
  • 高可靠:不会丢失定时消息。
  • 支持取消:在定时消息未投递前支持取消。
  • 可观测性:可查询定时消息。

定时消息最佳实践

在用户发起订单的场景下,需要在一定时间(如 5 分钟)后自动关闭未支付的订单。我们需要一个定时机制按时触发订单关闭的逻辑。此时正式定时消息发挥作用的时刻:在下单时发送一条定时在 5 分钟后投递的定时消息,用它触发关闭订单的逻辑。如果用户支付了订单,可以将之前的定时消息取消。

此外,对于需要大量任务定时调度的场景,可以基于DMS定时消息能力构建一个定时调度中台。依靠DMS定时消息的高吞吐量,可以实现数十万任务并发调度。

除此之外,定时调度还能应用于更多其他场景,如定时提醒、等待重试、事件预订等等。

订单场景流程图

未来展望

华为云已经上线分布式消息服务 RocketMQ 版任意时间定时消息特性。

华为云 DMS 版本正在快速演进中,后续将引入 Serverless 架构,在高可靠高可用基础上消息服务基础上,提供动态扩缩容能力,从容应对流量洪峰,在流量低谷时缩容。按需计费,动态管理企业业务成本,达到降本增效的效果。

点击关注,第一时间了解华为云新鲜技术~

一文带你理解rocketmq广播模式实现机制(代码片段)

RocketMQ有两种消费模式,集群模式和广播模式。集群模式是指RocketMQ中的一条消息只能被同一个消费者组中的一个消费者消费。如下图,Producer向TopicTest这个Topic并发写入3条新消息,分别被分配到了MessageQueue1~MessageQueue3... 查看详情

一文带你搭建rocketmq源码调试环境(代码片段)

tothetargetVM,address:\'127.0.0.1:52279\',transport:\'socket\'Thebroker[broker-a,192.168.10.197:10911]bootsuccess.serializeType=JSONandnameserveris127.0.0.1:98764.3查看启动日志另外我们到logs目录看下启动的详细日志,打开broker. 查看详情

rocketmq基础认知

参考技术ARocketMQ是一款分布式、队列模型的消息中间件,单机支持1万以上的持久化队列,前提是足够的内存、硬盘空间。消息队列主要的应用场景:异步处理,应用解耦,流量削峰,消息通讯。如上图所示,RocketMQ的部署结构有... 查看详情

一文讲透rocketmq消费者是如何负载均衡的

RocketMQ支持两种消息模式:集群消费(Clustering)和广播消费(Broadcasting)。集群消费:同一Topic下的一条消息只会被同一消费组中的一个消费者消费。也就是说,消息被负载均衡到了同一个消费组的多个消费者实例上。广播消费... 查看详情

一文详解rocketmq的存储模型

摘要:RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。本文分享自华为云社区《​​终于弄明白了RocketMQ的存储模型​​》,作者:勇哥java实战分享。RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。1整体概览首... 查看详情

一文详解rocketmq的存储模型(代码片段)

摘要:RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。本文分享自华为云社区《终于弄明白了RocketMQ的存储模型》,作者:勇哥java实战分享。RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。1整... 查看详情

一文详解rocketmq的存储模型(代码片段)

摘要:RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。本文分享自华为云社区《终于弄明白了RocketMQ的存储模型》,作者:勇哥java实战分享。RocketMQ优异的性能表现,必然绕不开其优秀的存储模型。1整... 查看详情

一文带你彻底搞懂springboot-rabbitmq(代码片段)

一、环境搭建采用maven多module模式,共计创建三个子modulecommon:通用实体信息rabbitmq-publisher:消息发布者,基于SpringBootrabbitmq-subscriber:消息订阅者,基于SpringBoot在消息发布者和订阅者两个项目中加入rabbitm... 查看详情

rocketmq消息集成:多类型业务消息-定时消息

引言ApacheRocketMQ诞生至今,历经十余年大规模业务稳定性打磨,服务了100%阿里集团内部业务以及阿里云数以万计的企业客户。作为金融级可靠的业务消息方案,RocketMQ从创建之初就一直专注于业务集成领域的异步通信... 查看详情

一文详解,rocketmq事务消息

在RocketMQ中有一个非常有用的功能,就是事务消息功能,事务消息机制,可以让我们确保发送的消息一定能写进MQ里,绝不会丢失掉。MQ事务消息机制还是挺有用的,在业内还是比较常见的,所以今天我们就... 查看详情

rocketmq定时消息

参考技术A    消息在发送到消息队列RocketMQ版服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者。比如:常见的场景电商交易中超时未支付关闭订单的场景,通过延时消息在30分钟后... 查看详情

一文带你使用xxl-job定时任务(代码片段)

​1.设计思想将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求... 查看详情

rocketmq和kafka到底选哪个

参考技术A1、适用场景kafka适合日志处理rocketmq适合业务处理结论:两者没有区别,根据具体业务定夺2、性能kafka单机写入TPS号称在百万条/秒rocketmq大约在10万条/秒结论:追求性能方面,kafka单机性能更高3、可靠性kafka使用异步刷... 查看详情

带你整理面试过程中关于消息队列(rabbitmq/rocketmq/kafka)的相关知识点(代码片段)

...、可靠性要求很高的场景,对性能和吞吐量要求其次RocketMQ:具有高吞吐量,高可用性,主要用于阿里内部文章目录一、RabbitMQ如何保证高可用?二 查看详情

一文带你入门flinksql(代码片段)

文章目录一文带你入门flinksql写在前面环境准备正文遇到的一些问题错误一错误二错误三一文带你入门flinksql写在前面本次实战主要是通过FlinkSQLClient消费kafka的实时消息,再用各种SQL操作对数据进行查询统计。环境准备具体... 查看详情

rocketmq源码—九rocketmq延时消息(代码片段)

...式,都是通过设置消息被投递的时间来实现的,但是ApacheRocketMQ在版本4.2.0中尚不支持指定时间的 查看详情

rocketmq源码—九rocketmq延时消息(代码片段)

...式,都是通过设置消息被投递的时间来实现的,但是ApacheRocketMQ在版本4.2.0中尚不支持指定时间的 查看详情

rocketmq实现延时队列

参考技术A说明:rocketmq实现的延时队列只支持特定的延时时间段,1s,5s,10s,...2h,不能支持任意时间段的延时具体实现:rocketmq发送延时消息时先把消息按照延迟时间段发送到指定的队列中(rocketmq把每种延迟时间段的消息都存放到... 查看详情