文章预览
架构师(JiaGouX) 我们都是架构师! 架构未来,你来不来? 前言 因为工作中需要用到分布式的延时队列,调研了一段时间,选择使用 Redisson DelayedQueue,为了搞清楚内部运行流程,特记录下来。 总体流程大概是图中的这个样子,初看一眼有点不知从何下手,接下来我会通过以下几点来分析流程,相信看完本文你能了解整个运行流程。 基本使用 内部数据结构介绍 基本流程 发送延时消息 获取延时消息 初始化延时队列 基本使用 发送延迟消息代码如下,发送了一条延迟时间为 5s 的消息。 public void produce () { String queuename = "delay-queue" ; RBlockingQueue blockingQueue = redissonClient.getBlockingQueue(queuename); RDelayedQueue delayedQueue = redissonClient.getDelayedQueue(blockingQueue); delayedQueue.offer( "测试延迟消息" , 5 , TimeUnit.SECONDS); } 接收消息代码如下,可以
………………………………