转载请注明出处:https://www.cnblogs.com/Dorae/p/9357180.html

本文出自:后端知识点梳理-定时任务Quartz篇章

ClusterManager集群管理线程

每个服务器会定时(org.quartz.jobStore.clusterCheckinInterval这个时间)更新SCHEDULER_STATE表的LAST_CHECKIN_TIME,若这个字段远远超出了该更新的时间,则认为该服务器实例挂了;

注意:每个服务器实例有唯一的id,若配置为AUTO,则为hostname+current_time

线程执行的具体流程:

    • 检查是否有超时的实例failedInstances;
    • 更新该服务器实例的LAST_CHECKIN_TIME;若有超时的实例:
    • 获取STATE_ACCESS锁;
    • 获取超时的实例failedInstances;
    • 获取TRIGGER_ACCESS锁;
    • clusterRecover:
      • 针对每个failedInstances,通过instanceId获取每个实例的firedTriggers;
      • 针对每个firedTrigger:
        • 更新trigger状态:

          • BLOCKED->WAITING
          • PAUSED_BLOCKED->PAUSED
          • ACQUIRED->WAITING
        • 若firedTrigger不是ACQUIRED状态(在执行状态),且jobRequestRecovery=true:
          创建一个SimpleTrigger,存储到trigger表,status=waiting,MISFIRE_INSTR=MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY.
        • 删除firedTrigger

Quartz-ClusterManager集群管理相关推荐

  1. Redis集群管理方式

    Redis的有三种集群方式:主从复制,哨兵模式和集群. 主从复制 从服务器连接主服务器,发送SYNC命令: 主服务器接收到SYNC后执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的所有写 ...

  2. quartz在集群环境下的最终解决方案

    在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB . 大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVI ...

  3. CynosDB技术详解——存储集群管理

    本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...

  4. 容器集群管理平台的比较

    2019独角兽企业重金招聘Python工程师标准>>> 容器化和微服务是当前最热话题,不久之前,笔者(据说因为现在都不用笔了,"笔者"的称谓已经不合适了,因为输入 ...

  5. Kubernetes使用集群联邦实现多集群管理

    Kubernetes在1.3版本之后,增加了"集群联邦"Federation的功能.这个功能使企业能够快速有效的.低成本的跨区跨域.甚至在不同的云平台上运行集群.这个功能可以按照地 ...

  6. 交换机知识--集群管理

    集群是可以当作单一设备来管理的一组网络设备的集合,集群管理的主要目的是解决大量分散的网络设备的集中管理问题.网络管理者只需要在集群中的一个交换机上配置公网IP地址就可以实现对集群中其它交换机的管理和维 ...

  7. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  8. 运维利器-ClusterShell集群管理操作记录

    在运维实战中,如果有若干台数据库服务器,想对这些服务器进行同等动作,比如查看它们当前的即时负载情况,查看它们的主机名,分发文件等等,这个时候该怎么办?一个个登陆服务器去操作,太傻帽了!写个shell去 ...

  9. CynosDB技术详解——存储集群管理【文末有福利】

    本文由腾讯云数据库发表 前言 CynosDB是架构在CynosFS之上的分布式关系数据库系统,为最大化利用存储资源,平衡资源之间的竞争,检查资源使用情况,需要一套高效稳定的分布式集群管理系统(SCM: ...

最新文章

  1. 如何彻底卸载mysql(xp)
  2. 微信小程序项目重构之Redux状态管理
  3. 知乎快捷取消我关注的问题chrome插件
  4. python开发需要掌握哪些知识-研究深度学习的开发者,需要对 Python 掌握哪些知识?...
  5. 工程之道,深度学习的工业级模型量化实战
  6. 2010经典句句 学会了以后你的嘴巴会很流利 (转)
  7. ARP-Address Resolution Protocol-地址解析协议
  8. 麒麟810加持,华为nova 5z让你一步从青铜变王者
  9. 基于Session的认证方式_实现认证功能_Spring Security OAuth2.0认证授权---springcloud工作笔记116
  10. 地址坐标LA3708:Graveyard
  11. [Selenium]怎样验证页面是否有无变化
  12. java clone数组_Java中的数组有对应的类么,为什么数组可以直接调用clone()方法?...
  13. 交叉火力dsp手机调音软件_dsp教程_交叉火力dsp调音教程_教你学dsp百度云(2)
  14. 基于SSM的个人健康管理系统
  15. AE插件/Trapcode Suite安装错误/error
  16. 微商深度揭秘——减肥产品、推广方法
  17. php传奇发布站,传奇发布网站php源码
  18. Java基础练习题(逢七跳过、百钱百鸡、不死神兔、复利(利滚利))
  19. C++ abort() has been called错误
  20. Linux之——UltraISO写入引导扇区时弹出“找到多于1个分区”解决方法

热门文章

  1. vb.net datetimepicker月到当日的天数_听丨6月30日,黄石人的公积金有大变化
  2. 小型主板的外形尺寸功能应用介绍
  3. QQ邮箱漂流瓶功能将于明天正式关闭
  4. matlab逆矩阵/初等变换法求解线性方程组
  5. 物联网卡是怎么管理的?
  6. 不小心卸载win10自带的word、excel等解决方法
  7. try catch执行过程分析
  8. Linux内核争抢式并发在SMP多核扩展上的不足
  9. 整理的2022年基于php毕业设计成品题目项目作品课题源码
  10. 用html撸一个游戏大厅