前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基础架构之分布式任务平台

基础架构之分布式任务平台

原创
作者头像
低代码布道者
修改于 2022-07-29 03:37:40
修改于 2022-07-29 03:37:40
1K00
代码可运行
举报
文章被收录于专栏:架构师聊技术架构师聊技术
运行总次数:0
代码可运行

项目中除了主流业务,往往带有很多附带功能,比如订单确认给客户发送邮件或者短信,流程审批完成给申请人发送审批完成消息,根据会员生日提前发生日问候 等等,这些功能一般都是以任务的形式存在,少量的任务还好,如果多了,一个集中管理任务的平台还是非常有必要的,xxl-job非常的优秀,是许雪里大神的作品

主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。

项目中除了主流业务,往往带有很多附带功能,比如订单确认给客户发送邮件或者短信,流程审批完成给申请人发送审批完成消息,根据会员生日提前发生日问候 等等,这些功能一般都是以任务的形式存在,少量的任务还好,如果多了,一个集中管理任务的平台还是非常有必要的,xxl-job非常的优秀,是许雪里大神的作品,官方介绍在 http://www.xuxueli.com/xxl-job/#/ 这篇文章主要介绍平台的搭建及项目接入。

(一) 环境要求

  1. Centos 7.5.1804
  2. Docker 18.06.1-ce
  3. Mysql 5.7.11

(二) 安装设置

a) Mysql安装,我是采用的5.7.11 的镜像安装,运行命令下载镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker pull mysql:5.7.11

然后执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run --name mysql -p 3307:3306 
-v /data/mysql/data:/var/lib/mysql 
-v /data/mysql/conf:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=123456 
-d mysql:5.7.11

,注意映射路径要提前在宿主机上创建。我这里3306已经被其他程序占用,改成了3307,实际项目可以用默认端口3306

b) 安装

为了方便安装我整理成了安装包放在了百度网盘,只需两步就能安装完成,点击安装包下载 ,压缩包文件目录结构如下,

  1. application.properties 为配置文件,一般只需要修改这个配置文件即可。
  2. linux-start 为Linux下运行脚本,如果没有执行权限,记得加权限
  3. win-start 为windows 下运行脚本
  4. tables_xxl_job.sql 为数据结构脚本
  5. xxl-job-admin-1.9.2-SNAPSHOT.jar 为项目包

首先把数据结构导入到数据库,执行任何数据库客户端,执行数据结构脚本即可导入,记得修改application配置文件中的数据库链接信息,然后执行对应的环境脚本即可。等脚本运行完,可以在浏览器输入http://192.168.1.215:8089,可以看到登录界面

具体端口号可以在配置文件中设置,输入账号 admin/123456,就可以进入job管理平台,然后创建自己的执行器及任务。

在日志中可以方便的查看每次运行结果

更多使用说明参加官方文档 http://www.xuxueli.com/xxl-job/#/

c) 项目接入

i. job-client包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <dependency>
        <groupId>com.xuxueli</groupId>
        <artifactId>xxl-job-core</artifactId>
        <version>1.9.2-SNAPSHOT</version>
  </dependency>

ii. 编辑配置文件application.properties

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server.port=8020
# 日志配置文件
logging.config=classpath:logback.xml
### 管理地址
xxl.job.admin.addresses=http://192.168.1.188:8088
xxl.job.executor.appname=xxl-job-executor-sample
xxl.job.executor.ip=192.168.1.188
xxl.job.executor.port=9998
xxl.job.alarmEmail=1441299@qq.com
xxl.job.accessToken=
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### 日志保留时长
xxl.job.executor.logretentiondays=-1
xxl.job.db.driverClass=com.mysql.jdbc.Driver
xxl.job.db.url=jdbc:mysql://localhost:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8
xxl.job.db.user=root
xxl.job.db.password=123456
xxl.job.login.username=admin
xxl.job.login.password=123456

到这里分布式任务平台搭建及使用就介绍完了,如果使用过程有问题及好的建议,欢迎留言,共同进步。

喜欢的朋友记得给个关注~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
分布式任务调度的解决方案
随着系统规模的发展,定时任务数量日益增多,任务也变得越来越复杂,尤其是在分布式环境下,存在多个业务系统,每个业务系统都有定时任务的需求,如果都在自身系统中调度,一方面增加业务系统的复杂度,另一方面也不方便管理,因此需要有一个任务平台对分散的任务进行统一管理调度,基于目前的情况,任务平台需要支持以下几个方面:
慕容千语
2021/07/20
1.4K0
分布式任务调度平台XXL-JOB搭建教程
  关于分布式任务调度平台XXL-JOB,其实作者 许雪里 在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式记录下来。
