毫无章法的记录--如何避免服务集群环境下,定时任务重复被执行

思路:

只让一台机器上的定时任务执行即可;

多台机器如何识别?>>>机器IP地址

最简单的方式,我们在服务配置中,配置一个ip地址,在定时任务方法执行最前面判断当前机器ip是否是所配置的ip即可;

 

 

以上是需要配置的方式,下面使用不需要配置的方式:

服务集群后,spring cloud 体系下可获取该服务集群所有的ip地址,那么我们可以写一个规则,比如将ip地址转成long类型,然后排序,最小值那台机器负责执行任务,只需将本机ip转long,再与整个集群ip转long并排序的第一个比较,相等则放行继续;

后面将贴上代码

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值