多个节点竞争分布式redis key,来进行跑任务,因为之前项目中使用的elasticsearch,runtype=all,那么每个节点都会跑,为了避免任务的重复执行。那我就在想,这岂不是没有使用上elasticjob的特性,而且还多出了redis来控制,多此一举,代码写的还难看。
直接使用elasticjob的分片功能,但是只分一个即可,那么利用这个特性,就可以抛弃redis来控制了。代码量减少, 而且效率提高,更加充分使用了elasticjob的特性。
以上,只记录了思路,具体实现,参考reidis分布式锁和elasticjob的分片原理。