Linux 搭建 xxl-job (注册中心、配置中心)
SpringBoot 整合 xxl-job (执行器)
概述
- XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
传统定时任务的实现方案
- 多线程、timetask、线程池、springboot 注解、quartz
常用分布式任务调动平台偶哪些?
- xxl-job 、SchedulerX 、elasticjob
如何保证定时任务在集群中只会执行一次
- 将定时任务代码歹毒部署一个 jar 包中,不猜与业务逻辑服务器集群接口
- 在 jar 包中开启一个定时任务配置开关,判断是否需要开启定时任务。
- 使用分布式锁,在项目启动中,只要谁能够拿到分布式锁,谁就能加载定时任务。
- 数据库插入主键 id
- 采用分布式任务调动平台框架
总结
- 将我们的定时任务项目服务 ip 和端口号统一注册到分布式任务调度平台中,所有触发的定时任务,都会先走分布式任务调度中心。
- 分布式任务调度中心在获取执行器集群列表,采用负载均衡算法获取一个地址,采用 rpc 远程调用通知执行器触发定时任务。
网友评论