elastic-job 完结篇

一 elastic-job

1.1 案例场景分析

1.设置4个分片,10秒执行一次。

分片弹性扩容缩容机制测试:

测试1:测试窗口1不关闭,再次运行main方法查看控制台日志,注意修改application.properties中的 server.port,保证端口不冲突

测试2:测试窗口1 和测试窗口2 不关闭,再次运行2次main方法,达到4个任务实例,查看控制台日志

测试3:测试窗口1 和测试窗口2 不关闭,将测试窗口3和测试窗口4任务停止

测试4:测试窗口1不关闭 将测试窗口2 任务停止

结论:
1、任务运行期间,如果有新机器加入,则会立刻触发分片机制,将任务相对 平均的分配到每台机器上并行执行调度。
2、如果有机器退出集群,则经过短暂的一段时间(大约40秒)后又会重 新触发分片机制

二 dataflow类型作业(了解)

Dataflow 类型的定时任务需实现 DataflowJob 接口,该接口提供 2 个方法可供覆盖,分别用于抓取 (fetchData) 和处 理(processData) 数据。咱们继续对例子进行改造。
Dataflow 类型用于处理数据流,它和 SimpleJob 不同,它以数据流的方式执行,调用 fetchData 抓取数据,直到抓 取不到数据才停止作业。

每次运行定时任务都会开启 4 个线程执行 fetchData 抓取数据,抓取以后调用 processData 处
理数据,如果是流式处理数据( new DataflowJobConfiguration 第三个参数为 true )且 fetchData 方法的返回值为 null或集合长度为空时,作业才停止处理。

三 开启记录表的配置(了解)

JOB_EXECUTION_LOG 记录每次作业的执行历史
JOB_STATUS_TRACE_LOG 记录作业状态变更痕迹表。可通过每次作业运行的 task_id 查询作业状态变化的生命周期 和运行轨迹。

四 elastic-job的管控台

4.1 管控台

elastic-job中提供了一个elastic-job-lite-console控制台

4.2 dump命令

使用 Elastic-Job-Lite 过程中可能会碰到一些问题,导致作业运行不稳定。由于无法在生产环境调试,通过 dump 命 令可以把作业内部相关信息dump 出来,方便开发者 debug 分析。

相关推荐
掘金-我是哪吒8 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪8 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
活跃家族8 小时前
分布式压测
分布式
前端世界10 小时前
HarmonyOS开发实战:鸿蒙分布式生态构建与多设备协同发布全流程详解
分布式·华为·harmonyos
DavidSoCool10 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
掘金-我是哪吒12 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
东窗西篱梦12 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
Acrel_Fanny12 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式
xufwind12 小时前
spark standlone 集群离线安装
大数据·分布式·spark
半新半旧13 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper