apache

apache/shardingsphere-elasticjob

Java Apache-2.0 DevOps

Distributed scheduled job

8.2k stars
3.3k forks
active
GitHub +1 / week

8.2k

Stars

3.3k

Forks

115

Open issues

30

Contributors

3.0.5 07 Feb 2026

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.

DevOps Infrastructure Discovery value: 4/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 7/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

distributed-scheduling job-sharding high-availability resource-management fault-tolerance
Actively maintained Well documented Niche/specialized use case Popular Production ready
Deep Analysis · Based on README and public signals
2w ago

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.

Origin

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.

Growth

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.

In production

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.

Code analysis
Architecture

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.

Tests

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.

Maintenance

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.

Honest verdict

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

Risks
  • 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.
Prediction

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.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Java
99.8%
Shell
0.1%
Batchfile
0.1%

Information

Language
Java
License
Apache-2.0
Last updated
4d ago
Created
132mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

PowerJob

PowerJob/PowerJob

PowerJob is an open-source distributed job scheduling and computing framework...

7.8k Java DevOps
apache

apache/shardingsphere

Apache ShardingSphere is an enterprise-grade distributed database middleware...

20.8k Java Data
xuxueli

xuxueli/xxl-job

XXL-JOB is a distributed task scheduling platform designed for simplicity and...

30.3k Java DevOps
kagkarlsson

kagkarlsson/db-scheduler

db-scheduler is a persistent, cluster-friendly task scheduler for Java...

1.6k Java Dev Tools
quartz-scheduler

quartz-scheduler/quartz

Quartz is a mature, open-source job scheduling library for Java applications,...

6.7k Java Dev Tools
vs. alternatives
xxl-job

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

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-scheduler/quartz

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.

apache/dolphinscheduler

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.

apache/shardingsphere

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.