IT资讯 ElasticJob 发布设计规划,分布式调度解决方案

harry · 2020-11-04 13:00:06 · 热度: 97

没投过票?千万别说你来过 OSC

https://www.oschina.net/project/top_cn_2020

ElasticJob 创始人张亮 11 月 4 日发布 ElasticJob 后续设计规划。

ElasticJob 是一个分布式调度解决方案。分布式环境中,调度直接决定运行集群的投入和产出。调度的两个核心要素是资源治理和触发时机。

ElasticJob 由两个相互独立的子项目 ElasticJob Lite 和 ElasticJob Cloud 组成。ElasticJob Lite 定位为轻量级无中心化解决方案,使用 jar 的形式提供分布式任务的协调服务;ElasticJob Cloud 采用自研 Mesos Framework 的解决方案,额外提供资源治理、应用分发以及进程隔离等功能。以下为刚发布的规划信息。

产品定位

ElasticJob 目前是基于定时任务的分片调度中间件,在 ElasticJob-Cloud 中增加了资源治理的能力。未来 ElasticJob 希望将功能划分为独立的三个部分:任务触发、资源管理、任务治理。

任务触发是必选模块,其他两个模块是可选的。只有任务触发,相当于降级为 QuartZ。

任务触发 + 任务治理可以理解为 ElasticJob 的现状。在任务触发的同时,增加分布式治理和任务分片的能力,未来的基于有向无环图的任务编排也属于任务治理模块。

任务触发 + 资源治理可以理解为类似于操作系统的任务调度机制。在任务执行时增加资源的管控,在资源不足的情况下将任务排队,资源管控可以对接 Kubernetes 和 Apache Mesos。目前的 ElasticJob-Cloud 则是任务触发 + Mesos 资源治理实现方式。

任务触发 + 任务治理 + 资源治理是 ElasticJob 未来的全部能力,而 ElasticJob-Lite 和 ElasticJob-Cloud 则仅仅是部署形态不同。

架构设计

ElasticJob 希望采用可插拔架构设计,将功能模块通过 SPI 动态织入现有架构体系。针对于当前设计的三大功能模块,其可插拔设计分别是:

任务触发:目前是基于 CRON 表达式和一次性调度两种触发形式。希望调整为调度 SPI + 调度实现(CRON,One-Off,其他...)。

资源治理:目前没有独立的资源治理抽象层。希望未来在增加资源治理 SPI 的同时,增加基于Apache Mesos、Kubernetes 和 NoDep 的资源治理实现模块。

任务治理:目前只有任务分片和高可用治理两部分。希望未来提供任务治理 SPI,并将分片和高可用作为其实现模块,并在此基础上增加 DAG 治理能力。任务治理的各个模块相互隔离且可叠加。

ElasticJob-Lite  和 ElasticJob-Cloud 调整

ElasticJob-Lite 和 ElasticJob-Cloud 调整为仅仅是部署形态不同。

ElasticJob-Lite 采用无中心化的 jar 部署形态,提供 spring 等框架的接入层,适用于轻量级应用。

ElasticJob-Cloud 采用中心化的 server 部署形态,适用于集中化的作业云管平台。

模块规划

任务触发:

    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 社区重启运营,可同时调度 10w 级别并发任务

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册。