定时任务调度框架xxl-job

定时任务调度框架介绍

单机

  • Timer:这是 java 自带的 java.util.Timer 类,这个类允许你调度一个 java.util.TimerTask 任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。
  • ScheduledExecutorService:也 jdk 自带的一个类;是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。
  • Spring Task:Spring3.0 以后自带的 task,配置简单功能较多,如果系统使用单机的话可以优先考虑spring定时器。

分布式

  • Quartz:Java事实上的定时任务标准。但Quartz关注点在于定时任务而非数据,并无一套根据数据处理而定制化的流程。虽然Quartz可以基于数据库实现作业的高可用,但缺少分布式并行调度的功能。
  • TBSchedule:阿里早期开源的分布式任务调度系统。代码略陈旧,使用timer而非线程池执行任务调度。众所周知,timer在处理异常状况时是有缺陷的。而且TBSchedule作业类型较为单一,只能是获取/处理数据一种模式。还有就是文档缺失比较严重。
  • elastic-job:当当开发的弹性分布式任务调度系统,功能丰富强大,采用zookeeper实现分布式协调,实现任务高可用以及分片,并且可以支持云开发。
  • Saturn:是唯品会自主研发的分布式的定时任务的调度平台,基于当当的elastic-job 版本1开发,并且可以很好的部署到docker容器上。
  • xxl-job: 是大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,其在唯品会内部已经发部署350+个节点,每天任务调度4000多万次。同时,管理和统计也是它的亮点。使用案例 大众点评、易信(IM)、京东(电商系统)、360金融(金融系统)、易企秀、随行付(支付系统)、优信二手车。

我们项目选择:XXL-JOB

分布式任务调度平台XXL-JOB

官方文档:https://www.xuxueli.com/xxl-job/

概述

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

XXL-JOB入门案例

下载XXL-JOB示例代码,解压,使用idea打开

http://gitee.com/xuxueli0323/xxl-job
在这里插入图片描述

创建XXL-JOB使用数据库和相关表

在这里插入图片描述
在这里插入图片描述

  • xxl-job-admin,调度中心,核心,负责调度任务,触发,统一管理的平台

部署调度中心

  • 修改xxl-job-admin项目里面配置文件

在这里插入图片描述
在这里插入图片描述

  • 启动调度中心

  • 通过路径访问:http://localhost:8080/xxl-job-admin

  • 默认用户名和密码: admin/123456

部署执行器项目

要做的具体业务(事情)

在这里插入图片描述

  • 引入相关依赖
  • 修改配置文件,把执行器项目在调度中心进行注册

在这里插入图片描述

# web port
server.port=8281

### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册""任务结果回调";为空则关闭自动注册;
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin


### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
xxl.job.executor.appname=xxl-job-executor-sample
### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。

# log config
logging.config=classpath:logback.xml




### 执行器通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=


xxl.job.executor.address=
### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册""调度中心请求并触发任务";
xxl.job.executor.ip=
### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.port=9999
### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
xxl.job.executor.logpath=C:\\tingshu
### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则,-1, 关闭自动清理功能;
xxl.job.executor.logretentiondays=30
  • 注册到调度中心里面

在这里插入图片描述

开发执行器项目job方法

在这里插入图片描述
创建任务并启动任务

  • 通过图形化界面方式进行操作(也可以使用代码来指定定时任务)
  • 新增任务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

科学合理分工太难了,那不成计划经济了吗?科学合理的就不可能有重复资源的说法。市场经济允许有重复研究、允许浪费,就是让大家有一个竞赛关系。多个模块的研究,在竞争中有可能小模块把大模块就吃掉了,那我们就承认小模块的领导地位,由他来整合资源。干部任期制、专家循环制、大家讨论的学习平台……,部门“围墙”就逐渐被拆掉了。现在我们开放讨论,在讨论中思辨,在思辨中学习,看大家讨论的内容也是学习。

https://baijiahao.baidu.com/s?id=1760664270073856317&wfr=spider&for=pc
擦亮花火、共创未来——任正非在“难题揭榜”花火奖座谈会上的讲话
任正非

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值