首页 > 其他分享 >分布式定时调度:xxl-job

分布式定时调度:xxl-job

时间:2022-12-09 20:45:43浏览次数:55  
标签:执行器 端口 job 定时 xxl 节点 分布式

背景

  • 有服务里面在跑定时任务,一直是单点在运行,虽然存在挺大的风险,但也这样扛下来了。
    但是呢,现在要做多点了,springboot 的 Scheduled,虽然好用,在多点就会存在一些问题,多个节点都跑了定时任务,就会有问题。
    基于些,就把 xxl-job引用进来了。

使用说明

关于xxl-job 的使用,可以参考这个,
描述方面更加清晰:分布式定时调度:xxl-job 万字详解
虽然也不知道什么时候会不会消失这个博文(之前遇到过消失的,找不到了,很可惜)


嗯,不过关于 xxl-job 的使用,网上肯定也不缺的。我这边只记录一些使用过程中遇到过的小问题,仅当做一下笔记。


代码

源码仓库地址

代码拉下来后,按说明装上,是直接能跑的


说个小问题
当时把代码拉下来后,就想整合到项目里面去(虽然其实并没有必要,但确实这样干了),然后,整合过程中,改了pom.xml 里面的 < parent > 给换掉了,然后各种报错,报复性地报错。各种引用不对,各种properties 也都找不到,就很奇怪,怎么这个项目,根本就跑不起来啊?版本号各种都没有,还以为下载了错误的源码,但在 github上看,最多星的就是这个,不太可能其它人没问题,就我有问题啊。。emmmm,行吧。当时也没多想,但确实,浪费了不少时间。

当,我终于想起,拉下来的代码,先不要急着去整合,先让它原生态地跑一下先的时候,发现,非常丝滑。emmm,能怎么说呢,太惨了。也是一个教训吧。拿到一个东西,应该先按它原本的样子,先跑通了,再想着去做进一步的整合,不然还是很容易扯着蛋。emmm

这是第一个小问题。


跑起来后,

再说一些小事儿
其实这个 xxl-job 还是比较容易上手的,也确实很强大。很灵活,比 springboot 的做定时任务的,感觉要强大不少。嗯,当然,其实如果是单点,或者体量比较小的项目,也不一定需要用上。

好,说正经的事儿:

  • 这里有一个执行器的概念,是这个啥呢,比如在我这边的项目,要把 xxl-job用起来,需要在现有项目的项目,把xxl-job-core 依赖引到pom.xml里面,然后,要进行一些配置,这个配置里面,包括注册xxl-job的地址外,还有一个 RPC 监听端口,这个端口是用于让执行器发起调度用的,是什么意思呢,就是 xxl-job中心对服务里面的某个方法/接口的调用。那这样说来,一个服务就得是单独的一个执行器,那每个服务都应该有自己的RPC监听端口,所以这个端口也是要一个节点一个端口。当节点特别多的时候,端口也是要好好管理才行。不然,会冲突!!!!(端口冲突嘛,应该很容易理解),但这个确实是一个要注意的一个地方。

  • 它虽然好,但不可否认地,它也带来了一些额外的配置。并且,像端口这种每个节点都不同,配置还不能完全复用(在配置中心不能引用同一份)。

  • 有好,有麻烦。还是得看业务需求。

  • 继续发现吧。总的来说,这确实是一个挺好的东西。至少解决了项目上服务集群的定时任务的问题。

标签:执行器,端口,job,定时,xxl,节点,分布式
From: https://www.cnblogs.com/aaacarrot/p/16969957.html

相关文章

  • jmeter分布式部署
    一、为什么要进行分布式部署Jmeter对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式......
  • GFS分布式文件系统
    一、GlusterFS概述1.1GlusterFS简介GlusterFS是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。没有元数据服务......
  • Redis(七)缓存穿透、缓存击穿、缓存雪崩以及分布式锁
    应用问题解决1缓存穿透1.1访问结构正常情况下,服务器接收到浏览器发来的web服务请求,会先去访问redis缓存,如果缓存中存在数据则直接返回,否则会去查询数据库里面的数据,......
  • 【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系
    秒杀应该考虑哪些问题超卖问题分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的......
  • 论述微服务和分布式
    集中式框架、分布式框架和微服务概要:在系统架构与设计的实践中,从宏观上可以总结为三个阶段:集中式架构:就是把所有的功能、模块都集中到一个项目中,部署在一台服务器上,从而对......
  • 自己动手基于 Redis 实现一个 .NET 的分布式锁类库
    分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑Redis集......
  • GFS分布式文件系统
    一、文件系统简介1.1文件系统的组成接口:文件系统接口功能模块(管理、存储的工具):对对象管理里的软件集合对象及属性:(使用此文件系统的消费者1.2文件系统的作用从系......
  • 分布式系统初学:一条服务请求的响应过程
    友情提示:后续内容都是按照下面图片展开的,建议保存后再打开。其中用到的各种组件不是唯一的,只是我比较熟悉的,关于组件介绍,请看分布式系统相关组件介绍。 后续再写......
  • GFS分布式文件系统
    一、GlusterFS概述1.GlusterFS简介GlusterFS是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。没有元数据服务器......
  • 秒级查询之开源分布式SQL查询引擎Presto实操-上
    @目录概述定义概念架构优缺点连接器部署集群安装常用配置说明资源管理安装模式安装命令行界面基于TableauWeb连接器使用优化数据存储查询SQL优化无缝替换Hive表建表格式......