集群调度

quartz (从原理到应用)详解篇

梦想的初衷 提交于 2019-11-30 01:11:29
目录: 一、Quartz 基本介绍 1.1 Quartz 概述 1.2 Quartz特点 1.3 Quartz 集群配置 二、Quartz 原理及流程 2.1 quartz基本原理 2.2 quartz启动流程 三、Spring + Quartz 实现企业级调度的实现示例 3.1 环境信息 3.2 相关代码及配置 四、问题及解决方案 五、相关知识 六、参考资料 总结 一、Quartz 基本介绍 1.1 Quartz 概述 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。读者可以到 http://www.quartz-scheduler.org/ 站点下载 Quartz 的发布版本及其源代码。 1.2 Quartz特点 作为一个优秀的开源调度框架,Quartz 具有以下特点: 强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求; 灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式; 分布式和集群能力,Terracotta 收购后在原来功能基础上作了进一步提升。 另外,作为 Spring 默认的调度框架,Quartz 很容易与 Spring 集成实现灵活可配置的调度功能。

#研发解决方案#分布式并行计算调度和管理系统Summoner

。_饼干妹妹 提交于 2019-11-26 14:57:46
郑昀 创建于2015/11/10 最后更新于2015/11/12 关键词:佣金计算、定时任务、数据抽取、数据清洗、数据计算、Java、Redis、MySQL、Zookeeper、azkaban2、oozie、mesos Summoner 是国玺部门推出的基于 MySQL+Redis+Zookeeper 的分布式并行计算调度和管理系统,李红红主设。 0x00,为什么要做“数据”并行计算调度? 大家都可能做过 基于 MySQL 数据库的,大规模的、有步骤的、步骤与步骤之间有依赖关系的数据计算 。你可能定义了一堆彼此依赖的定时任务,也可能写成一个大进程跑。 举一个实际场景吧,在我们 O2O 业务体系下,我要做人员规模三四千人、有多条业务线、组织结构为大区-区域-城市-销售组的销售团队的昨日佣金和当月佣金,这里的挑战是: 涉及到商户、门店、交易、折扣、核销物料等等,数据量很大,至少每天都要算一次,要算得快, 激励政策和佣金计算公式随着竞争态势变化,一般一两个月变一次, 数据抽取尽可能少影响正常业务, 计算逻辑调整后要能快速部署和运行。 那么,以前可能会定义一些定时任务,每天凌晨从各个业务数据库(毕竟全都拆库分表了)里抽取: 人员组织架构 大区、区域和城市的对照关系 合同以及合同拥有者 商户和门店 门店下的收单交易 佣金计算公式、规则以及各种权重因子 …… 既有全量数据,也有增量数据