IT可乐
2019/05/29
2.3K0
分布式任务调度平台XXL-JOB搭建教程
xxljob分布式任务调度学习
定时任务这种类型的需求在实际项目中是非常常见的,本小节来对xxljob这种任务调度框架,于2018-12-05,XXL-JOB参与”2018年度最受欢迎中国开源软件“评比,在当时已录入的一万多个开源项目中角逐,最终排名第19名。看这影响力应该是非常不错的,本小节来做一个学习梳理
在水一方
2022/06/14
3030
xxljob分布式任务调度学习
手把手教你实现xxl-job分布式任务调度平台搭建
首先我们需要先下载 xxl-job 的源码,下载地址:github:https://github.com/xuxueli/xxl-job。我这里下载使用的是 2.1.2 版本,下载完成后解压,然后使用 IDEA 的Import Project 导入到 IDE 中,注意使用 Maven 方式导入。
用户1516716
2020/09/22
1.7K0
手把手教你实现xxl-job分布式任务调度平台搭建
分布式调度中间件xxl-job(一):初识Xxl-Job
  在上一篇常见分布式任务调度工具浅析中,简单地分析了一下目前比较热门的三个分布式调度中间件。今天,我们就从大众点评许雪里大佬开源的xxl-job开始学习。   什么?你问我为什么从xxl-job开始学习?别问,问就是简单,好学,易上手。
闲宇非鱼
2022/02/08
2.7K0
分布式调度中间件xxl-job(一):初识Xxl-Job
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
xxl-job是一款开源的分布式任务调度框架,它能够帮助你实现定时任务的调度和管理.
杨不易呀
2023/09/21
2.4K0
大师级教程: 零基础掌握xxl-job分布式任务调度 Job Scheduling
分布式任务调度平台XXL-JOB
任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务。我们可以思考一下在以下场景中,我们应该怎么实现:
我没有三颗心脏
2019/10/08
2.3K0
分布式任务调度平台XXL-JOB
分布式任务调度xxl-job
在单机应用时期,任务调度一般都是基于spring schedule和集成quartz来实现的,当系统发展成分布式服务,应用多实例的时候,任务就会出现多次调用的问题,很多时候我们任务并不需要跑多次。解决方案有很多,最最简单粗暴的就是可以设置应用开关。其次就是集中式话任务管理调度。当然,quartz也有集群模式,但是基于api控制并不直观。下面介绍一个集中式的分布式任务调度框架,可以很方便的解决分布式任务调度的问题
kl博主
2023/11/18
4240
一文读懂分布式任务调度平台XXL-JOB
本文主要介绍分布式任务调度平台XXL-JOB(v2.1.0版本),包括功能特性、实现原理、优缺点、同类框架比较等
用户5397975
2019/10/13
3.6K0
分布式任务调度平台XXL-JOB,不了解一下?
任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务。我们可以思考一下在以下场景中,我们应该怎么实现:
Bug开发工程师
2019/12/05
1.3K0
Docker 安装 XXL-JOB
把 xxl-job-2.3.0.zip 上传到Linux系统的 tmp 目录,进行解压
BUG弄潮儿
2021/03/22
2.1K0
五分钟体验分布式调度框架xxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
方志朋
2022/01/06
8020
五分钟体验分布式调度框架xxl-job
分布式任务调度框架XXL-JOB入门级教程
下载源码导入idea,源码地址:https://gitee.com/xuxueli0323/xxl-job.git
小熊学Java
2023/07/16
1.2K0
分布式任务调度框架XXL-JOB入门级教程
Java任务调度框架之分布式调度框架XXL-Job介绍
Java开发中经常会使用到定时任务:比如每月1号凌晨生成上个月的账单、比如每天凌晨1点对上一天的数据进行对账操作,在比如每天凌晨5点给180天未登陆过的用户发送邮件提醒等等。定时任务在我们开发中也占有很重要的部分。
凯哥Java
2020/01/06
2.5K0
Java任务调度框架之分布式调度框架XXL-Job介绍
分布式调度XXL-JOB
在业务类中方法中贴上这个注解,然后在启动类上贴上@EnableScheduling注解
yuanshuai
2023/11/17
3150
分布式调度XXL-JOB
spring boot项目整合xxl-job
关于分布式任务调度平台XXL-JOB,作者 许雪里 在其发布的中文教程中已经介绍的很清楚了,这里就不做过多的介绍了。按照文档搭建xxl-job,做此记录。
BUG弄潮儿
2020/06/29
4.2K0
xxl-job 源码分析系列(1)- 配置运行
  XXL-JOB是一个轻量级分布式任务调度平台,当然我司也在用,然后正巧自己想学一学源码分析,就挑正好在用的xxl-job了。
haoming1100
2018/12/13
1.3K0
xxl-job 源码分析系列(1)- 配置运行
让我干一遍也就罢了,居然还一次次的要我给你,当我好欺负吗?
XXL-JOB主要解决的是分布式任务调度问题。传统的调度任务,主要有以下几种解决方法:
灬沙师弟
2023/03/07
4480
让我干一遍也就罢了,居然还一次次的要我给你,当我好欺负吗?
一款分布式定时任务框架
又消失了一阵子,最近用了一款比较好的定时任务开源项目XXL-JOB来给大家分享一下。
用户3467126
2021/02/24
8720
搭建分布式任务调度平台
3. 分布式任务调度中心会根据相应的路由策略选出其中的一个或者多个,然后再本地执行定时任务
envoke
2020/09/17
1.2K0
搭建分布式任务调度平台
相关推荐
分布式任务调度的解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验