rocketmq实现延迟队列精确到秒级实现方案4-基于rocketmq 默认支持18个等级来改造

  

rocketmq开源版本支持18个等级的延迟方案,

如果要支持任意时间延时,

可以基于rocketmq已有的level来改造,传入一个时间,计算出最接近的等级,投递出去,当消息到达时候,

判断是否到了时间,如果没有,继续计算出最接近的等级投递,一直到超时时间为止

这个方案有个缺陷,在没有到达超时时间,同一个消息会出现多次投递的情况。

 

 

开源rocketmq延迟队列实现: 

https://gitee.com/venus-suite/rocketmq-with-delivery-time.git

 

posted @ 2022-01-17 20:26  tomj2ee  阅读(307)  评论(0编辑  收藏  举报