关于数据库:ElasticJob后续设计规划

45次阅读

共计 1484 个字符,预计需要花费 4 分钟才能阅读完成。

本文概览
产品定位
架构设计
ElasticJob-Lite 和 ElasticJob-Cloud 调整
模块布局

· 工作触发
· 资源治理
· 工作治理
· 产品状态

对于社区

1. 产品定位

ElasticJob 目前是基于定时工作的分片调度中间件,在 ElasticJob-Cloud 中减少了资源治理的能力。
将来的 ElasticJob 心愿将性能划分为独立的三个局部:工作触发、资源管理、工作治理。

工作触发是必选模块,其余两个模块是可选的。只有工作触发,相当于降级为 QuartZ。
工作触发 + 工作治理能够了解为 ElasticJob 的现状。在工作触发的同时,减少分布式治理和工作分片的能力,将来的基于有向无环图的工作编排也属于工作治理模块。
工作触发 + 资源治理能够了解为相似于操作系统的任务调度机制。在工作执行时减少资源的管控,在资源有余的状况下将工作排队,资源管控能够对接 Kubernetes 和 Apache Mesos。目前的 ElasticJob-Cloud 则是工作触发 + Mesos 资源治理实现形式。

工作触发 + 工作治理 + 资源治理是 ElasticJob 将来的全副能力,而 ElasticJob-Lite 和 ElasticJob-Cloud 则仅仅是部署状态不同。

2. 架构设计

ElasticJob 心愿采纳可插拔架构设计,将功能模块通过 SPI 动静织入现有架构体系。针对于以后设计的三大功能模块,其可插拔设计别离是:

工作触发:目前是基于 CRON 表达式和一次性调度两种触发模式。心愿调整为调度 SPI + 调度实现(CRON,One-Off,其余 …)。
资源治理:目前没有独立的资源治理形象层。心愿将来在减少资源治理 SPI 的同时,减少基于 Apache Mesos、Kubernetes 和 NoDep 的资源治理实现模块。
工作治理:目前只有工作分片和高可用治理两局部。心愿将来提供工作治理 SPI,并将分片和高可用作为其实现模块,并在此基础上减少 DAG 治理能力。工作治理的各个模块互相隔离且可叠加。

  1. ElasticJob-Lite
    和 ElasticJob-Cloud 调整

ElasticJob-Lite 和 ElasticJob-Cloud 调整为仅仅是部署状态不同。
ElasticJob-Lite 采纳无中心化的 jar 部署状态,提供 spring 等框架的接入层,实用于轻量级利用。
ElasticJob-Cloud 采纳中心化的 server 部署状态,实用于集中化的作业云管平台。

  1. 模块布局

工作触发:

Trigger API
Trigger SPI
Trigger Kernel
CRON Trigger
One-Off Trigger
Customized Trigger

资源治理:

Resource Management API
Resource Management SPI
Resource Management Kernel
NoDep Resource Management
Mesos Resource Management
Kubernetes Resource Management

工作治理:

Job Governance API
Job Governance SPI
Job Governance Kernel
Sharding Job
HA Job
DAG Job

产品状态:

ElasticJob-Lite 架构调整
ElasticJob-Cloud 架构调整
ElasticJob-Cloud 剥离 Mesos

对于社区
欢送开源爱好者退出 ElasticJob 社区的建设:

GitHub 地址:https://github.com/apache/sha…

官方网站:http://shardingsphere.apache….

长按二维码退出社区

正文完
 0