主流的分布式调度框架、Elastic-job简介、功能和常用介绍

  • 主流的分布式调度框架
  • Elastic-job简介
    • 功能
    • 常用

主流的分布式调度框架

elastic-job:由当当网基于quartz 二次开发之后的分布式调度解决方案 , 由两个相对独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成 。
Saturn: 唯品会开源的一个分布式任务调度平台,可以全域统一配置,统一监控,任务高可用以及分片并发处
理。它是在elastic-job基础之上改良出来的。
xxl-job:大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学
习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
TBSchedule:淘宝的一款非常优秀的高性能分布式调度框架,目前被应用于阿里、京东、支付宝、国美等很多
互联网企业的流程调度系统中。

Elastic-job简介

elastic-job 是由当当网基于quartz 二次开发之后的分布式调度解决方案 , 由两个相对独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成 。

elastic-job主要的设计理念是无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用方案。但数据库没有分布式协调功能,所以在高可用方案的基础上增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。

功能

分布式调度协调
在分布式环境中,任务能够按指定的调度策略执行,并且能够避免同一任务多实例重复执行。

弹性扩容缩容
当集群中增加某一个实例,它应当也能够被选举并执行任务;当集群减少一个实例时,它所执行的任务能被转移到别的实例来执行。

作业类型
支持Simple、DataFlow、Script三种作业类型,后续会有详细介绍。

调度策略
基于成熟的定时任务作业框架Quartz cron表达式执行定时任务。

失效转移
某实例在任务执行失败后,会被转移到其他实例执行。

错过执行作业重触发
若因某种原因导致作业错过执行,自动记录错过执行的作业,并在上次作业完成后自动触发。

支持并行调度
支持任务分片,任务分片是指将一个任务分为多个小任务项在多个实例同时执行。

作业分片一致性
当任务被分片后,保证同一分片在分布式环境中仅一个执行实例。
任务的分布式执行,需要将一个任务拆分为多个独立的任务项,然后由分布式的服务器分别执行某一个或几个分片项。

支持作业生命周期操作
可以动态对任务进行开启及停止操作。

Spring 整合以及命名空间支持
对Spring支持良好的整合方式,支持spring自定义命名空间,支持占位符。
运维平台

提供运维界面,可以管理作业和注册中心。

常用

1. 分片
任务的分布式执行,需要将一个任务拆分为多个独立的任务项,然后由分布式的服务器分别执行某一个或几个分片项。

例如:有一个遍历数据库某张表的作业,现有2台服务器。
为了快速的执行作业,那么每台服务器应执行作业的50%。 为满足此需求,可将作业分成2片,每台服务器执行1片。
作业遍历数据的逻辑可以为:服务器A遍历ID以奇数结尾的数据;服务器B遍历ID以偶数结尾的数据。
如果分成10片,则服务器A被分配到分片项0,1,2,3,4;服务器B被分配到分片项5,6,7,8,9。
作业遍历数据的逻辑可以为:服务器A遍历ID以0-4结尾的数据;服务器B遍历ID以5-9结尾的数据

2. 分片项与业务处理解耦
Elastic-Job并不直接提供数据处理的功能,框架只会将分片项分配至各个运行中的作业服务器,开发者需要自行处理分片项与真实数据的对应关系。以上面例子分成10片为例,框架只负责决定服务器分配到哪些分片项,由作业分配策略决定,但是每个分片处理哪一部分数据,比如第一个分片处理id以0-4结尾的数据,是由开发者去决定和处理的。

3. 中心化
xxl-job是中心化设计,在xxl-job中,所有定时任务的执行是在调度中心判断作业到了执行的时间,然后通知业务系统去执行,即是作业节点并不知道自己应该什么时候执行定时任务,只能通过调度中心去决定作业的执行。缺点是部署麻烦。

4. 去中心化
elastic-job是去中心化设计,作业调度中心节点,各个作业节点是自治的,作业框架的程序在到达相应时间点时各自触发调度,缺点是可能会存在各个作业服务器的时间不一致的问题。

