文章目录

  • 一、简述
  • 二、故障转移演示
    • 2.1. 启动2个执行器
    • 2.2. 添加执行器ip
    • 2.3. 故障转移策略
    • 2.4. 启动任务
    • 2.5. 模拟8081执行器宕机
    • 2.6. 结论
  • 三、轮训策略演示
    • 3.1. 启动2个执行器
    • 3.2. 添加执行器ip
    • 3.3. 轮训策略
    • 3.4. 启动任务
    • 3.5. 日志分析
    • 3.6. 故障转移
    • 3.7. 重新启动8082执行器
  • 四、轮训策略演示
    • 4.1. 启动3个执行器
    • 4.2. 添加执行器ip
    • 4.3. 分片广播策略
    • 4.4. 启动任务
    • 4.5. 案例代码
    • 4.6. 执行一次测试
    • 4.7. 执行器效果
    • 4.8. 结论
一、简述

路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;

路由策略 说明 使用频次
FIRST(第一个) 固定选择第一个机器
LAST(最后一个) 固定选择最后一个机器
ROUND(轮询) 负载均衡+故障转移 经常使用
RANDOM(随机) 随机选择在线的机器
FAILOVER(故障转移) 按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度 经常使用
SHARDING_BROADCAST(分片广播) 广播触发对应集群中所有机器执行一次任务,
同时系统自动传递分片参数;可根据分片参数开发分片任务
经常使用
二、故障转移演示
2.1. 启动2个执行器


2.2. 添加执行器ip



2.3. 故障转移策略

2.4. 启动任务





发现任务只在8081执行器上,每5秒执行一次。8082执行器上没有执行。

2.5. 模拟8081执行器宕机

停止8081执行器,最后一次执行的时间是2021-02-15 14:59:01
8082执行器,第一次执行的时间是2021-02-15 14:59:06

正好接上了,对吧!

2.6. 结论

故障转移策略只会运行在一台8081执行器上,当8081执行器宕机,就会转移到8082执行器上继续执行任务。

三、轮训策略演示
3.1. 启动2个执行器

因为修改策略和执行器无关,如果上面启动了,此步骤可以跳过

3.2. 添加执行器ip

因为修改策略和执行器无关,如果上面启动了,此步骤可以跳过


3.3. 轮训策略

3.4. 启动任务


3.5. 日志分析



8081执行器,执行的时间是

2021-02-15 15:09:13
2021-02-15 15:09:23
2021-02-15 15:09:33
2021-02-15 15:09:43
2021-02-15 15:09:53

8082执行器,执行的时间是
2021-02-15 15:09:18
2021-02-15 15:09:28
2021-02-15 15:09:38
2021-02-15 15:09:48
2021-02-15 15:09:58

从以上数据分析得出,任务是负载均衡执行的。

3.6. 故障转移

8082执行器停止,模拟宕机,最后一次执行的时间是2021-02-15 15:14:19


当8082宕机后,最后执行的时间是
2021-02-15 15:13:59
2021-02-15 15:14:09
2021-02-15 15:14:19

当8082宕机后,8081执行器,继续执行的时间是
2021-02-15 15:14:24
2021-02-15 15:14:34
2021-02-15 15:14:44
2021-02-15 15:14:54
2021-02-15 15:15:04

8081执行器继续执行任务,但是是每隔10秒

3.7. 重新启动8082执行器



8082执行器任务开始的时间
2021-02-15 15:18:50
2021-02-15 15:18:59
2021-02-15 15:19:09
2021-02-15 15:19:19
2021-02-15 15:19:29

8081执行器任务执行的时间
2021-02-15 15:18:54
2021-02-15 15:19:04
2021-02-15 15:19:14
2021-02-15 15:19:24
2021-02-15 15:19:34
2021-02-15 15:19:45

任务继续轮序负载每个5秒执行

四、轮训策略演示
4.1. 启动3个执行器



4.2. 添加执行器ip

因为修改策略和执行器无关,如果上面启动了,此步骤可以跳过


4.3. 分片广播策略

4.4. 启动任务


4.5. 案例代码
package com.gblfy.distributedjob.task;import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import java.util.Arrays;
import java.util.List;@Component
public class TaskExecute {private final static Logger logger = LoggerFactory.getLogger(TaskExecute.class);/*** 任务调度入口* 分片广播任务* <p>* 参数1: 执行日期 executeDate  2021-02-15* 参数2: 执行标识 executeFlag  I-增量 F-全量* 参数3: 表名称 tableName    sys_user* 参数4: 管理机构 manageCom    86* 参数5: 执行场景 executeScene UPDATE* </p>*/@XxlJob("myJobHandler")public void shardingJobHandler() throws Exception {// 分片参数int shardIndex = XxlJobHelper.getShardIndex();int shardTotal = XxlJobHelper.getShardTotal();XxlJobHelper.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal);logger.info("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal);List<Integer> list = Arrays.asList(1, 2, 3, 4);// 业务逻辑for (Integer i : list) {if (i % shardTotal == shardIndex) {logger.info("myXxlJobHandler execute...user={}", i);XxlJobHelper.log("第 {} 片, 命中分片开始处理", i);}}}
}
4.6. 执行一次测试

4.7. 执行器效果



4.8. 结论

分片广播为了把数据进行分片处理,简言之,大量订单数据根据不同的订单号取模,分片机器分别处理属于自己片区的订单数据,减轻服务器压力。

SpringBoot2 集成 xxl-job任务调度中心_路由策略相关推荐

