rocktmq 消息延时清空_RocketMQ(七)消息类型--定时/延时消息

本文介绍了RocketMQ的定时消息和延时消息功能,它们在消息发送后不会立即投递,而是根据设定延迟一段时间。定时消息指定确切的投递时间点,而延时消息设置延迟长度。在阿里云和Apache版本中,实现方式有所不同,但都能实现消息延迟投递的效果。通过示例代码展示了如何发送和消费延时消息。
摘要由CSDN通过智能技术生成

rocketmq支持定时消息和延时消息。

定时消息:Producer将消息发送到消息队列RocketMQ版服务端,但并不期望立马投递这条消息,而是推迟到在当前时间点之后的某一个时间投递到Consumer进行消费,该消息即定时消息。

延时消息:Producer将消息发送到消息队列RocketMQ版服务端,但并不期望立马投递这条消息,而是延迟一定时间后才投递到Consumer进行消费,该消息即延时消息。

定时消息与延时消息在代码配置上存在一些差异,但是最终达到的效果相同:消息在发送到消息队列RocketMQ版服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者。

定时消息和延时消息的使用在代码编写上存在略微的区别:

发送定时消息需要明确指定消息发送时间点之后的某一时间点作为消息投递的时间点。

发送延时消息时需要设定一个延时时间长度,消息将从当前发送时间点开始延迟固定时间之后才开始投递。

代码测试

在阿里云和apache的两个版本中,有一定的区别:

阿里云:

延时消息:当前时间+延时时间表示,转成时间戳,表示延时消息。

定时消息:指定时间转成时间戳,表示定时消息。

以上两种代码实现方式相同。

apache :

只有延时消息的概念,并且需要在配置文件中给出延时等级的定义,在broker.conf中指定以下配置:

messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值