分布式锁和分布式定时任务
0
以前微服务里面使用定时任务,都是只启动一个定时任务,但是这个服务挂了就GG。
我的解决思路就是用分布式锁来实现,每次只有获得锁的服务才可以执行定时任务。
分布式锁可以使用redis、zookeeper或者数据库表。
redis
为了防止服务挂掉,需要设置一个锁的过期时间,然后每次获得锁进行续期。
zookeeper
zookeeper可以设置临时节点服务挂了会自动释放。
数据库表
和redis类似
全是理论没有实践
实践项目
有兴趣的同学可以看下:https://gitee.com/acgist/distributed