`
haoxuexi87
  • 浏览: 6562 次
文章分类
社区版块
存档分类
最新评论

分布式集群任务调度解决方案

 
阅读更多
课程观看地址:http://www.xuetuwuyou.com/course/247
课程出自学途无忧网:http://www.xuetuwuyou.com
讲师:友凡老师




课程介绍


作为一个开发者,避免不了定时任务的问题,最粗暴和简单直接的解决方案就是crontab。当然在机器少,任务不多,定时任务之间关联少的情况下,crontab效率还是比较高和便捷的。但当机器越多、定时任务越多,各个任务联系越紧密的情况下,用crontab进行定时任务的管理配置,就会非常混乱,严重影响工作效率。

机器多、定时任务多的情况下,就会遇到以下问题:
1、每个服务器各个用户下的crontab任务管理混乱,生命周期无法统一协调管理
2、定时任务运行异常告警难以统一对接
3、任务A和任务B如果存在互斥关系,crontab很难进行互斥处理
4、随着时间增长,当定时任务达到几千上万的时候,定时任务就非常难以管理,线上跑了多个定时任务,每个定时任务什么时候运行,属于哪个应用和哪个开发负责等等问题变得很难解决。


Linux原生Crontab调度系统和Quartz对比:

1、执行粒度方面:
Crontab:进程调度
Quartz:线程调度
线程调度优势:一是更节省资源,二是可以在进程内做数据交换,做数据交换这点很重要。

2、平台依赖性:
Crontab支持Linux系统
Quartz由于是Java实现,所以支持跨平台。

3、调度操作集上:
Quartz的设置更为灵活,可以很方便的通过代码完成各种自定义需求,而且完全闭包Crontab。
但是Crontab的最小调度单元为分钟级,而Quartz可以更细,Crontab实现自定义需求比较麻烦。

4、Job监控方面:
Quartz支持Listener,对job运行情况监控很方便,并且能用JobStores进行调度信息的持久化(内存、DB均可),进而可以实现job可视化

5、高可用:
Quartz支持分布式集群,这一点很重要,而且实现很方便。



为什么要用分布式集群任务调度?
想象一下,现在有 A 、B、 C  3 台机器同时作为集群服务器对外统一提供 SERVICE,3 台机器上各有一个 QUARTZ  Job,它们会按照即定的 SCHEDULE 自动执行各自的任务。由于三台SERVER 里都有 QUARTZ ,因此会存在重复处理 TASK 的现象。一般的解决方案是只在一台服务器上装 QUARTZ ,其它两台不装,这样的话其实就是单机了,quartz会存在单点问题,一旦装有quartz的服务器宕了,服务就无法提供了。当然通过改 QUARTZ JOB 的代码也可以实现,但是这对开发人员要求比较高,而且可能会出现其他问题。然而quartz本身就提供了很好的集群方案。quartz集群需要数据库的支持(JobStore TX或者JobStoreCMT),从本质上来说,是使集群上的每一个节点通过共享同一个数据库来工作而达到高可用的。分布式集群任务调度,quartz是一个比较好的选择。简单,强大,稳定。


分布式集群时有个问题,就是所有服务器时钟应当要同步,以免出现离奇且不可预知的问题。
分享到:
评论

相关推荐

    大数据“分布式调度框架”大集合.docx

    大数据"分布式调度框架"大集合 大数据"分布式调度框架"大集合全文共22页,当前为第1页。... 2.2.1、Elastic-job-lite Elastic-job-lite定位为轻量级无中心化的解决方案,使用jar包的形式提供分布式任务的协调服务,

    Fourinone分布式并行计算四合一框架

    ade的解决方案去解决大集群的分布式缓存,利用硬件负载均衡路由到一组fa?ade服务器上,fa?ade可以自动为缓存内容生成key,并根据key准确找到散落在背后的缓存集群的具体哪台服务器,当缓存服务器的容量到达限制时,...

    Cluster和web模式问题笔记

    1.一致性Hash问题及解决方案 2集群时钟同步问题 3分布式ID问题及解决方案 4.分布式调度问题及解决方案 5.Session一致性问题及解决方案

    Fourinone分布式计算框架

    ade的解决方案去解决大集群的分布式缓存,利用硬件负载均衡路由到一组fa?ade服务器上,fa?ade可以自动为缓存内容生成key,并根据key准确找到散落在背后的缓存集群的具体哪台服务器,当缓存服务器的容量到达限制时,...

    Hadoop-海量文件的分布式计算处理方案.docx

    就如同java程序员可以 不考虑内存泄露一样, MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的 模式允许程序员可以不需要有什么...

    bouncer:分布式专属调度库

    集群上计划任务问题的解决方案,其中任务只能在给定时间在一台服务器上运行。 它基于一个非常简单的锁服务器,可确保在给定时间只有一个客户端拥有“命名锁”。 需要注意的是,这不是作业调度程序。 这个库提供的...

    云计算解决方案.docx

    云计算解决方案全文共4页,当前为第1页。云计算解决方案全文共4页,当前为第1页。方案简介 云计算解决方案全文共4页,当前为第1页。 云计算解决方案全文共4页,当前为第1页。 随着互联网技术的发展,越来越多的应用...

    Mesos高可用解决方案剖析

    Mesos采用的也是现在分布式集群中比较流行的Master/Slave主从集群管理架构,Mesosmaster节点是整个集群的中枢,它责管理和分配整个Mesos集群的计算资源,调度上层Framework提交的任务,管理和分发所有任务的状态。...

    Java思维导图xmind文件+导出图片

    基于分布式架构下分布式锁的解决方案实战 分布式架构实现分布式定时调度 分布式架构-中间件 分布式消息通信 消息中间件在分布式架构中的应用 ActiveMQ ActiveMQ高可用集群企业及部署方案 ActiveMQ P2P及PUB/...

    完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题

    NULL 博文链接:https://medbricom.iteye.com/blog/1782765

    通用服务器虚拟化解决方案.docx

    通用服务器虚拟化解决方案 - 1 - 1 通用 服务器虚拟化解决方案 2017年10月 通用服务器虚拟化解决方案全文共28页,当前为第1页。 通用服务器虚拟化解决方案全文共28页,当前为第1页。 目录 1 项目背景 - 2 - 2 服务器...

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成.zip

    模块包括:定时任务调度、服务器监控、平台监控、平台设置、开发平台、单点登录、Redis分布式高速缓存、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档、生成模块、代码实例、安装...

    java高级软件工程师教程快速入门Zookeeper+dubbo视频教程

    提供分布式数据一致性解决方案,分布式应用程序可以实现数据发布订阅、负载均衡、命名服务、集群管理分布式锁、分布式队列等功能。在大数据、分布式系统或架构中占有很重要的协调位置。 Dubbo是一款高性能、轻量级的...

    Wordbatch:使用可交换调度程序后端的,用于分布式AI处理管道的Python库

    这允许用户在本地工作站或笔记本电脑上开发AI程序,并在集群或云上扩展相同的解决方案,只需将管道后端更改为分布式调度程序(例如Spark,Dask或Ray)即可。 可以根据特定任务的性能特征选择后端,然后将其交换为...

    【JeeSpringCloud v3.2.4】后台权限管理系统+互联网云快速开发框架+微服务分布式代码生成

    模块包括:定时任务调度、服务器监控、平台监控、平台设置、开发平台、单点登录、Redis分布式高速缓存、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档、生成模块、代码实例、安装...

    云计算解决方案.doc

    1、方案简介 随着互联网技术的发展,越来越多的应用面向云计算。云计算是网络计算、分布式计 算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机和网络技术发展 融合的产物。云计算的核心思想,是将...

    Hadoop--海量文件的分布式计算处理方案

    MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理...

    华为HCIA-Big Data V2.0 LVC公开课培训.rar

    3.2_Yarn的资源管理和任务调度-增强特性 第四章 Spark2x基于内存的分布式计算 4.1_Spark概述-Spark原理与架构 4.2_Spark原理与架构-Spark在FusionInsight中的集成情况 第五章 HBase分布式NoSQL数据库 5.1_HBase...

    全流程数据治理规划实施方案

    采用分布式集群架构,具有很高的容错性、稳定性和可用性,可支持TB、PB级以上结构化与非结构化数据存储。 数据敏捷计算 采用MPP架构,以及列式数据存储模型,结合存储分区、分布式缓存等技术,轻松实现TB级数据查询...

    全新JAVAEE大神完美就业实战课程 超150G巨制课程轻松实战JAVAEE课程 就业部分.txt

    ERP_day09JavaMail发送预警邮件_使用Quartz任务调度框架_自动发送邮件 ERP_day10_PIO框架应用_订单导入_导出_HSSF读写Excel表格档案 ERP_day11_CXF框架_红日物流BOS系统_ERP物流信息管理 ERP_day12_Easyui--Thee...

Global site tag (gtag.js) - Google Analytics