1. github地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
2. 官网:
分布式任务调度平台XXL-JOB
3. 架构图:
4. 项目结构:
xxl-job
├─ xxl-job-admin -- 调度器 (服务端)
├─ xxl-job-core -- 执行器 (客户端)
├─ xxl-job-executor-samples --demo
5. 问题:
带着问题看源码,并且知道它是如何做到的,相信xxl-job你已经搞定了!
5.1 调度器与执行器如何进行通信的?
5.2 服务端如何进行任务调度的? 任务如何做到的准时执行?
5.3 客户端启动流程?
5.4 动态分片?
5.5 客户端保活怎么做的?同nacos,rocketmq是否相同?
5.5.1 server-client 保活有两种方式:
|-- 客户端主动上报,服务端接收数据
|-- 服务端主动探查,客户端返回数据
5.5.2 两种方式优缺点是什么呢?
5.6 glu模式,客户端不使用继承,或注解方式,如何做到执行一个任务 (好几年之前,有个面试官问过我这个问题==)
5.7 xxl-job 哪些做的不好,该如何优化呢?
-- 调度器是否重复?
-- 如何优雅下线? 接入 MSE XXL-JOB 任务调度实现优雅下线
-- 依赖单体mysql如何处理?
-- 多语言支持较弱,如果支持多语言是否也可以做成nacos现在这样采用grpc?