10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

分布式调度中间件 Elastic-Job 2.1.0 发布:Cloud Native 里程碑版本

  • 2017-04-09
  • 本文字数:2191 字

    阅读完需:约 7 分钟

Elastic-Job 是什么?

Elastic-Job 是一个开源的分布式调度中间件,由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic-Job-Cloud 组成。

Elastic-Job-Lite 为轻量级无中心化解决方案,使用 jar 包提供分布式任务的调度和治理。 Elastic-Job-Cloud 是一个 Mesos Framework,依托于 Mesos 额外提供资源治理、应用分发以及进程隔离等服务。

项目已开源接近 2 年,目前为止已更新发布 16 次。Elastic-Job 已在分布式作业领域占有一席之地,明确采纳的公司已超过 50 家,未收录的采纳公司不计其数,更有多个开源产品衍生自 Elastic-Job。

项目的开源地址:

https://github.com/dangdangdotcom/elastic-job

Elastic-Job-Lite 和 Elastic-Job-Cloud 的定位是什么?

Elastic-Job-Lite 定位为纯粹的作业中间件,仅关注分布式调度、协调以及分片等核心功能,将作业部署、资源分配等功能交于 Mesos 或 Kubernetes 处理;而 Elastic-Job-Cloud 提供一体化私有云服务,将分布式调度、作业部署、资源分配、监控、日志处理等提供完善的解决方案。

从功能上看 Elastic-Job-Cloud 更加完善,但依托于 Mesos,使用复杂度较高,不易整合进公司现有系统,因而更加轻量级的 Elastic-Job-Lite 在实际使用中更受青睐。

之前版本的 Elastic-Job-Lite 有什么缺失?

主要缺失就是对 Cloud Native 的支持。原来的 Elastic-Job-Lite 是面向静态场景的,简单说就是每台作业服务器只能部署一个作业名称相同的作业实例,而当这个作业实例下线时,该作业服务器则显示为下线状态。这对于使用物理服务器的场景来说比较适合,而对于使用 Docker 的场景,则不太友好,原因是:

  1. 每次作业上线服务器 IP 可能产生变化,旧的服务器 IP 不会再使用,从而产生垃圾数据。
  2. Docker 的治理系统可以在一台物理服务器上启动多实例,而仅支持单服务器单实例的 Elastic-Job 使用起来诸多不便,需要 Docker 的治理系统额外配置。

Elastic-Job 2.1.0 版本是如何做到 Cloud Native 的?

新版本支持单服务器跑任意多的相同作业实例,原作业实例标识由 IP 地址替换为作业启动瞬时产生的 UUID。在新的 Cloud Native 架构下,作业物理服务器概念大幅弱化。为了向前兼容,作业物理服务器仅包含控制服务器是否可以禁用这一功能。为了更加纯粹的实现作业核心,作业物理服务器统计和操作功能未来可能删除,可下放至容器治理部署系统。

使用新增加的运行实例概念全面替换原服务器概念,Elastic-Job-Lite 与容器治理系统的对接由原来的服务器维度转变为运行实例维度,每个运行实例都是动态的,会随着作业下线而消失。

习惯根据服务器静态分配作业的使用者也不用太过担心新版本带来的变化,服务器信息以另外一个维度可选的存在于作业管理信息中,使用者仍然可以继续使用服务器静态部署的方式。

通过这次修改,Elastic-Job-Lite 已经可以非常容易的对接 Mesos + Marathon 以及 Kubernetes,相信使用者可以非常轻松的搭建一个深度定制版的作业私有云。

Elastic-Job 2.1.0 版本还有哪些关键更新?

Elastic-Job 2.1.0 版本是仅针对 Elastic-Job-Lite 进行全面提升。它主要包含以下 4 方面的提升:

  1. 单服务器可运行任意多的相同作业实例。Cloud Native,这里不再细说。
  2. 自修复能力使稳定性进一步提升。之前的 Elastic-Job 经过一年多的洗礼,稳定性已然不错,但是分布式场景由于环境复杂,很难完全通过正向的方式保证每个节点间的状态完全同步。而 Elastic-Job 原来的版本在网络不稳定的情况下,可能发生主节点选举卡死,或某个分片不运行的情况,可以通过重启应用修复。新版本的 Elastic-Job-Lite 使用异步线程,定期(可配置时间间隔)检测集群中不正确的状态,以反向检查的方式查找并自动修复分布式的不一致,为分布式稳定性的完善增加了最后一块拼图。
  3. 作业操作梳理。新版本将操作分为作业、实例、分片以及服务器 4 个维度,去除了容易混淆的暂停操作,对禁用功能进一步的增强,可以从各个维度控制整体作业或独立分片。
  4. 控制台界面提升。完全重写了控制台界面并且增加了事件追踪界面展示。新界面提供更加清新的用户体验,甚至包括主题皮肤切换,欢迎大家亲自体会。

