yii2-queue Redis 源码分析

简介

一个流行的 Yii2 队列扩展,支持驱动支持 DB,Redis,RabbitMQ,Bestalk,German等十多种技术架构

源码地址: https://github.com/yiisoft/yii2-queue

下面对以 Redis 为驱动的实现源码进行简要分析

特性

  1. 延迟消息
  2. 重试机制
  3. 消息主题
  4. 消费者组
  5. 消费确认

数据结构

名称 redis 数据类型 作用
$(channel).moving_lock string 分布式锁,部分队列操作,需要进行加锁处理
$(channel).waiting list 待处理消息队列
$(channel).reserved zset 重试队列,用于业务处理失败情况下,进行下次重试
$(channel).delayed zset 延迟队列,对消息进行延迟处理
$(channel).attempts hash 存存每条消息重试处理次数
$(channel).messages hash 完整的消息

流程

alt text alt text alt text

PR

yii2-queue#516


yii2-queue Redis 源码分析
http://blog.soul11201.com/2021/12/27/yii2-queue/
作者
soul11201
发布于
2021年12月27日
许可协议