基于Quartz的分布式定时任务系统的设计与实现

来源 :东南大学 | 被引量 : 8次 | 上传用户:FUF66877
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
许多业务场景都有定时任务的需求,比如银行信用卡的自动账单邮件通知、企业的周期性日报通知以及固定时间的秒杀活动。随着信息化的高速发展,定时任务的应用场景不断丰富、需求量不断增加,同时其触发的条件也越来越复杂。目前实现定时任务调度的主流方式主要有Linux系统提供的Crontab工具以及各种编程语言提供的定时器等方案。这些定时任务实现机制虽然能满足基本的需求,但都存在了单点问题、缺乏机器监控与告警和缺乏统一的日志管理等问题。本文针对这些问题,基于开源的轻量级的作业调度框架Quartz设计并实现了一个提供定时任务调度服务的分布式系统。该系统不仅能支持定时任务和周期性任务的调度,并且具备动态扩展、负载均衡、自动的机器故障发现与任务重启、统一的日志管理等新特性。本文的主要工作如下:(1)对比分析现有定时任务调度方法存在的典型问题,在此基础上总结分布式定时任务系统的需求。本文分析了操作系统层面的Crontab、基于JDK的定时器和开源调度框架Quartz这三种方案,总结其中存在的单点问题、缺乏机器监控与故障告警机制、缺乏统一的日志管理模块等问题。以此为基础归纳了系统的功能性需求和非功能性需求,同时提出了经典问题的解决方案。(2)采用了生产者消费者设计模式来进行分布式定时系统的架构设计。整个系统主要分为三个部分,任务调度集群、任务执行集群以及作为两端通信中介的消息中间件。设计后的系统各模块之间分工明确、耦合度低并且易于扩展。(3)使用SpringBoot框架分别实现了系统的调度端和执行端;该系统基于Quartz实现任务的定时触发和周期性触发;连接任务生产者和消费者的消息中间件选择了具备高可靠性的RabbitMQ;此外还使用了分布式协调服务Zookeeper以及分布式RPC工具Dubbo分别作为集群管理工具和项目中的远程接口调用工具。系统实现后既能满足定时任务调度需求,又解决了当下定时任务主流实现方案存在的弊端。(4)进行系统测试。按照制定的需求对系统进行功能和性能测试。测试结果表明本文所设计的系统不仅能满足定时任务的基本业务需求,还具备动态扩展、负载均衡、自动的机器故障发现与任务重启、统一的日志管理等新特性。
其他文献
CO催化氧化在汽车尾气污染控制、燃料电池等领域有着广泛的应用,并且常被用作模型反应来研究多相催化行为,因此多年以来一直是学术研究的热点之一。常见的商用催化剂主要是以
肉鸡坏死性肠炎(Necrotic enteritis,NE)是鸡养殖场最为常见的一种疾病,通常继发于球虫病,导致肉鸡的增重率下降,死亡率上升,给家禽生产造成直接和间接的经济损失。NE主要是
阅读是一种综合能力,是英语学习过程中的一项重要内容。英语阅读能力的强弱直接影响了他们获取信息和沟通的能力。然而,目前很多中等职业学校的学生阅读能力不容乐观,相当一
目的:构建阴道毛滴虫AP33基因的乳酸菌表达载体。方法:提取阴道毛滴虫总RNA为模板,经RT-PCR得到AP33基因的PCR特异性产物,将其连接入乳酸菌分泌表达载体pVE5523质粒中,并转化入
近年的研究表明miRNAs在免疫系统发育和宿主免疫应答调节方面发挥着重要的作用。益生菌能够有效的缓解沙门氏菌带来炎症反应。然而,miRNAs是否并且如何参与肉鸡肠道炎症应答
近年来,互联网、信息化和云计算技术不断高速发展,政府及企事业单位在以智能化手段进行海量数据管理、信息资源共享和信息安全保护方面的需求与日剧增。传统的数据保存方式如
2017年以来,四川省纪委驻公安厅纪检组紧紧围绕全省公安工作中心任务,聚焦主责主业,创新方式方法,加强自身建设,灵活打好综合监督和执纪审查的“组合拳”,深入推进党风廉政建设和反
报纸
机匣零件是航空发动机的关键部件之一,其外形特征多为圆筒或圆锥形的回转体结构。机匣零件种类繁多,根据机匣零件在发动机中承担的作用不同,其结构形式也存在较大差异。有些
职业教育是为社会培养面向生产、建设、管理和服务等一线需要的实践能力强、具有良好职业道德的技能型人才.技能水平是中职学生最为核心的竞争力.为了全面提升中职学校办学质
前言 哮喘的本质是以嗜酸性粒细胞浸润为主的气道炎症。近来认为EOS凋亡障碍致EOS生存延长与哮喘炎症相关。但凋亡的确切机制仍不十分清楚。天冬氨酸特异性半胱氨酸蛋白酶