Elastic-Job 2.1.0 版本与旧版本兼容么?

新里程碑版本做了如此大的修改和提升,那么从旧版本升级至新版本有哪些地方需要修改?相信很多老用户有这样的疑问。答案是:不需要做任何改动。

Elastic-Job 2.1.0 虽然对数据的存储结构进行了调整,但完全兼容原有数据结构,并且 API 和配置并未改变,使用者可以平滑升级。

Elastic-Job 下一步要做什么?

当前的 Elastic-Job 已支持事件驱动,但并不完善。因此 Elastic-Job 下个功能将针对事件驱动进行提升,将其分布式“定时任务”中间件的定位彻底改变为分布式“任务”中间件。

另外还有很多功能需要继续完善,如作业依赖的支持等。

对于新手来说使用 Elastic-Job 很难么?

Elastic-Job-Cloud 对于新手来说使用起来并不太容易,需要对 Mesos 技术栈有一定了解。

Elastic-Job-Lite 则非常简单,只需在 pom.xml 中引入 Elastic-Job 的 maven 坐标,并且参照在 github 上的 example 编写几行代码即可,唯一的外部依赖是 Zookeeper。

最后,请允许我再重复一次,项目的开源地址: https://github.com/dangdangdotcom/elastic-job

欢迎使用、吐槽和提出建议。

其他相关资料

当当开源 elastic-job,分布式作业调度框架

【CNUTCon2016】基于 Mesos 的当当作业云 Elastic-Job-Cloud

【QCon 北京 2016】当当架构平台化之道

2017-04-09 18:076648
用户头像

发布了 25 篇内容, 共 26.7 次阅读, 收获喜欢 119 次。

关注

评论

发布
暂无评论
发现更多内容

SecureCRT for mac完美激活版 附SecureCRT安装教程

Rose

项目调度管理系统(源码+文档+部署+讲解)

深圳亥时科技

投诉问题处理系统(源码+文档+部署+讲解)

深圳亥时科技

Native Instruments Traktor Pro(数字DJ音乐制作平台)

Rose

抖音集团也在用的数仓「降本」利器

字节跳动数据平台

大数据 数据仓库 实时数仓 抖音

HyperWorks练习:使用Batch Mesher 批量划分网格

智造软件

仿真软件 CAE软件 altair Hypermesh hyperworks

急救管理系统

深圳亥时科技

数据科学在京东物流关键角色与前沿应用探索

京东科技开发者

京东物流-智能运输调度系统方案 荣获IF、红点国际设计大奖

京东科技开发者

After Effects 2025 全新升级 铸就特效传奇!

Rose

震惊!AI开展数据治理将超过人工和数据平台?

奇点云

大数据 AI 数据治理 大模型

并发编程/6种线程池设计图/1大线程池标准设计与执行规范/2种线程池管理设计(全面篇)

肖哥弹架构

Java 并发编程 高并发

Principle Mac破解版 交互式UI原型设计工具 v6.36 激活版

Rose

DolphinScheduler集成Arthas实现接口调用监控,提升调度任务可靠性

白鲸开源

工作流调度 Apache DolphinScheduler Arthas #监控 API 接口

4K Wallpaper mac(600多种4K壁纸素材)

Rose

Playwright:掌握Web自动化测试的新利器

测吧(北京)科技有限公司

测试

公开课 | Playwright:掌握Web自动化测试的新利器

测试人

软件测试 playwright

如何用我们的软件打造完美的项目管理方案?

天津汇柏科技有限公司

人工智能 低代码 软件定制开发

解压助手RAR Extractor - Unzip for mac,支持几乎所有的压缩格式

Rose

使用SeaTunnel从InfluxDB同步数据到Doris

白鲸开源

Influxdb 数据同步 Apache SeaTunnel #开源

xmind思维导图 mac破解版 ,简单好用,激发创意灵感

Rose

OpenAI 发布了新的事实性基准——SimpleQA

吴脑的键客

人工智能 openai

如何在服务器端自动ban掉扫描ssh的IP

京东科技开发者

社交软件红包技术解密(三):微信摇一摇红包雨背后的技术细节

JackJiang

即时通讯;IM;网络编程

信阳等保测评机构有哪些?电话多少?

行云管家

等保 等保测评 信阳

CST如何实现空间分布变化的材料设置

思茂信息

教程 cst 电磁仿真

分布式调度中间件Elastic-Job 2.1.0发布:Cloud Native里程碑版本_DevOps & 平台工程_张亮_InfoQ精选文章