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

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

原创
作者头像
低代码布道者
修改2022-07-29 11:37:40
9160
修改2022-07-29 11:37:40
举报
文章被收录于专栏:架构师聊技术架构师聊技术

项目中除了主流业务,往往带有很多附带功能,比如订单确认给客户发送邮件或者短信,流程审批完成给申请人发送审批完成消息,根据会员生日提前发生日问候 等等,这些功能一般都是以任务的形式存在,少量的任务还好,如果多了,一个集中管理任务的平台还是非常有必要的,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
复制
docker pull mysql:5.7.11

然后执行

代码语言:javascript
复制
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
复制
  <dependency>
        <groupId>com.xuxueli</groupId>
        <artifactId>xxl-job-core</artifactId>
        <version>1.9.2-SNAPSHOT</version>
  </dependency>

ii. 编辑配置文件application.properties

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要分享低代码、微服务、容器化、SAAS‬、系统架构方面的的‬内容‬‬,希望‬大家‬点赞‬,评论,关注‬。
  • 喜欢的朋友记得给个关注~
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档