
一、概述1.1 什么是任务调度?任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程。适用于以下场景:某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券。某银行系统需要在信用卡到期还款日的前三天进行短信提醒。某财务系统需要在每天凌晨0:10分结算前一天的财务数据,统计汇总。1.2 为什么需要分布式调度?使用spring中提供的注解@Scheduled,也能实现调度的功能。感觉spring提供的这个注解已经能完成任务调度的功能了,为什么还需要分布式任务调度。说明:上面的第2点(集群模式下的重复执行)可以通过分布式锁实现,增加开发量。1.3 XXL-JOBxxl-job是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。官网地址:https://www.xuxueli.com/xxl-job/XXL-JOB的核心模块是调度中心和执行器。执行器是指应用程序,调度中心是独立于执行器、需要单独部署的一个程序。二、快速入门2.1 下载源码下载地址:https://github.com/xuxueli/xxl-job或https://gitee.com/xuxueli0323/xxl-job解压(可以看到主要有3个服务xxl-job-admin、xxl-job-core和xxl-job-executor-samples):2.2 执行数据库脚本找到解压目录中的数据库脚本:这些表不用关心,是调度中心在执行过程中会用到的。2.3 编译源码(调度器的数据)用编译器打开刚才解压的xxl-job-master项目:修改xxl-job-admin工程中的application.properties文件连接xxl-job数据库: