golang redis 分布式 定时任务      2018-11-08
### 背景 最近项目中的定时任务越来越多,为了防止任务重复执行曾经使用过的方案: - 只启用了一个节点。 - 固定循环间隔,使用分布式事务锁。 第一种方案没有容错机制,当单个节点宕机,所有定时任务都无法正常执行。 第二种方案不能跟cron一样灵活设定时间,比如需要设定每天1点执行就必须借助数据库或者其他存储手段去轮询,非常低效。 在对比了市面上主流的分布式定时任务库后,发现要不就是过