ElasticJob分布式调度解决方案

联合创作 · 2023-09-29 15:09

ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业生态。 它的各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。


ElasticJob 已于 2020 年 5 月 28 日成为 Apache ShardingSphere 的子项目。 欢迎通过邮件列表参与讨论。


使用 ElasticJob 能够让开发工程师不再担心任务的线性吞吐量提升等非功能需求,使他们能够更加专注于面向业务编码设计; 同时,它也能够解放运维工程师,使他们不必再担心任务的可用性和相关管理需求,只通过轻松的增加服务节点即可达到自动化运维的目的。


ElasticJob-Lite


定位为轻量级无中心化解决方案,使用 jar 的形式提供分布式任务的协调服务。



Elastic-Job-Cloud


采用自研 Mesos Framework 的解决方案,额外提供资源治理、应用分发以及进程隔离等功能。

































  ElasticJob-Lite ElasticJob-Cloud
无中心化
资源分配 不支持 支持
作业模式 常驻 常驻 + 瞬时
部署依赖 ZooKeeper ZooKeeper + Mesos

 


功能列表



  • 弹性调度



    • 支持任务在分布式场景下的分片和高可用

    • 能够水平扩展任务的吞吐量和执行效率

    • 任务处理能力随资源配备弹性伸缩


  • 资源分配



    • 在适合的时间将适合的资源分配给任务并使其生效

    • 相同任务聚合至相同的执行器统一处理

    • 动态调配追加资源至新分配的任务


  • 作业治理



    • 失效转移

    • 错过作业重新执行

    • 自诊断修复


  • 作业依赖(TODO)



    • 基于有向无环图(DAG)的作业间依赖

    • 基于有向无环图(DAG)的作业分片间依赖


  • 作业开放生态



    • 可扩展的作业类型统一接口

    • 丰富的作业类型库,如数据流、脚本、HTTP、文件、大数据等

    • 易于对接业务作业,能够与 Spring 依赖注入无缝整合


  • 可视化管控端



    • 作业管控端

    • 作业执行历史数据追踪

    • 注册中心管理


浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报