Redis实现延迟消息队列设计方案
2021-08-30 23:41:40 0 举报
Redis实现延迟消息队列设计方案
作者其他创作
大纲/内容
topic list 1topic list 2topic list 3....................id
Redis实现延迟消息队列设计方案
router3
router2
message
key(id)
value(body消息体)
定时消费输出
Redis zset(有序集合)
zset1zset2zset3..........zadd key score id
路由将有序集合中的消息推送到队列当中去,一个路由对应一个list。将相应的消息id,推到队列当中。
router1
每一秒执行一次,将集合中score大于等于当前时间戳的成员,推入到list队列当中。
定时器
数据池
使用zset做优先队列,按照score维持优先级。score用时间戳(任务时间的时间戳)来维护。在有序集合当中,scoer是可以重复的,成员不能重复。
0 条评论
下一页