ElasticJob 简介

ElasticJob 是一个分布式调度解决方案,即分布式的定时任务框架,它由 2 个相互独立的子项目 ElasticJob-LiteElasticJob-Cloud 组成:

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

功能列表:

相比较传统的 Quartz 定时任务框架,它只能单机部署,而 ElasticJob 要更加强大,它支持分布式弹性调度、资源管控、作业治理、在线可视化管控操作等功能。

ElasticJob 近况

ElasticJob 最初是由当当网在 2014 年底开源的一个分布式定时任务项目,在 2017 ~ 2020 年中断了维护好几年,在 2020 年又重启了维护,并成为了 Apache ShardingSphere 的子项目。

域名已经切换到了 Apache shardingsphere 旗下:

https://shardingsphere.apache.org/elasticjob/

代码托管地址也已经变更到了 Apache 旗下:

https://github.com/apache/shardingsphere-elasticjob

ElasticJob 3.0.0 王者归来

最近栈长注意到 ElasticJob 3.0.0 发布了:

距离上一个 2.1.5 正式版本已经是整整 4 年前了。。。

ElasticJob 进入 Apache 就搞了一个大版本,在经过 alpha、beta、RC1 3 个版本的打磨之后,ElasticJob 3.0.0 版本终于正式发布了。这也是 ElasticJob 项目自 2020 年 5 月 28 日重启,并成为 Apache ShardingSphere 子项目以来的第一个正式版本。

来看看更新了啥:

1、错误处理邮件通知支持 SMTP SSL 配置;

2、修复了 2 个 bug:

1)failover 在分布式环境不生效的问题;

2)作业关闭后,ReconcileService 仍在运行的问题;

3、在 ElasticJob Spring Boot Starter 中把 spring-boot-starter-jdbc 变为可选依赖;

现在是 Spring Boot 的天下了,各个技术框架也都提供了对 Spring Boot Starter 的支持,让 Spring Boot 分分钟集成,太香了!Spring Boot 基础不介绍了,基础教程和示例源码栈长之前写了一堆,不懂的可以推荐学习下:

https://github.com/javastacks/spring-boot-best-practice

认真的吗??一个 3.0.0 大版本,就更新了这点功能,有点惊讶。。

栈长查了下资料,并没有看到有 3.0.0 vs 2.1.5 方面更多的比较,ElasticJob 3.0.0 除了上述的更新内容外,还对内核进行了大量的重构和解耦,并扩充了一系列的生态对接,例如开箱即用的企业微信或钉钉作业出错通知等。

总结

ElasticJob 3.0.0 虽然没太大的惊喜,但却迈出了重大的一步,栈长虽然好久没关注 ElasticJob 了,但不建议现在就上 3.0.0,毕竟是重构的新版本,成熟和稳定性有待验证。

分布式任务框架其实在国内也有其他的不错的开源竟品,比如:XXL-JOB,但 ElasticJob 也有它的一席之地的,很多大公司都在用,所以,不用怕,大胆用,毕竟之前的 ElasticJob 2.x 就能独当一面。

已知采用的公司可以看这里:

https://shardingsphere.apache.org/elasticjob/current/cn/powered-by/

栈长之前所在的公司也用到了 ElasticJob,并且基于它还做了一些功能定制,个人感觉还可以的,分片功能和失效自动转移功能很强大,推荐看我之前写的文章:

分布式作业 Elastic-Job 快速上手指南,从理论到实战一文搞定!

另外,ElasticJob 能成为 Apache 的子项目,也说明 ElasticJob 有它的价值!对于 ElasticJob 3.0.0 的发布,以及后续的持续发力,分布式定时任务框架的明天可能也会大变天。。

好了,今天的分享就到这了,后面栈长还会陆续解读更多的 Java 主流技术,关注公众号Java技术栈第一时间推送。

最后,你们公司有用 ElasticJob 框架的么?欢迎留言分享使用心得~!

觉得我的文章对你用收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。

参考:

https://shardingsphere.apache.org/elasticjob

https://github.com/apache/shardingsphere-elasticjob/releases/tag/3.0.0

https://my.oschina.net/u/5137513/blog/5123156

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注