前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XXL-JOB系列一之架构设计

XXL-JOB系列一之架构设计

原创
作者头像
用户9511949
发布2024-06-20 16:45:18
750
发布2024-06-20 16:45:18
举报
文章被收录于专栏:XXL-JOBXXL-JOB

1 概述

XXL-JOB是一个分布式的任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。

2 源码目录介绍

/doc:文档资料

/doc/db:调度数据库建表脚本

/xxl-job-admin:调度中心

/xxl-job-core:公共jar包依赖

/xxl-job-executor-samples:执行器示例项目

3 调度数据库表介绍

xxl_job_lock:任务调度锁表,当有调度中心为集群模式时,确保同一个时间点只有一个实例在触发任务

xxl_job_group:执行器信息表,维护任务执行器信息

xxl_job_info:调度扩展信息表,用于保存任务调度的扩展信息,如任务分组、任务名、机器地址、执行器、执行入参等

xxl_job_log:调度日志表,用于保存任务调度的历史信息,如调度结果、执行结果、调度入参、调度机器和执行器等

xxl_job_log_report:调度日志报表,用于存储任务调度日志的列表,调度中心报表功能页面会用到

xxl_job_logglue:任务GLUE日志,用于保存GLUE更新历史,用户支持GLUE的版本回溯功能

xxl_job_registry:执行器注册表,维护在线的执行器和调度中心机器地址

xxl_job_user:系统用户表

4 架构设计

4.1 设计思想

将调度行为抽象形成调度中心公共平台,平台自身并不承担业务逻辑,调度中心负责发起调度请求。

将任务抽象成分散的JobHandler,交由执行器统一管理,执行器负责接收调度请求并执行对应的JobHandler中的业务逻辑。

这样,调度和任务两部分可以相互解耦,提高系统整体稳定性和扩展性。

4.2 系统组成

调度模块(调度中心)

负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;

支持可视化、简单且动态的管理调度信息,包括任务新建、更新、删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。

执行模块(执行器)

负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;

接收调度中心的执行请求、终止请求和日志请求等。

4.3 架构图

引用官方的一张架构图

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 概述
  • 2 源码目录介绍
  • 3 调度数据库表介绍
  • 4 架构设计
    • 4.1 设计思想
      • 4.2 系统组成
        • 调度模块(调度中心)
        • 执行模块(执行器)
      • 4.3 架构图
      相关产品与服务
      腾讯云 BI
      腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档