Quartz and ElasticJob are popular open source solutions for distributed job scheduling. This topic compares the features of Microservices Engine (MSE) SchedulerX with the features of the two open source solutions.
Feature | Quartz | ElasticJob | SchedulerX |
Time-based Scheduling | Cron | Cron | Cron, Fixed_Delay, Fixed_Rate, One_Time, and OpenAPI |
Job orchestration | Not supported | Not supported | Supported. You can create workflows to orchestrate jobs on a GUI and pass data between jobs. |
Distributed batch processing | Not supported | Static sharding | Broadcast, static sharding, and MapReduce |
Programming languages | Java | Java jobs and script jobs | Java jobs, Go jobs, script jobs, HTTP jobs, and Kubernetes jobs |
Observability | Not supported | Weak. You can only view jobs. Dynamic job creation and modification are not supported. | Historical records, operational logs (search supported), monitoring dashboard, operational records, stack viewing, and tracing analysis |
O&M capabilities | Not supported | Enable and disable jobs | Enable or disable jobs, manually run jobs, stop jobs, mark jobs as successful, and refresh historical data |
Monitoring and alerting | Not supported | Email, DingTalk, Lark, WeCom, custom webhook, text message, and phone call | |
High availability and disaster recovery | Self-responsible for disaster recovery of databases | Self-responsible for disaster recovery of ZooKeeper | Support for multi-data center disaster recovery in the same region |
User permissions | Not supported | Not supported | Single sign-on (SSO) and fine-grained management for main accounts, Resource Access Management (RAM) users, and RAM roles |
Graceful shutdown | Not supported | Not supported | Supported |
Canary release test | Not supported | Not supported | Supported |
Performance | Processes compete for locks each time a job is scheduled. This increases the loads of databases. | ZooKeeper has a performance bottleneck. | SchedulerX supports horizontal scaling and can schedule a large number of jobs. |