Description
Search before asking
- I had searched in the feature and found no similar feature requirement.
Description
Detail design
Do a simple prototype figure [archetype figure] (https://modao.cc/app/e0mCFHHqrcldsbvhrDOQyn).
Considering the time cycle, implementation cost and technical capability, this period only realizes part of the capabilities in Server&Scheduler, and only provides Api for use. (Mainly because I am not good at front-end, so welcome to have the ability to write front-end students to join)
Server
-
maintenance
- datasource
- add
- delete
- update
- list
- auth
- CRUD of role
- user
- add
- update
- delete
- list
- datasource
-
development
- task management
- add
- delete
- update
- list
- execution
- stop
- view log
- task management
-
maintenance
- Batch instance mangement
- exectuion panel
- execution list
- instance operation
- Batch instance mangement
The functions of the first phase are tentatively so much, and more practical functions will be added later.
Some details
- datasource
- During configuration, can perform tests to check whether the configuration is correct
- Jdbc-type data sources are tested through the 'JDBC API'; The remaining types are tested through the 'Java API'
- auth
- The open source component 'Casbin' is imported to complete the permission management through the 'RBAC API' provided by it
- Allows users or roles to be authorized
- user
- Currently, can only manually CRUD. Integration with LDAP or others component will come soon.
- task management
- Currently, only script mode is supported.
- Navigation mode will be supported later (front-end support required)
- Batch Instance Management
- Batch instances can only be maintenance in the first phase
- Instances of the 'Streaming' type involve state consistency issues, so it's not going to be supported very quickly.
Table structure design
// todo . Supplement as soon
Scheduler
It mainly focuses on the development of general Scheduler-proxy and scheduler-engine-Embedded.
Scheduler-proxy
- submit
- delete
- suspend
- resume
- execution
- re-run
- stop
- complement data
- status query
- instance list
- temp exection
- log query
Scheduler-engine-embedded
It is mainly implemented against the interface defined in scheduler-Proxy, which is not a service but an interface implementation. Complete the execution and maintenance of tasks with 'spring-scheduling', 'Java Process' and database capabilities;
详细设计
做了个简单的原型图,参考原型图。
考虑到时间周期、实现成本、技术能力,本期只实现Server&Scheduler中的部分能力,仅提供Api的方式供使用。(主要是我不太会前端,所以欢迎有能力写前端的同学一起加入)
Server
-
maintenance
- 数据源
- 新增数据源
- 删除数据源
- 修改数据源
- 数据源列表
- 权限管理
- 角色列表
- 权限列表
- 用户管理
- 新增用户
- 修改用户
- 删除用户
- 用户列表
- 数据源
-
development
- 任务管理
- 新增任务
- 删除任务
- 修改任务
- 任务列表
- 运行任务
- 停止任务
- 查看日志
- 任务管理
-
maintenance
- Batch实例管理
- 运行大盘
- 执行流水
- 实例操作
- Batch实例管理
第一期的功能暂定就这么多,后续会加入更多实用的功能。
部分细节
- 数据源
- 在进行配置时,可以通过进行测试来检测配置是否正确
- JDBC类型数据源通过
jdbc api
进行测试;其余类型通过java api
进行测试
- 权限管理
- 引入开源组件
casbin
,通过其提供的rbac api
完成权限管理 - 允许对用户或角色进行授权
- 引入开源组件
- 用户管理
- 目前只支持手动进行增删改,后续将继承LDAP等组件
- 任务管理
- 目前只支持脚本模式,提交seatunnel脚本
- 后续将支持向导模式(需要前端支持)
- Batch实例管理
- 第一期只支持对
Batch
类型的实例进行运维及管理 Streaming
类型的实例牵扯到状态一致性的问题
- 第一期只支持对
表结构设计
// todo 后续补充
Scheduler
主要是通用Scheduler-proxy的开发和Scheduler-engine-embedded的开发。
Scheduler-proxy
- 提交任务
- 删除任务
- 暂停任务
- 恢复任务
- 任务执行
- 任务重跑
- 任务停止
- 任务补数
- 任务状态查询
- 任务实例列表
- 任务临时执行
- 任务日志查询
Scheduler-engine-embedded
主要是针对Scheduler-proxy中定义的接口进行实现,并非是一个服务,而是接口实现;利用spring-scheduling
、java process
、数据库等能力完成任务的运行与管理;
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct