延时队列设计
2022-04-10 15:33:22 1 举报
AI智能生成
延时队列设计
作者其他创作
大纲/内容
方案选型
SDK 的 DelayQueue
定时扫表
时间轮算法
基本概念
实现逻辑
变种
分层时间轮
具体应用
基于 MQ 的延迟队列
变种
一种“不断延迟”的思路
一种定时扫表调度 + MQ 的思路
RabbitMQ 实现机制
基于 Redis zset 实现的延迟队列
多个 zset 分片
并发消费任务分配重复
用分布式锁
对ZREM的返回值进行判断,只有大于0的时候,才消费数据
Keyspace Notifications 机制
对比
设计目标
具体实现
消费客户端实现
基于 MQ 订阅
基于 HTTP 一直轮询
生产客户端实现,基于HTTP
定时推送机制
zset 操作
数据结构设计
结合时间轮算法
基于 token 的限流实现
系统难点
数据存储
排序
分布式问题
监控组件
架构设计
整体架构
模块交互
具体设计交互
参考文章
reids 海量定时任务中间件
rabbitMQ 如何实现海量任意定时消息
TMQ-原理,实现,问题与未来
有赞延迟队列设计
参考项目
https://github.com/ouqiang/delay-queue
https://github.com/bitleak/lmstfy
https://app.yinxiang.com/fx/1300ea1e-e99e-47a4-8e16-6b4cc9cb68a7
0 条评论
下一页