当前位置: 首页 > news >正文

网站速度慢如何做优化重庆美邦建网站

网站速度慢如何做优化,重庆美邦建网站,招聘网站开发文档,青岛手机网站制作xxl-job介绍 XXL-JOB是一个分布式任务调度平台#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线#xff0c;开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度…xxl-job介绍 XXL-JOB是一个分布式任务调度平台其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度中心”公共平台而平台自身并不承担业务逻辑“调度中心”负责发起调度请求。 将任务抽象成分散的JobHandler交由“执行器”统一管理“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。 因此“调度”和“任务”两部分可以相互解耦提高系统整体稳定性和扩展性 系统组成 调度模块调度中心 负责管理调度信息按照调度配置发出调度请求自身不承担业务代码。调度系统与任务解耦提高了系统可用性和稳定性同时调度系统性能不再受限于任务模块 支持可视化、简单且动态的管理调度信息包括任务新建更新删除GLUE开发和任务报警等所有上述操作都会实时生效同时支持监控调度结果以及执行日志支持执行器Failover。执行模块执行器 负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作开发和维护更加简单和高效 接收“调度中心”的执行请求、终止请求和日志请求等。 总体架构图 执行流程 原理分析 1、执行器的注册和发现 执行器的注册和发现主要是关系两张表 xxl_job_group每个服务注册的实例列表。xxl_job_registry执行器的实例表保存实例信息和心跳信息。 执行器启动线程每隔30秒向注册表xxl_job_registry请求一次更新执行器的心跳信息调度中心启动 线程每隔30秒检测一次xxl_job_registry将超过90秒还没有收到心跳的实例信息从xxl_job_registry删除并更新xxl_job_group服务的实例列表信息。 2、调度中心调用执行器 调度中心的操作 调度中心通过循环不停的 关闭自动提交事务 利用mysql的悲观锁其他事务无法进入 select * from xxl_job_lock where lock_name schedule_lock for update3、读取数据库中的xxl_job_info记录定时任务的相关信息该表中有trigger_next_time字段表示下一次任务的触发时间。拿到距离当前时间5s内的任务列表分为三种情况处理 对于当前时间-任务的下一次触发时间5直接跳过不执行重置trigger_next_time的时间。(超过5s) 对于任务的下一次触发时间当前时间任务的下一次触发时间5的任务不超过5s的 ​ 开线程处理执行触发逻辑根据当前时间更新下一次任务触发时间 ​ 如果新的任务下一次触发时间-当前时间5,放到时间轮中时间轮是一个map private volatile static MapInteger, ListInteger ringData new ConcurrentHashMap();​ 根据新的任务下一次触发时间更新下下一次任务触发时间 对于任务的下一次触发时间当前时间将其放入时间轮中根据任务下一次触发时间更新下下一次任务触发时间 4、commit提交事务同时释放排他锁 5、执行器的操作 执行器接收到调度中心的调度信息将调度信息放到对应的任务的等待队列中执行器的任务处理线程从任务队列中取出调度信息执行业务逻辑将结果放入一个公共的等待队列中每个任务都有一个单独的处理线程和等待队列任务信息放入该队列中执行器有一个专门的回调线程定时批量从结果队列中取出任务结果并且回调告知调度中心 关于更多的详细介绍推荐阅读官方文档[^1] https://www.xuxueli.com/xxl-job/ xxl-job快速入门 Spring Boot集成XXL-JOB 主要需要配置以下两项 配置运行调度中心xxl-job-admin配置运行执行器项目 项目准备及脚本初始化 从如下代码仓库中下载xxl-job-admin https://gitee.com/xuxueli0323/xxl-job 下载完成后使用IDEA打开该项目进行项目构建。 构建完成后执行项目的doc/db文件夹下面的tables_xxl_job.sql数据库脚本进行调度数据库表的初始化。 数据表说明xxl_job_lock任务调度锁表xxl_job_group执行器信息表维护任务执行器信息xxl_job_info调度扩展信息表 用于保存XXL-JOB调度任务的扩展信息如任务分组、任务名、机器地址、执行器、执行入参和报警邮件等等xxl_job_log调度日志表 用于保存XXL-JOB任务调度的历史信息如调度结果、执行结果、调度入参、调度机器和执行器等等xxl_job_log_report调度日志报表用户存储XXL-JOB任务调度日志的报表调度中心报表功能页面会用到xxl_job_logglue任务GLUE日志用于保存GLUE更新历史用于支持GLUE的版本回溯功能xxl_job_registry执行器注册表维护在线的执行器和调度中心机器地址信息xxl_job_user系统用户表 配置调度中心 修改配置文件主要配置datasource 以及 email。 application.properties ### web server.port9100### xxl-job, datasource spring.datasource.urljdbc:mysql://127.0.0.1:3306/ballcat?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueserverTimezoneAsia/Shanghai spring.datasource.usernamexxkfz spring.datasource.passwordxxkfz spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver注由于小编默认8080端口被占用这里修改了一下项目的端口号 server.port9100 配置完成后启动下面主启动类启动项目 XxlJobAdminApplication.java启动完成后访问地址为http://localhost:8080/xxl-job-admin默认的用户为 admin密码 123456即可进入后台管理系统页面。 至此调度中心配置完成接下来进行执行器的项目配置。 配置执行器项目(整合Spring Boot项目) 该部分官方已经给出具体的案例因此我们只需对本案例进行整合或修改即可。 官方案例对应工程xxl-job-executor-sample-springboot 引入依赖 !-- xxl-job-core -- dependencygroupIdcom.xuxueli/groupIdartifactIdxxl-job-core/artifactIdversion${project.parent.version}/version /dependency注此处版本要与 xxl-job-admin 中版本保持一致 引入配置类 XxlJobConfig.java 我们直接从xxl-job-executor-sample-springboot项目中把XxlJobConfig.java配置类复制到你的项目中即可不需要进行任何的修改。 Configuration public class XxlJobConfig {private Logger logger LoggerFactory.getLogger(XxlJobConfig.class);Value(${xxl.job.admin.addresses})private String adminAddresses;Value(${xxl.job.accessToken})private String accessToken;Value(${xxl.job.executor.appname})private String appname;Value(${xxl.job.executor.address})private String address;Value(${xxl.job.executor.ip})private String ip;Value(${xxl.job.executor.port})private int port;Value(${xxl.job.executor.logpath})private String logPath;Value(${xxl.job.executor.logretentiondays})private int logRetentionDays;Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info( xxl-job config init.);XxlJobSpringExecutor xxlJobSpringExecutor new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}}修改项目配置文件 # web port server.port8098 # no web #spring.main.web-environmentfalse# log config logging.configclasspath:logback.xml### xxl-job admin address list, such as http://address or http://address01,http://address02 xxl.job.admin.addresseshttp://127.0.0.1:9100/xxl-job-admin### xxl-job, access token xxl.job.accessTokendefault_token### xxl-job executor appname xxl.job.executor.appnamexxkfz-job-fileExport ### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null xxl.job.executor.address ### xxl-job executor server-info xxl.job.executor.ip xxl.job.executor.port9999 ### xxl-job executor log-path xxl.job.executor.logpath/data/applogs/xxl-job/jobhandler ### xxl-job executor log-retention-days xxl.job.executor.logretentiondays30 编写测试类 TaskConfig.java Component Slf4j public class TaskConfig {XxlJob(fileExport)public void execute() {log.debug(文件开始导出了......);} }任务配置 新增执行器 配置任务 测试 点击执行一次查看逻辑是否执行控制台是否打印日志。 注若需要项目一致保持运行选择启动即可。 运行结果 控制台输出日志 以上就是Spring Boot集成XXL-JOB的具体详细过程感谢阅读。 参考资料 [1] XXL-JOB分布式任务调度平台 https://www.xuxueli.com/xxl-job/
http://www.hkea.cn/news/14413781/

