南宁网站设计平台,上海人才网最新招聘信息,广州好玩的地方和景点,新浪网页官网分布式任务调度平台是一种能够在分布式计算环境中调度和管理任务的系统#xff0c;在此环境下#xff0c;各个任务可以在独立的节点上运行。它有助于提升资源利用率#xff0c;增强系统扩展性以及提高系统对错误的容忍度。 文章目录 1. 分布式任务调度平台1. 基本概念1.1 任… 分布式任务调度平台是一种能够在分布式计算环境中调度和管理任务的系统在此环境下各个任务可以在独立的节点上运行。它有助于提升资源利用率增强系统扩展性以及提高系统对错误的容忍度。 文章目录 1. 分布式任务调度平台1. 基本概念1.1 任务调度1.2 分布式计算 2. 分布式任务调度平台的功能3. 分布式任务调度平台的应用场景4. 简而言之 2. 什么是 xxl-job2.1 XXL-JOB的架构 3. xxl-job 的简单使用1. 源码拉取2. 启动 db3. 初始化调度中心数据库4. 修改调度中心的数据库配置以及 logback 的日志地址5. 成功启动调度中心6. 打开调度中心的 web 页面7. 启动示例执行器代码8. 随便找一个任务注册9. 查看日志信息发现执行结果失败了10. 回去看一眼源码发现是 1. 分布式任务调度平台
1. 基本概念
1.1 任务调度
任务调度是指在多任务的环境下合理地分配系统资源调度各个任务在什么时候由哪一个处理器处理以达到满足用户需求、提高系统资源利用率、提高系统吞吐量的目的。
1.2 分布式计算
分布式计算是指多个计算机系统之间通过网络连接共享系统资源来实现高性能计算的技术。这种计算技术可以应对大数据量、高并发量、高I/O的场景。
2. 分布式任务调度平台的功能
分布式任务调度平台主要用于管理和调度任务其主要功能包括
任务调度按照预设的规则如时间点、时间间隔等触发任务的执行。负载均衡根据系统的负载情况自动调整任务在各节点间的分配均衡各节点的负载。容错处理当某个节点出现故障时能自动将该节点上的任务转移到其他节点上执行。任务监控能够实时监控任务的运行状况如运行时间、运行结果等。
3. 分布式任务调度平台的应用场景
以下是一些常见的应用场景
定时任务在特定时间执行某项任务例如每天晚上12点备份数据库。周期性任务周期性地执行某项任务例如每隔一小时统计网站的访问量。流量控制在系统流量大量增长时分布式任务调度平台可以按照预定的规则调度更多的资源来处理任务以应对流量峰值。
总的来说分布式任务调度平台是大型分布式系统不可或缺的一部分是分布式环境中任务管理的关键组件。
4. 简而言之 分布式调度平台就是有个老大决定一个定时任务在多台机器中的哪一台机器执行。 2. 什么是 xxl-job
XXL-JOB是一个全功能、高扩展性的开源分布式任务调度框架也是一个优秀的定时任务调度平台给开发者带来便捷的定时任务管理和控制能力。它的核心目标是开发迅速、学习简单、轻量级、易扩展。 2.1 XXL-JOB的架构
XXL-JOB的系统架构设计清晰明了可以粗略的分为三层
调度中心调度中心是XXL-JOB的核心负责触发调度操作同时提供操作界面。执行器执行器是任务运行的载体负责接收调度中心的触发信号并执行相应的任务。调度数据库用于记录调度信息如任务信息、调度日志等。
值得一提的是XXL-JOB支持自定义任务处理逻辑得益于这一点它能用于各种场景例如常见的数据同步、数据清洗等。
3. xxl-job 的简单使用
进入(xxl-job 的官网) 如果想了解下的可以了解下不想了解的就直接开始吧。 因为是开源项目所以我接下来也是直接拉取的源码进行实验。如果是线上环境建议使用容器进行集群部署。 1. 源码拉取
打开 github 官网选择 realease 版本因为 master 可能存在不稳定代码但是实验嘛其实也无所谓。https://github.com/xuxueli/xxl-job/获取到下载链接进行下载 拉取到的项目结构大概是以下这样其中 docker目录是我 docker-compose的数据库相关文件方便测试。 以下是我的 docker-compose相关文件信息
2. 启动 db
进入到指定目录 docker 目录, 一键启动目录
3. 初始化调度中心数据库
复制源码文件中的 db 文件到数据库中执行初始化。 我这里就直接到 http://127.0.0.1:3307phpmyadmin 进行数据库操作了。 执行前后
4. 修改调度中心的数据库配置以及 logback 的日志地址 5. 成功启动调度中心 6. 打开调度中心的 web 页面
浏览器打开 http://127.0.0.1:8080/xxl-job-admin/, 输入初始账号 admin 密码 123456 登录成功
7. 启动示例执行器代码 可以看到启动了两个服务分别在 9998的无框架服务以及 9999的 spring 项目。回到调度中心的 web 页面你会发现两个执行器已经自动注册到了调度中心。 在数据库中的表现为 此时假如我们去修改其中一个调度器的名称重新启动会怎样呢 可以看到只剩 9999 的服务 这时候我们需要手动把新的执行器添加上。 刷新可以看到新的执行器自动注册
8. 随便找一个任务注册 启动任务
9. 查看日志信息发现执行结果失败了 10. 回去看一眼源码发现是