This topic compares Microservices Engine (MSE) XXL-JOB and open source XXL-JOB.
Feature set | Feature | Open source XXL-JOB | Alibaba Cloud XXL-JOB |
Compatibility | Protocol compatibility | Incompatible between different versions. | Compatible with all versions. |
Basic capabilities | Scheduling type | cron or fixed_rate | cron, fixed_rate, fixed_delay, one_time, and api. |
Time zone | Not supported. | Support | |
Custom calendar | Not supported. | Support | |
Start time settings | Not supported. | Support | |
Sharding broadcast | Aggregation is not supported. | Aggregation is supported. | |
O&M | Manual run and stop. | Manual run, stop, rerun in place, data backfill, mark as successful, suspend/resume, and skip/unskip. | |
Task dependency orchestration | Subtasks. Only serial execution is supported. | Visual workflow orchestration. Supports conditional branches, external dependencies, manual nodes, custom variables, upstream and downstream data transfer, O&M operations, and more. | |
Graceful shutdown | Not supported. When the client stops, the thread is forcibly interrupted. | Support | |
Canary release of jobs | Not supported. | Supports tag-based routing and scheduling. After integration with MSE Microservices Governance, it enables dynamic tagging and end-to-end canary release. | |
Observability | Scheduling event | Not supported. | Supported. |
Monitoring dashboard | Only daily data can be viewed. | Minute-level, hourly, and daily data can be viewed. | |
Operation record | Not supported. | Support | |
Log | Logs are stored on the client. Each execution generates a small file, which causes performance and stability issues. | You can collect log files with SLS. | |
Monitoring and alerting | Alert notification method | Email, webhook, text message, and phone call. | |
Alert contact | Not supported. | Integrates with CloudMonitor contacts. | |
Alert history | Not supported. | Supported. | |
Stability | Task concurrency control | Client-side control. Multiple executors cannot ensure idempotent execution. | Server-side control. Ensures global idempotent execution. |
Application throttling | Not supported. | Support | |
Possibility of database performance degradation | Each scheduling operation retains execution history in the database. By default, data from the last 30 days is kept. The rapid growth of the `xxl_job_log` table severely degrades database performance and affects job scheduling. | Uses a compute-storage separated architecture and hot/cold data tiering. Recent job execution records are kept in the database, while long-term history is archived to Simple Log Service. This effectively resolves the storage bottleneck of historical records in open source XXL-JOB. | |
Possibility of missed job triggers | Each scheduling operation must retrieve the execution plan from the database. If the retrieval times out, the job trigger is missed. | Uses a distributed architecture where each server node independently schedules its assigned tasks in memory. This significantly reduces the database load and greatly decreases the probability of missed job triggers. | |
Security | Console logon | Username and password logon. | Alibaba Cloud accounts, Resource Access Management (RAM) users, RAM roles, and single sign-on (SSO). |
Fine-grained access control | Not supported. | Uses RAM access policies. Supports instance-level and application-level permission isolation, and permission management at various operation levels. | |
SDK access authentication | The entire cluster shares a single access token. | Different AppNames use different access tokens. |