定时任务在服务器集群中的实现问题
来源:互联网 发布:硕鼠 youtube mac 编辑:程序博客网 时间:2024/06/13 23:10
服务器集群中,定时任务设计需要解决的问题:
1、如果集群中每台机器都启动定时任务,容易造成数据重复处理的问题。2、如果采用定时任务开关的方式,只一台机器的开关on,其他机器的开关off,可以避免数据重复处理的问题,但是存在单点故障的问题。
解决方式有:
1、任务从数据库中读,保证只有一台机器可以抢到任务。
2、将任务的定时触发模块、任务的执行模块分离。任务的定时触发模块每台机器都允许触发任务,但是任务的执行模块,只要收到一个执行任务,那么下一个执行任务就被忽略掉。任务开始执行设置running = true,任务执行完毕设置running = false,当running
为ture时候,下一个任务不允许执行。需要注意的是,一定要在finally中加上running = false,要不然任务异常的话,下一次任务永远不会再执行了。
3、笨办法:检测一下数据库,判断任务执行的时间,如果这个时间段里处理过了,则后面的请求就跳过,到了下一个时间段再请求,则再次执行就好。如果未处理,则采用抢任务的方式来处理。
0 0
- 定时任务在服务器集群中的实现问题
- Quartz定时任务在Spring MVC 中的实现
- Quartz定时任务在Spring MVC 中的实现
- Spring+quartz实现定时任务集群
- ExtJs4 中的定时任务实现
- 在服务器端实现定时任务
- Spring整合Quartz定时任务 在集群、分布式系统中的应用
- Spring整合Quartz定时任务 在集群、分布式系统中的应用
- 集群服务器下使用SpringBoot @Scheduled注解定时任务
- Android中的定时任务实现方式
- 解决 集群 环境 定时任务 重复执行 的问题
- 在Tomcat中实现定时执行任务
- 如何用Spring实现集群环境下的定时任务
- 如何用Spring实现集群环境下的定时任务
- 如何用Spring实现集群环境下的定时任务
- Spring+Quartz框架实现定时任务(集群,分布式)
- 使用jse的TimerTask实现在一天中的某个区间段定时任务
- 服务器crontab定时任务
- 数据结构实验之二叉树四:还原二叉树
- linux启动流程分析
- python3.4安装pydelicious
- HTTP协议详解(真的很经典)
- Openfire3.10.2源码在eclipse上部署编译
- 定时任务在服务器集群中的实现问题
- 动态数据源的绑定
- Zookeeper-Zookeeper leader选举
- 《Linux就该这么学》 - 必读的红帽系统与红帽linux认证自学手册
- 13 个免费的 PNG 图像的优化和压缩工具
- 检查数据链是否存在的办法
- 杂谈学习的一点经验
- 射频识别技术漫谈(16)——Mifare UltraLight
- asp.net 信息管理系统中的需填写数据的键值对获取方法