  1. SpringBoot2 集成 xxl-job任务调度中心_阻塞策略

    阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认).丢弃后续调度.覆盖之前调度 阻塞处理策略 说明 单机串行(默认) 任务依次排队执行 丢弃后续调度 当上一个任务没有执 ...

  2. SpringBoot2 集成 xxl-job任务调度中心_参数传递

    文章目录 一.xxl-job任务调度中心 1. 调度中心创建任务 2. 调度中心创建执行器 二.执行器任务编码 2.1. 单参数 2.2. 多参数 三.调度中心参数传递测试 3.1. 单个参数传递 3 ...

  3. SpringBoot集成XxlJob分布式任务调度中心(超详细之手把手教学)

    一.前言 废话就不多说了,介绍Xxl-Job的网上已经有很多,本文就不多加复制粘贴了,直接步入第二步.(PS:本文包括Xxl-Job分布式定时任务调度中心的搭建,以及SpringBoot集成XxlJo ...

  4. ospf 环回口的路由条目_路由策略之重分发示例分析

    重分发示例 网络拓扑 解析: 如图,R1-R2运行OSPF10,通过各自F0/0口建立ospf邻居,R1上静态路由: ip route 192.168.11.0 255.255.255.0 13.1. ...

  5. XXL-JOB任务调度中心---阻塞处理策略

    1.概念 调度过于密集,执行器来不及处理时的处理策略. 2.有哪些阻塞处理策略? 包括:单机串行,丢弃后续调度,覆盖之前调度三种策略. 3.对三种阻塞处理策略的理解? (1)单机串行:新的调度任务进入 ...

  6. RPC框架的路由策略

    1 为什么选择路由策略? 真实环境的服务提供方以集群提供服务,对服务调用方,就是一个接口会有多个服务提供方同时提供服务,所以RPC每次发起请求时,要从多个服务提供方节点里选择一个用于发请求的节点.这次 ...

  7. 基于FRR全面解析BGP协议(五):FRR的BGP路由策略

    FRR的BGP路由策略 过滤器 FRR提供了基于IP,基于Community和基于AS-PATH的三种类型过滤器来匹配路由. IP Access List 基于IP的路由ACL规则,比较少使用,通常是 ...

  8. SpringBoot2 集成 xxl-job任务调度中心

    接上一篇: 搭建xxl-job任务调度中心 https://gblfy.blog.csdn.net/article/details/113809843 文章目录 一.SpringBoot 配置 1. ...

  9. 集成XXL-JOB任务调度中心

    关注我,升职加薪就是你! 今天分享一个伟大的项目–XXL-JOB任务调度中心. 一.搞到本地 1.1 下载 git地址:https://github.com/xuxueli/xxl-job 笔者这边的 ...

最新文章

  1. 【转】无法将notepad++添加到打开方式列表中的解决办法
  2. HBase在淘宝的应用和优化
  3. 如何为网页添加小宠物挂件:小老鼠、金鱼等
  4. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 )
  5. MySQL光标的使用
  6. [MATLAB粒子模拟笔记]归一化输入系数
  7. [开源]jquery.ellipsis根据宽度(不是字数)进行内容截断,支持多行内容
  8. 开源社交系统ThinkSNS+和ThinkSNS V4区别在哪里
  9. 【Elasticsearch】使用Elasticsearch实现同段和同句搜索
  10. 人人都是产品经理 笔记
  11. 【extjs6学习笔记】1.9 初始: Mixins
  12. Linux samba服务
  13. linux扫描后台地址,Linux如何查看和控制进程
  14. 动易cms聚合空间最近访客访问地址错误解决方法
  15. 24个基本指标精粹讲解(3)--WR
  16. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 6.全局防护盲点的总结上篇
  17. HSV色彩空间和颜色分量范围
  18. 红米5双清_红米手机双清步骤
  19. 全部HTML代码学习
  20. 昱章电气在科创板IPO终止:曾计划募资约5亿元,客户集中度较高

热门文章

  1. 科大讯飞回应同传造假:人机耦合才是未来发展之道
  2. 后来,我再没被任何建筑类考试难倒过
  3. 《程序员的呐喊》读书笔记
  4. 浮点数的运算精度丢失
  5. 【待补】TLS、SSL、HTTPS、MQTTS等
  6. 数据结构实验之排序二:交换排序
  7. 深度解析开源推荐算法框架EasyRec的核心概念和优势
  8. 【视频特辑】数据分析师必备,快速制作一张强大好用的大宽表
  9. 完美日记:保障电商大促活动平稳运行
  10. 机器学习工程师第一年的12点体会