当前位置: 首页 > >

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

发布时间:

Elastic-Job 是什么?

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-Cloud更加完善,但依托于Mesos,使用复杂度较高,不易整合进公司现有系统,因而更加轻量级的Elastic-Job-Lite在实际使用中更受青睐。


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

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

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


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


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


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

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

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


Elastic-Job 下一步要做什么?

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


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

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


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


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


本文转自d1net(转载)



友情链接: