Java定时器调度实现负载均衡_jy-task: 惊讶网站的统一调度任务平台管理,采用Quartz来定时调用。支持集群部署、任务负载均衡。SpringBoot架构...

task介绍和使用

task是什么?

task是一个任务调度统一管理平台。

目前主要是通过http来进行任务的调度,http支持签名算法。

一张图能更加懂它是做什么的(一个集中管理任务的平台)

3382fd3bc79c55a9a8da0ea05a4269a6.png

从上图可以清楚的知道,它是一个管理所有系统的定时任务平台

特点

支持集群部署

任务的分配能实现负载均衡

任务调度失败后,会发送email提醒,前提是设置了任务发邮件提醒

数据库为mysql

架构

服务端:springBoot、springMVC、mybatis、Quartz

前端:jquery、boostarp3

部署

去gitee下载最新代码,然后执行maven install,打开项目的target目录可以看到部署包task-1.0.0-bin.zip,然后解压该包,windows环境下双击bin/window/start.bat即可。如果环境为linux,执行bin/start.sh即可。

源码下载地址:http://git.oschina.net/yuejing/task

创建mysql数据库

默认系统会自动创建数据库(前提条件数据库为空时会自动创建)

初始化测试数据:文件在【doc】目录下的task-init.sql文件里面

修改部署时的jdbc连接信息

文件所在目录为项目下的resources里面的application.properties 文件,修改对应的信息即可

当打包成war时,修改配置文件的位置为/WEB-INF/classes/application.properties 文件,修改对应的信息即可

jdbc1.driverClassName=com.mysql.jdbc.Driver

jdbc1.url=jdbc:mysql://127.0.0.1:3306/task?useUnicode=true&characterEncoding=UTF-8

jdbc1.username=root

jdbc1.password=root

设置服务定时任务可使用的线程数

文件所在目录为项目下的resources里面的application.properties 文件,修改对应的信息即可

当打包成war时,修改配置文件的位置为/WEB-INF/classes/application.properties 文件,修改对应的信息即可

#任务的执行线程数,不设置默认为100

project.task.thread.num=100

在eclipse或idea中run as com.ms.server.TaskApplication.java (也可以打包成可执行程序,maven install,然后在target下有个task-1.0.0-bin.zip文件,解压后,window下执行bin/window/start.bat文件。linux下执行bin/start.sh文件)

登录

输入用户:admin

密码:123456

点击【登录】

用户管理

这里可以修改用户的资料密码等信息,也可以添加多个帐号

注意,这里建议别删除admin帐号,不然又得去数据库中添加记录了

e45ed69a4c0b6426476c63dd5c87c0b4.png

系统配置

这里一般采用默认的形式即可

7163fa8e376749093205585cfb3891fb.png

添加任务

比如给支付系统添加任务

系统项目配置

进入项目管理 -> 点击添加项目

75359fd0974c12e224d7a2c93af7fdc2.png

添加项目

加密方式解读

不加密

就是该项目下调用的接口都不加密

md5(token)

选择后,出现如下内容

{token:"sdfsdfsfsdf",sign:"encryptionParameters"}

token代表和业务系统协商好的密钥,用户md5加密的密钥参数

sign代表token的值,采用md5加密后的值

任务发送http请求时,会增量带参数有sign

md5(渠道+token)

选择后,出现如下内容

{channel:"50",token:"sdfsdfsfsdf",sign:"encryptionParameters"}

token代表和业务系统协商好的密钥,用户md5加密的密钥参数

channel代表业务系统要求传入的参数(注意:channel的名字是可以改变的)

sign代表channel的值+token的值,采用md5加密后的值

任务发送http请求时,会增量带参数有channel、sign

md5(时间戳+token)

选择后,出现如下内容

{time:"theCurrentTimestamp",token:"sdfsdfsfsdf",sign:"encryptionParameters"}

token代表和业务系统协商好的密钥,用户md5加密的密钥参数

time代表业务系统要求传入的参数,具体值为当前请求的时间戳(注意:time的名字是可以改变的,单位是精确到ms)

sign代表time的值+token的值,采用md5加密后的值

任务发送http请求时,会增量带参数有time、sign

md5(渠道+时间戳+token)

选择后,出现如下内容

{channel:"50",time:"theCurrentTimestamp",token:"sdfsdfsfsdf",sign:"encryptionParameters"}

token代表和业务系统协商好的密钥,用户md5加密的密钥参数

channel代表业务系统要求传入的参数(注意:channel的名字是可以改变的)

time代表业务系统要求传入的参数,具体值为当前请求的时间戳(注意:time的名字是可以改变的,单位是精确到ms)

sign代表channel的值+time的值+token的值,采用md5加密后的值

任务发送http请求时,会增量带参数有channel、time、sign

邮件通知

如果选中了否,代表该项目下的所有任务调度失败的都不发送邮件通知

接收邮箱

为接收调度任务失败的邮件通知的邮箱,支持多个邮箱用,分隔(注意是英文的,)

项目任务配置

点击【项目管理】记录中的任务管理

cfebbaf78cc6a12a47a358572d7f9955.png

在该项目下新增一个任务

新增任务

名称

任务的名称,用于说明任务做什么

描叙

用来描叙任务

调用链接

执行任务时,http请求的地址(注意:如果项目设置了加密,则会带上相应的加密参数)

任务规则

quartz的调度规则,具体可以参考quartz的规则语法

这里的【0/15 * * * * ?】代表每隔15秒执行一次

任务执行状态

代表当前任务的状态,正常表示执行中,停止代表该任务不执行

当出现待添加的状态,代表任务还在等待添加的状态

失败邮件通知

这里通知的是项目设定的邮箱

调度日志

点击【调度日志】进入后,可以查看到对应的调度记录

5fd0843d1538c903a0cf2063cbc8b9f2.png

日志列表

点击查看可以,看到具体的信息

298ded1ad3f73e6922dec43915371dd6.png

项目图表

点击【任务管理-项目图表】,可以看到支付系统的详细任务数,其它的系统为自己加的测试系统

服务管理

点击【任务管理-服务管理】进入,可以查到看当前集群的服务,如果服务停止,则会显示已销毁

服务图表

点击【任务管理-服务图表】进入,可以查看到各个服务当前所执行的任务数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值