• quartz 节点争抢Job 问题算法


    Quartz使用了一个随机的负载均衡算法, Job以随机的方式由不同的实例执行。Quartz官网上提到当前,还不存在一个方法来指派(钉住) 一个 Job 到集群中特定的节点。

    以下以分区方式实现:

    1.1     场景描述

    n  多活集群下指定定时任务在某一个(多个)节点执行

    n  多活集群下指定某一个(多个)节点不参与定时任务执行

    2   解决方案

    2.1     配置文件

    classpath/quartz.properties

    2.2     配置参数

    org.quartz.jobStore.tablePrefix

    该参数为配置集群任务表表名前缀,应用会通过该参数来检查对应任务表中是否有待执行任务。该参数为重要参数。

    2.3     数据库表

    2.4     新增任务

    n  访问需要执行该定时任务节点,在任务管理功能项下新增

    n  SQL脚本方式新增

    2.5     应用实列

    1. 现有应用架构为6活双中心应用,要求所有定时任务只在业务区A执行,业务区B不参与定时任务执行,配置如下:

     

                              (业务区A)

     

                              (业务区B)

     

    1. 数据库表要求,业务区A任务相关表名需要以 A_QRTZ_为前缀

                  业务区B任务相关表名需要以 B_QRTZ_为前缀

  • 相关阅读:
    洛谷 P1725 琪露诺 题解
    洛谷 P1714 切蛋糕 题解
    洛谷 P1352 没有上司的舞会 题解
    洛谷 P1194 买礼物 题解
    洛谷 P2872 [USACO07DEC]道路建设Building Roads 题解
    OpenCV之头文件分析
    电路学习之二极管(一)
    二极管学习(一)
    STL之vetor 排序
    小波分析(二)
  • 原文地址:https://www.cnblogs.com/interdrp/p/15956669.html
Copyright © 2020-2023  润新知