Distributed scheduled job
8.2k
Stars
3.3k
Forks
115
Open issues
30
Contributors
AI Analysis
ElasticJob is a distributed task scheduling framework that handles job sharding, failover, and resource management in scalable environments. It serves teams building large-scale distributed systems who need reliable, elastic job execution without managing high-availability infrastructure themselves. It is specialized for operations teams and backend engineers working with Java-based distributed systems, not a general-purpose tool.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Apache ElasticJob brings distributed job sharding and failover to Java teams using ZooKeeper
ElasticJob is a distributed scheduled job framework for Java that solves the classic problems of single-node job scheduling at scale: elastic sharding across nodes, automatic failover, misfired job recovery, and centralized governance. It is built for Java/Spring teams running high-throughput batch or periodic workloads in distributed, cloud-like environments. Originally created in 2015 at Dangdang and donated to Apache ShardingSphere in 2020, it occupies a niche between simple cron-like schedulers (Quartz) and heavyweight workflow orchestrators (DolphinScheduler), focusing specifically on lightweight decentralized sharding.
Started in 2015 as an internal tool at Chinese e-commerce company Dangdang to address distributed job scheduling needs. Joined Apache ShardingSphere as a sub-project in May 2020, gaining ASF governance, a standardized release process, and broader community oversight.
Early growth was driven by adoption in Chinese internet companies facing scale-out scheduling challenges. The Apache incubation in 2020 provided credibility and community momentum. Star growth appears to have plateaued in recent years — 0 stars gained in the last 7 days — suggesting the project has reached a stable but not rapidly expanding adoption base. XXL-Job's dominant position in the Chinese Java ecosystem likely caps ElasticJob's mainstream expansion.
The project originates from production use at Dangdang and has 8,200+ stars and 3,253 forks, suggesting meaningful real-world use, particularly in China's Java enterprise ecosystem. Maven Central availability supports production deployment. However, no specific case studies, production user lists, or download statistics are provided in the README. Adoption in Chinese enterprises is plausible given the ecosystem context, but independently verifiable production evidence is limited.
Appears to be a decentralized, ZooKeeper-dependent architecture with no single point of failure. Likely uses ZooKeeper for job registry, leader election, and shard coordination. Offers a 'Lite' mode (decentralized, embedded in application) and likely a 'Cloud' mode for Mesos/Kubernetes resource scheduling. Unified job API layer abstracts dataflow, script, HTTP, and custom job types. Spring IOC integration is mentioned, suggesting first-class Spring Boot support.
Codecov badge is present in the README, indicating code coverage is tracked and reported. Actual coverage percentage is not stated in the README excerpt, but the presence of the badge suggests coverage is monitored as part of CI.
Last push was 2026-06-18, approximately 9 days before the analysis date — indicating active, recent maintenance. The project is under Apache governance with CI via GitHub Actions. Travis CI badge is also present but may be legacy. Active maintenance is clear; the pace appears steady rather than rapid.
ADOPT IF: your Java/Spring team needs lightweight distributed job sharding with automatic failover, you are already operating ZooKeeper in your infrastructure, and you want a mature Apache-governed solution. AVOID IF: you lack ZooKeeper expertise or infrastructure, need DAG-based workflow orchestration, or prefer a simpler centralized scheduler — XXL-Job or PowerJob may be more practical. MONITOR IF: you are evaluating modern distributed scheduling options and want to see whether ElasticJob's planned DAG and Kubernetes-native features materialize before committing.
Independent dimensions
Mainstream potential
4/10
Technical importance
7/10
Adoption evidence
4/10
- Hard ZooKeeper dependency adds operational complexity; teams without ZooKeeper experience may face a steep setup burden.
- XXL-Job's overwhelming community size in the Chinese Java ecosystem may continue to limit ElasticJob's growth ceiling, making community support and tutorials relatively scarcer.
- DAG-based job dependency is listed as 'TODO' in the README, meaning a key differentiation feature relative to newer competitors remains unimplemented.
- Star growth appears to have stalled (0 new stars in 7 days), which may indicate the project has reached a stable but non-growing adoption phase rather than an expanding one.
- The Admin UI lives in a separate repository (shardingsphere-elasticjob-ui), which can create versioning and maintenance coordination risks.
ElasticJob is likely to remain a stable, well-maintained niche choice for Java teams needing ZooKeeper-backed distributed sharding. It is unlikely to challenge XXL-Job's market position but should retain its existing user base under Apache governance.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Java
- License
- Apache-2.0
- Last updated
- 4d ago
- Created
- 132mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Refactor `apache/shardingsphere-elasticjob-ui` using Flutter to simultaneously implement functionality on both Android and web platforms
是否有支持 Springboot 4.x 的计划
Skip tracing logs for disabled/shutdown job servers
Misfire funcationality question
ElasticJob 2.0.4 Sharding Infinite Loop Issue Report
Open pull requests
Top contributors
Recent releases
Similar repos
apache/shardingsphere
Apache ShardingSphere is an enterprise-grade distributed database middleware...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
8.2k | +1 | Java | 8/10 | 4d ago |
|
|
7.8k | — | Java | 7/10 | 4mo ago |
|
|
20.8k | — | Java | 8/10 | 7h ago |
|
|
30.3k | — | Java | 8/10 | 6d ago |
|
|
1.6k | — | Java | 8/10 | 4d ago |
|
|
6.7k | — | Java | 8/10 | 2mo ago |
XXL-Job (30k+ stars) is the dominant choice in China's Java ecosystem for distributed scheduling. It offers a simpler, web-console-first approach without requiring ZooKeeper. ElasticJob's sharding model is more sophisticated, but XXL-Job's lower operational overhead and larger community make it the default choice for many teams.
PowerJob (7.7k stars) is a newer challenger with workflow/DAG support, a built-in web console, and no ZooKeeper dependency. It positions itself as a more modern alternative, and its DAG feature overlaps with ElasticJob's stated TODO roadmap item.
Quartz is the foundational single-node Java scheduler. ElasticJob targets the gap Quartz leaves — distributed sharding and HA — so they are more complementary than competing. ElasticJob can wrap Quartz-style jobs.
DolphinScheduler (14k+ stars) is a heavyweight workflow orchestration platform with DAG pipelines, multi-tenant support, and a rich UI. It targets data engineering workflows. ElasticJob is lighter-weight and developer-embedded, making them suitable for different scales of problem.
The parent ShardingSphere project focuses on database sharding middleware. ElasticJob is a related but independent sub-project; users of ShardingSphere may adopt ElasticJob naturally, but they solve different problems and are not direct competitors.
