默认回调端口是9999,可以自定义配置,需要将执行器端口对调度机器开放,也就是业务服务机器的9999(或自定义端口)对xxl-job机器ip开放(此处内网开放即可)。
执行器代码(golang): packagemainimport("context""fmt""log""github.com/xxl-job/xxl-job-executor-go")// JobHandler 是一个简单的任务处理器,打印 "hello world"funcJobHandler()xxl.TaskFunc{returnfunc(cxt context.Context,param*xxl.RunReq)string{log.Printf("run job at %s",time.Now().Format("...
利用xxl-job在集群部署时,配置路由策略中选择分片广播的方式,可以使一次任务调度会广播触发集群中所有的执行器执行一次任务,并且可以向系统传递分片参数。 利用这一特性可以根据当前执行器的分片序号和分片总数来获取对应的任务记录。 先来看看 Bean 模式下怎么获取分片序号和分片总数: // 分片序号(当前执行器序号)ints...
“执行器”项目:xxl-job-executor-sample-springboot (提供多种版本执行器供选择,现以 springboot 版本为例,可直接使用,也可以参考其并将现有项目改造成执行器) 作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。 maven依赖 确认pom文件中引入了 “xxl-job-core” ...
xxl-job 由调度中心和执行器组成,上面已经完成了在 docker 上部署调度中心了,接下来介绍怎么配置部署执行器项目。 在Spring Boot 项目中导入 maven 依赖 <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.1</version> ...
同时,也支持手动录入执行器地址;6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;8、故障转移:任务路由策略选择 "...
如果是分片集群,在同一时间,不同的调度中心在执行同一个调度任务,会导致的重复调度问题,一般解决这种问题,可以通过分布式锁来处理,同一时间只让一个线程去处理任务。 在加上XXL-JOB的架构理念中,将调度器与执行器分离了,使用异步调用的方式来处理,从而大大降低了调度器的性能压力。
13、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH...
14、分片广播任务:执行器集群部署时,任务路由策略选择”分片广播”情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务; 15、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能...
执行器集群部署时,几点要求和建议:执行器回调地址(xxl.job.admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。 同一个执行器集群内AppName(xxl.job.executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。