分布式 - 任务调度

  1. 多节点重复执行某一任务
  2. 大量的任务管理困难
  3. 某些大型任务耗时超长,需要切分给多台机器并行执行

X-Job 侧重的业务实现的简单和管理的方便,学习成本简单,失败策略和路由策略丰富。推荐使用在“用户基数相对少,服务器数量在一定范围内,任务数量多”的情景下使用

E-job关注的是数据,增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。但是学习成本相对高些,推荐在“数据量庞大,且部署服务器数量较多”时使用

Elastic-Job-Lite

定位为轻量级无中心化解决方案,使用jar 包的形式提供分布式任务的协调服务。
使用zookeeper 做协调,调度中心,更加轻量级,支持任务的分片,支持弹性扩容,可以水平扩展, 当任务再次运行时,会检查当前的服务器数量,重新分片,分片结束之后才会继续执行任务失效转移,容错处理。

  1. 引入jar
    在这里插入图片描述

  2. 配置zk
    在这里插入图片描述

  3. 使用
    在这里插入图片描述
    cron : cron 表达式,用于配置作业触发时间
    sharding-total-count : 作业分片总数
    sharding-item-parameters:分片序列号和参数用等号分隔,多个键值对用逗号分隔分片序列号从0 开始,不可大于或等于作业分片总数如:0=a,1=b,2=c
    listener: 任务开始和结束时,自定义的处理功能
    jobExceptionHandler : 任务异常时,自定义的处理

  4. 项目启动 Springboot启动类加上@EnableElasticJob 即可

XXL-JOB

XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展

调度中心
github 下载:https://github.com/xuxueli/xxl-job

修改配置文件
在这里插入图片描述
配置好启动即可 XxlJobAdminApplication

需要使用调度中心的项目配置

  1. 引入jar
    在这里插入图片描述

  2. 配置相关信息
    在这里插入图片描述

  3. 执行器配置
    在这里插入图片描述
    在这里插入图片描述

  4. 编写任务类
    在这里插入图片描述
    @JobHandler(value=“andySharding”)所标的名字,demoJobHandler 专为调度中指代本任务

  5. 可视化中心配置
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值