This topic compares Microservices Engine (MSE) XXL-JOB and open source XXL-JOB.
Category | Feature | Open source XXL-JOB | Alibaba Cloud XXL-JOB |
Compatibility | Protocol compatibility | The programming interfaces, communication protocols, and schemas of different versions are inconsistent. This poses risks to version upgrades. | Alibaba Cloud XXL-JOB is compatible with open source XXL-JOB 2.x. You do not need to maintain scheduling nodes. |
Basic capabilities | Scheduling type | cron and fixed_rate. | cron, fixed_rate, fixed_delay, and one_time, and api. |
Time zone | Not supported. | Supported. | |
Custom calendar | Not supported. | Supported. | |
Start time settings | Not supported. | Supported. | |
Sharding broadcast | Aggregation is not supported. | Aggregation is supported. | |
O&M | Manual startup and termination are supported. | Manual startup, manual termination, rerun of failed jobs, and data updates are supported. | |
Graceful shutdown | Not supported. When the client stops, the system forcefully triggers the thread interruption mechanism. | Supported. | |
Canary release of jobs | Not supported. | Tag-based routing and scheduling are supported. After MSE Microservices Governance is enabled, you can perform dynamic tagging and end-to-end canary release. | |
Stability | Throttling | Only client-side throttling is supported, and multiple executors are not idempotent. As a result, jobs are repeatedly run, which wastes computing resources and results in failures. | Server-side throttling is supported and is classified into job-level and application-level throttling. |
Possibility of database performance degradation | Each time the system schedules a job, execution records of the job are stored in databases. By default, all job execution records within the previous 30 days are retained in databases. In this case, the amount of data in the xxl_job_log table increases sharply, which degrades the database performance and affects job scheduling. | The compute-storage separation and hot and cold data backup technology are used to retain the historical records of the most recent task execution in the database. For long-term storage, the historical records of a job are stored in Simple Log Service for archiving. This resolves the storage issue of historical records of open source XXL-JOB. | |
Trigger failure of scheduled jobs | Each time a job is scheduled, the system retrieves the execution plan from the database. If the retrieval times out, the job fails to be triggered. | A distributed architecture is used. Different servers schedule different jobs in the memory. In this case, the workload of databases is small, which greatly reduces the possibility of job trigger failures. | |
Possibility of missing client logs | Frequent scheduling may result in a large number of small files, which degrades the performance of the client. If the client fails, all log files on the client are lost. | Log collection is provided. You can collect client logs to Simple Log Service and use keywords and filter conditions to quickly locate error logs. | |
Security | Single sign-on (SSO) | Not supported. | Supported. |
Fine-grained access control | Not supported. | Authorization for different resources and operations is supported. | |
Resource authorization | Not supported. | Supported. | |
Resource isolation | Not supported. | Application-level access control is supported. Different applications are assigned different access tokens. | |
Observability | Scheduling event | Not supported. | Supported. |
Monitoring dashboard | Daily data can be viewed on the monitoring dashboard. | Minute-level, hourly, and daily data can be viewed on the monitoring dashboard. | |
Operation record | Not supported. | Supported. | |
Log | Logs are stored on the client. Each execution generates a small file. If a large number of small files are generated, the performance and stability of the client are adversely affected. | Logs are stored in Simple Log Service. You can view logs generated in the previous two months. | |
Monitoring and alerting | Alert notification method | Only emails are supported. | Emails, webhooks, text messages, and phone calls are supported. |
Alert contact | Not supported. | The alerting capabilities of CloudMonitor are integrated. Instance-level and job-level monitoring and alerting are supported. | |
Alert history | Not supported. | Supported. |