RocketMQ 消息示例-延迟消息

embedded/2024/11/25 8:08:06/

生产者在确定一定时间间隔之后,这个消息才会被发送。其实也就是不会马上将消息发送出去,希望过一段时间以后再发送出去。

生产者在发送message的时候设置了一个延迟时间的等级,这里的3描述的是时间延迟的等级。这个消息会被延迟10s的时间

message . setDelayTimeLevel ( 3 );
// This message will be delivered to consumer 10 seconds later
在集群的某个选项里面,找到某一个broker,点击配置你会发现消息的延迟等级在这个地方定义为了18个等级。这18个等级分别有不同的延迟时间。1级是1s,2级是10s,三级是30s。
选择哪个等级就会在指定的时间之后发送,所以是一个delay message的效果。

它是如何实现延迟的效果?

在系统里面会给每个等级配置topic,那么这18个topic会有不同的效果,延迟10s钟就会发送到延迟10s的topic里面,那么这个消息就会被延迟10s的消费。这个延迟消费是发生在消费者端的。对于生产者来说并不是延迟发送。

它是发送到这个topic里面,这个topic的效果是消费者会延迟10s去消费这个topic里面的消息。 这些都是rocketmq帮我们已经实现的功能。

在主题这里将系统的先选上

系统为我们提供这样一个topic,SCHEDULE_TOPIC_XXXX,以SCHEDULE_TOPIC为前缀,可以看到这里面会有18个topic。

在不同的broker上面会看到有些queueId是一样的,但是总数是18,因为0-17。这18个topic来实现延迟队列的效果。

生产者将消息发送过去,但是延迟的时间是10s,消费者得10s之后才能消费,才能收到消息。


http://www.ppmy.cn/embedded/140334.html

相关文章

LeetCode-632. Smallest Range Covering Elements from K Lists [C++][Java]

目录 题目描述 解题思路 【C】 【Java】 LeetCode-632. Smallest Range Covering Elements from K Listshttps://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/description/ 题目描述 You have k lists of sorted integers in non-decreasing o…

Vscode进行Java开发环境搭建

Vscode进行Java开发环境搭建 搭建Java开发环境(Windows)1.Jdk安装2.VsCode安装3.Java插件4.安装 Spring 插件5.安装 Mybatis 插件5.安装Maven环境6.Jrebel插件7.IntelliJ IDEA Keybindings8. 收尾 VS Code(Visual Studio Code)是由微软开发的一款免费、开…

STM32完全学习——使用标准库完成PWM输出

一、TIM2初始化 我这里使用的是STM32F407ZGT6这个芯片,我这里使用的是定时器TIM2来完成PWM输出,由于这里没有使用中断,因此不需要初始化NVIC,下面先来进行定时器的相关初始化 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;R…

C#的数据类型总结:decimal ,double,float的区别

在 C# 中,decimal、double 和 float 都是用于表示数值类型的关键字,但它们在精度、范围和用途上有所不同。以下是它们的主要区别和适用场景的总结。 目录 1. decimal 2. double 3. float 主要比较 适用场景总结 注意点 1. decimal 类型大小: 16 字…

解释 Python 中的可变与不可变数据类型?

在 Python 中,数据类型分为可变(mutable)和不可变(immutable)两种。 理解这两种类型的区别对于编写高效、可靠的代码至关重要。 作为面试官,我会详细解释这两者的区别,并提供一些实际开发中的…

一文读懂 ESLint配置

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我…

正则表达式灾难:重新认识“KISS原则”的意义

大家好,这里是hikktn! 最近,我在重读经典名著《The Art of Unix Programming》,又一次被那句广为人知的“KISS”原则(Keep It Simple, Stupid)吸引。这句计算机领域的金科玉律,很多人只停留在字…

AwsCredentialsProvider认证接口

一、介绍 1、简介 AwsCredentialsProvider 是 AWS SDK 中用于提供 AWS 身份验证凭证的一个接口。AWS SDK 中涉及身份验证和授权的操作都需要用到凭证,而 AwsCredentialsProvider 作为一种抽象,负责提供这些凭证。AwsCredentialsProvider 在 Java SDK 中尤为重要,它可以用于…