主流的分布式调度框架、Elastic-job简介、功能和常用介绍相关推荐

  1. 分布式调度框架 elastic-job 实践详解(超详细)

    虽然 Quartz 也可以通过集群方式来保证服务高可用,但是它也有一个的弊端,那就是服务节点数量的增加,并不能提升任务的执行效率,即不能实现水平扩展! 之所以产生这样的结果,是因为 Quartz 在分 ...

  2. 分布式调度框架elasticJob对Curator的使用解析

    前言: 由于公司使用到elasticJob作为分布式调度框架的基础,所以也多多少少研究了一下这个框架. 任务调度的框架有很多,单机情况下我们可以用Quartz,但是分布式调度的情况下,Quartz就无 ...

  3. 【JEECG TBSchedule】详解应对平台高并发的分布式调度框架TBSchedule

    原文地址:http://geek.csdn.net/news/detail/65738 [编者按] TBSchedule是一款非常优秀的高性能分布式调度框架,本文是作者结合多年使用TBSchedule ...

  4. 媲美celery的分布式调度框架funboost

    最近项目中缺乏一款分布式框架,在github上闲逛时,找到了一款分布式调度框架.按照国惯例先上链接:https://github.com/ydf0509/funboost.该框架是由国人ydf开发的, ...

  5. 分布式调度框架Elastic-Job和xxl-job区别

    分布式调度框架Elastic-Job和xxl-job区别还是比较明显的,首先明确一下共同点,即它们俩共同解决的问题是什么? 一.解决传统定时任务存在的问题: 1.业务耦合 : 如果需要修改定时任务时间 ...

  6. 详解应对平台高并发的分布式调度框架TBSchedule

    TBSchedule是一款非常优秀的高性能分布式调度框架,本文是作者结合多年使用TBSchedule的经验,在研读三遍源码的基础上完成.期间作者也与阿里空玄有过不少技术交流,并非常感谢空玄给予的大力支 ...

  7. 淘宝分布式调度框架TBSchedule

    一.TBSchedule初识 时下互联网和电商领域,各个平台都存在大数据.高并发的特点,对数据处理的要求越来越高,既要保证高效性,又要保证安全性.准确性.TBSchedule的使命就是将调度作业从业务 ...

  8. 分布式服务框架之Dubbo简介

    2019独角兽企业重金招聘Python工程师标准>>> 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个 ...

  9. 分布式调度框架Elastic-Job

    1.Elastic-Job介绍 Elastic-Job是当当网开源的⼀个分布式调度解决方案,基于Quartz二次开发的,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job- ...

最新文章

  1. 知方可补不足~开发人员可以自己定义VS文件模版
  2. iOS 开发 OC编程 数组冒泡排序.图书管理
  3. 1.22 实例:商品信息查询
  4. JS高级之面试必须知道的几个点
  5. Android工程模块化平台的设计
  6. 用线段拟合曲线,纯Java实现缠论笔段
  7. Mybatis invalid comparison: java.util.Date and java.lang.String
  8. 关于SYSLINUX的一些重要描述摘录
  9. 迅游科技上演“宫斗” 董事长总裁互相罢免
  10. 数据分析基本思路及手法
  11. mac 10.15上 CornerStone4.1 显示已经损坏
  12. freemarker【FTL】常见语法大全
  13. jQuery左侧图片右侧文字滑动切换代码
  14. LINUX加载静态库so,取得函数地址并调用
  15. docker pxc mysql_docker安装pxc集群的详细教程
  16. matplotlib常用图形
  17. php日期格式带T,php日期格式
  18. pip安装python库总提示下载超时read timed out的解决办法
  19. 2022年最新江西水利水电施工安全员考试题库及答案
  20. C# GPIO通道调试(DMCI驱动)

热门文章

  1. java IO的学习记录
  2. Unity3d插件分享之Assetbundle工具2021最好用工具没有之一
  3. hadoop安装过程命令汇总
  4. 黑客武库升级DDoS电磁炮:威力已不止瘫痪美国半张互联网
  5. 闪存颗粒SLC、MLC、TLC、QLC
  6. uniapp小程序微信支付功能
  7. SQLServer--TSQL编程语法
  8. 数字孪生的思考 01 - 简述一下数字孪生项目的实现路线
  9. python中的max_row_基于row max定位条件列值
  10. Cisco Packet Tracer企业网络安全策略的综合设计与实现