The ElasticJob distributed scheduling solution is a distributed scheduling solution for the Internet ecosystem and massive tasks. It consists of two independent sub-projects, ElasticJob-Lite and ElasticJob-Cloud. It uses flexible scheduling, resource management and control, and job management functions to create a distributed scheduling solution suitable for Internet scenarios, and provides a diversified job ecosystem through open architecture design. Each of its products uses a unified job API, and developers only need to develop it once and deploy it at will.
Using ElasticJob allows development engineers to no longer worry about non-functional requirements such as linear throughput improvement of tasks, allowing them to focus more on business-oriented coding design; at the same time, it can also liberate operation and maintenance engineers so that they no longer have to worry about task availability and For related management needs, automated operation and maintenance can be achieved by simply adding service nodes.
1. Flexible scheduling
Support task sharding and high availability in distributed scenarios
Ability to horizontally scale task throughput and execution efficiency
Task processing capabilities can be elastically scaled with resource allocation
2. Resource allocation
Assign the right resources to tasks at the right time and make them effective
The same tasks are aggregated to the same executor for unified processing
Dynamically allocate additional resources to newly assigned tasks
3. Work management
failover
Missed job re-executed
self diagnostic repair
4. Job dependencies (TODO)
Inter-job dependencies based on directed acyclic graph (DAG)
Inter-shard dependencies between jobs based on directed acyclic graph (DAG)
5. Open job ecology
Extensible unified interface for job types
Rich job type library, such as data flow, script, HTTP, file, big data, etc.
Easy to connect to business operations and can be seamlessly integrated with Spring dependency injection
6. Visual control terminal
Job control terminal
Job execution history data tracking
Registration center management
Java
Please use Java 8 and above.
ZooKeeper
Please use ZooKeeper 3.6.0 and above.
Mesos (only used by ElasticJob-Cloud)
Please use Mesos 1.1.0 and compatible.