【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!
博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!
吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…
一、业务场景
本篇总结集群环境下解决定时任务重复执行的问题
二、解决方案
2.1 、独立部署
将定时任务独立出来,成为一个单独的项目工程,单一部署
优点:定时任务抽离到独立的项目,所有定时任务入口都在一起,格式整齐统一
缺点:独立部署会比较麻烦
2.2、 配置实现
配置文件设置一个标识符号,定时任务读取此配置文件此属性, 读取到ture执行定时任务,否则不执行
此类属于通过配置方法只让一台机器执行定时任务。
补充拓展:在定时任务代码上加上某个特定的ip限制,仅某个ip的服务器能运行该定时任务,这样也可以同样实现如上的功能。我觉得大致思路相仿。简单分享一下。
2.3、 分布式锁
利用分布式锁,虽然两个机器都会运行定时任务,但是一个时刻只有一台机器会真正的执行定时任务的核心方法
大家可以参考一下:基于Redission的分布式锁实战【代码案例详解】
好了本期的分享到此结束,2023争取分享更多的实战案例,进步更多,我们未来见~
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤️ 分享👥 留言💬thanks!!!
📚愿我们奔赴在各自的热爱里!