分布式定时器

2021-12-08 11:56:30 浏览数 (1)

1、分布式定时器介绍

定时器数据结构比较:http://novoland.github.io/并发/2014/07/26/定时器(Timer)的实现.html 时间轮算法论文:http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf

2、采用redis集群实现的分布式分级时间轮定时器架构图:

每个task是一个不断运行的进程

2.1、如何保证每个sortedset仅被消费task一次

一个sortedSet对应一个令牌,取得令牌的task才能去通过触发器去redis中查询sortedSet包含的定时器中是否有某些已经过期了,这里的令牌由调度器中专门的task产生,并且放在消息队列task queue中,消费且仅消费一次由消息队列提供保证。并保证task的数量总是多于当前需要处理的sortedset

2.2、当task受到单机故障影响的时候,如何保证这个进程sortSet可以被其他的task接手

追溯上个一个时间间隔的sortedSet中的定时器是否被处理完成

引用:http://novoland.github.io/并发/2014/07/26/定时器(Timer)的实现.html

0 人点赞