11 rocketMq的延迟消息

vvEcho 2025-03-05 17:56:55
Categories: Tags:

RocketMQ默认提供18个固定延迟级别,对应不同时间间隔(如1s、5s、10s、1h、2h等)。

每个级别对应一个内部队列,消息根据延迟级别暂存至对应的队列中,到期后由Broker重新投递到目标Topic

延迟消息的实现原理:
生产者生产消息时,设置延迟级别;

broker根据延迟级别,将消息暂存至对应的内部队列中(broker会为每个队列单独起一个线程,默认每秒扫描一遍看是否到期)

待对应的消息到期后,broker重新投递到目标Topic;

消费者收到消息后,消费即可。