分布式作业系统 Elastic-Job-Lite 源码分析 —— 运维平台
点击上方“芋道源码”,选择“置顶公众号”
技术文章第一时间送达!
源码精品专栏
摘要: 原创出处 http://www.iocoder.cn/Elastic-Job/job-console/ 「芋道源码」欢迎转载,保留摘要,谢谢!
本文基于 Elastic-Job V2.1.5 版本分享
1. 概述
2. Maven模块 elastic-job-common-restful
3. Maven模块 elastic-job-console
4. Maven模块 elastic-job-lite-lifecycle
5. 其它
1. 概述
本文主要分享 Elastic-Job-Lite 运维平台。内容对应《官方文档 —— 运维平台》。
运维平台实现上比较易懂,就不特别啰嗦的解析,简略说下每个类的用途和 UI 上的关联。
你行好事会因为得到赞赏而愉悦
同理,开源项目贡献者会因为 Star 而更加有动力
为 Elastic-Job 点赞!传送门
2. Maven模块 elastic-job-common-restful
RestfulServer 内嵌服务器,基于 Jetty 实现
GSONProvider 后端接口 JSON 格式化
RestfulExceptionMapper 异常映射
WwwAuthFilter 授权认证 Filter
3. Maven模块 elastic-job-console
3.1 domain 包
RegistryCenterConfigurations / RegistryCenterConfiguration :注册中心配置实体相关。
EventTraceDataSourceConfigurations / EventTraceDataSourceConfiguration / EventTraceDataSource / EventTraceDataSourceFactory :事件事件追踪数据源配置实体相关。
3.2 filter 包
GlobalConfigurationFilter :全局配置过滤器,加载当前会话( HttpSession ) 选择的 RegistryCenterConfiguration / EventTraceDataSource 。
3.3 repository 包
使用 XML文件 存储 EventTraceDataSource / RegistryCenterConfiguration 配置实体。
3.4 restful 包
config
/ RegistryCenterRestfulApi :注册中心配置( RegistryCenterConfiguration )的RESTful APIconfig
/ EventTraceDataSourceRestfulApi :事件追踪数据源配置( EventTraceDataSource )的RESTful APIconfig
/ LiteJobConfigRestfulApi :作业配置( LiteJobConfiguration )的RESTful APIEventTraceHistoryRestfulApi :事件追踪历史记录(
JOB_EXECUTION_LOG
/JOB_STATUS_TRACE_LOG
)的RESTful APIServerOperationRestfulApi :服务器维度操作的RESTful API。
JobOperationRestfulApi :作业维度操作的RESTful API。
3.5 service 包
RegistryCenterConfigurationService :注册中心( RegistryCenterConfiguration )配置服务。
EventTraceDataSourceConfigurationService :事件追踪数据源配置( EventTraceDataSource )服务。
JobAPIService :和作业相关的 API 集合服务。这些 API 在 Maven模块
elastic-job-lite-lifecycle
实现。JobSettingsAPI:作业配置的API。
JobOperateAPI :操作作业的API。
ShardingOperateAPI :操作分片的API。
JobStatisticsAPI :JobStatisticsAPI。
ServerStatisticsAPI :作业服务器状态展示的API。
ShardingStatisticsAPI :作业分片状态展示的API。
4. Maven模块 elastic-job-lite-lifecycle
在 JobAPIService 已经基本提到,这里不重复叙述。
5. 其它
前后端分离,后端使用 JSON 为前端提供数据接口。
后端 API 使用 Restful 设计规范。
国际化使用
jquery.i18n.js
实现。界面使用 Bootstrap AdminLTE 模板实现。
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
源码不易↓↓↓↓↓
点赞支持老艿艿↓↓