生产环境的分布式任务调度框架如何选择?quartz、xxl-job、Elastic-Job、Saturn
一、Quartz
支持集群和分布式,但是没有友好的管理界面,功能单一,对于管理调用的任务比较困难。
quartz使用数据库锁。在quartz的集群解决方案里有张表scheduler_locks,quartz采用了悲观锁的方式对triggers表进行行加锁,以保证任务同步的正确性。一旦某一个节点上面的线程获取了该锁,那么这个Job就会在这台机器上被执行,同时这个锁就会被这台机器占用。同时另外一台机器也会想要触发这个任务,但是锁已经被占用了,就只能等待,直到这个锁被释放。
quartz的分布式调度策略是以数据库为边界资源的一种异步策略。各个调度器都遵守一个基于数据库锁的操作规则从而保证了操作的唯一性。同时多个节点的异步运行保证了服务的可靠。但这种策略有自己的局限性:集群特性对于高CPU使用率的任务效果很好,但是对于大量的短任务,各个节点都会抢占数据库锁,这样就出现大量的线程等待资源。这种情况随着节点的增加会越来越严重。
缺点:
quartz的分布式只是解决了高可用的问题,并没有解决任务分片的问题,还是会有单机处理的极限。
二、Xxl-job
轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。目前拥有大量的it企业使用该框架,文档齐全,教程很多,遇到问题也比较容易找到解决方案。
主要特性
简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
调度中心HA(中心式):调度采用中心式设计,“调度中心”基于集群Quartz实现并支持集群部署,可保证调度中心HA;
执行器HA(分布式)ÿ
生产环境的分布式任务调度框架如何选择?quartz、xxl-job、Elastic-Job、Saturn相关推荐
- 【niubi-job——一个开源的分布式任务调度框架】-----安装教程
niubi-job是什么 niubi-job是LZ耗时三个星期,费尽心血打造的一个具备高可靠性以及水平扩展能力的分布式任务调度框架,采用quartz作为底层的任务调度管理器,zookeeper做集群的 ...
- 自己动手实现分布式任务调度框架
前段时间,公司要改造现有的单节点调度为分布式任务调度,然后就研究了目前市面上主流的开源分布式任务调度框架,用起来就一个感觉:麻烦!特别是之前在一个类里写了好多个调度任务,改造起来更加麻烦.我这人又比较 ...
- 分布式任务调度框架Power-Job
分布式任务调度框架的由来及对比 在大型业务业务系统中,不可避免会出现一些需要定时执行需求的场景,例如定时同步数据,定时清洗数据,定时生成报表,大量机器一同执行某个任务,甚至有些需要分布式处理的任务例如 ...
- 分布式任务调度框架和微服务的区别
一.前言 分布式大行其下的时代,让大家彻底的抛弃了传统陈旧的技术框架.几乎每一个技术人都知道和掌握了微服务架构,微服务自然有它的美,但是所以技术框架都必须服务于业务,结合自身业务选取甚至自研适合自身的 ...
- XXL-Job分布式任务调度框架-- 介绍和调度中心的搭建启动1
一 xxl-job介绍 1.1 xxl-job介绍 xxl-job是轻量级的分布式任务调度框架,目标是开发迅速.简单.清理.易扩展; 老版本是依赖quartz的定时任务触发,在v2.1.0版本开始 移 ...
- 分布式任务调度框架(Temporal)介绍
分布式任务调度框架基本能力: 任务管理能力(增删改查.执行.定时执行.延时执行.健康监控) 集群管理能力(扩展简单.效率高) 编程能力(运行代码) Web界面管理 目前市面上有很多可用于处理分布式任务 ...
- 分布式任务调度框架XXL-JOB --配置部署
配置部署"调度中心" 调度中心项目:xxl-job-admin 作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台. 步骤一:调度中心配置: 调度中心配置 ...
- LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷
LTS 轻量级分布式任务调度框架(Light Task Schedule) - 推酷
- LTS 轻量级分布式任务调度框架(Light Task Scheduler)
框架概况: LTS是一个轻量级分布式任务调度框架.有三种角色, JobClient, JobTracker, TaskTracker.各个节点都是无状态的,可以部署多个,来实现负载均衡,实现更大的负载 ...
最新文章
- UML和模式应用(1):面向对象的分析与设计
- 优秀logo设计解析_必修课 | 抛开固有思维,品牌amp;logo设计不求人!
- SAP推出下一代数字转型平台SAP HANA 2
- 【项目实战】pytorch载入训练好的模型并进行可视化模型预测绘图
- github-仓库基本-下载-上传
- 吴恩达神经网络和深度学习-学习笔记-16-超参数的系统的调整方法
- 关于大学生请假规定制度(五篇)
- 《统计学习方法》(李航)的学习体会(一)
- 5、设备树操作reg
- 深入理解操作系统实验——bomb lab(作弊方法2)
- 用电脑“自动生成”的图书
- 黑马程序员_java高级篇网络编程TCP实战Day8(上)
- OpenCV打开摄像头《大华摄像头》
- Python自动化办公系列-Python添加Word段落
- 设计实现信用卡用户定时还款功能
- SaaS、PaaS、IaaS简介
- bat脚本案例:实现炫酷的文字logo
- 计算机职称级别一览表,2017高会《职称计算机》Word 2003:多级列表
- vue路由跳转清空数据
- Mac 命令行中操作剪切板
热门文章
- 力扣35,搜索插入位置(JavaScript)
- 复试复旦大学计算机博士,【华慧推荐】2018年复旦大学博士面试成功经验分享...
- 腾讯云linux配置服务器配置,centos7+腾讯云服务器搭建wordpress
- showdoc windows 搭建_showdoc的安装和使用
- 汇编@data_汇编语言(4)--内存段
- toolchain安装教程支持_Xilinx交叉编译工具链安装步骤
- java 面向对账 抽象_java开发银行支付、对账时证书相关的操作实例
- 五合体机器人乐高_又来一波新品,高达、乐高全都有
- python日志保存为html文件,用 Python 抓取公号文章保存成 HTML
- clob存base64文件存不进去_工行信用卡这几个提额方法,你知道吗?一般人我不告诉他!...