相关文章:

  • 焦作网站建设设计东莞招聘网最新招聘信息
  • 大连做网站优化哪家好织梦网站地图怎么做xml
  • jsp做网站用到什么技术网站使用费用
  • 电子商务网站建设的书临夏网站建设公司
  • 营销型企业网站怎么建站南宁seo网站排名优化公司
  • 迁西县住房和城乡规划建设局网站贵阳网站建设设计公司
  • 陕西城乡建设网站ppt模板百度网盘
  • 网站基础知识设计广告公司网站建设
  • 如何做网站卡密制作网站公司网址
  • 网站下一步工作怎么做vs连接数据库做网站
  • 制作网站软件不懂代码可以制作吗怎么开发网站平台
  • 网站优化工作安排如何开通属于自己的网站
  • 腾讯云学生怎么做网站的wordpress mysql设置
  • 网站开源程序公司网站做一下多少钱
  • 厦门建网站三合一网站建设多少钱
  • 如何推广网站话术wordpress内页长尾词排名
  • 建站行业新闻安徽省城乡与住房建设厅网站
  • 全州建设完小网站vi设计的概念
  • 阿里云虚拟主机可以做几个网站wordpress模板如何安装教程视频教程
  • 为了加强公司网站建设优化英语
  • 空间设计工作室网站WordPress修改页眉
  • html手机网站如何制作网站建站方案书
  • 家庭电影网站建设个人网站设计模板中文
  • 网站建设皿金手指谷哥壹柒做销售平台哪个网站好
  • 关于网站建设的论文题目长沙优化推广外包
  • 沈阳外贸网站建设wordpress修改媒体的路径
  • 做网络平台的网站有哪些免费高清视频在线观看
  • 昆明好的网站开发公司平面设计网上培训一般多少钱
  • win8.1 做网站服务器做框架模板的网站
  • 做平面那个网站素材好如何访问自己建的网站