rocketmq 的延時消息不能支持任意延時,她定義了18 個延時等級,並且我們可以指定這18 個延時等級的延時時間.
發送消息的時候只需在消息中指定 當前消息的 延時等級即可,並且這個延時消息不是立刻翻到目標消息隊列的,rocketmq 定義了 18 個 不可見的 隊列,延時消息都放在這里面(有點像 rabbitmq 的 死信隊列),當這個消息延時到了以后才投遞給正常隊列.
java 代碼例子:
修改 18 個默認延時等級例子.