In enterprise application scenarios, scheduled jobs such as periodic data processing jobs, file processing jobs, and report generation jobs, are usually performed. These jobs have high requirements for job configurations and execution efficiency. Alibaba Cloud SchedulerX and open source XXL-JOB provide powerful scheduling capabilities. This topic describes the basic information about SchedulerX and XXL-JOB. This helps you select a proper Task Scheduling version based on your business requirements.
How to select SchedulerX or XXL-JOB of Task Scheduling
SchedulerX is an Alibaba Cloud distributed job scheduling platform. SchedulerX uses the in-house programming framework and communications protocol and supports various types of jobs. SchedulerX is compatible with mainstream open source job scheduling clients after SDK replacement. XXL-JOB is built on top of SchedulerX and is compatible with open source communication protocols to manage solutions provided by the XXL-JOB client without requiring any changes. SchedulerX and XXL-JOB differ in the following aspects:
Access method: SchedulerX is compatible with open source XXL-JOB after the modification of the client SDK. For XXL-JOB of Task Scheduling, you do not need to modify the code, and you need only to use -D parameters to replace access configurations during application redeployment.
Billing method: SchedulerX is a serverless version and is billed based on the number of jobs and the number of times jobs are scheduled. XXL-JOB is an instance version and is billed based on the amount of requested resources.
Internet access: If applications are deployed over the Internet, you must select SchedulerX. XXL-JOB does not support Internet access.
Non-Java or non-Go applications: For applications that are not developed in Java or Go, you must select SchedulerX. XXL-JOB supports access only based on SDKs for Java or Go. SchedulerX also supports script jobs, HTTP jobs, and Kubernetes jobs.
Benefits
High availability: Task Scheduling uses a high-availability architecture and a multi-replica mechanism. Task Scheduling has proven robust both in disaster recovery drills and real-world business scenarios of Alibaba Group, such as Double 11, and can perform automatic switchover and recovery for jobs in node failure scenarios.
High performance: Task Scheduling allows you to schedule jobs in seconds and provides lightweight distributed computing models to help you perform batch processing in near real time.
Security protection: Task Scheduling provides the multi-level security protection and multi-tenant isolation mechanisms. Task Scheduling supports permission control that is based on the multi-level security protection mechanism of Alibaba Cloud to protect against malicious attacks.
O&M-free and low costs: No machine and manual O&M costs are incurred. Access to Task Scheduling is simple and convenient.
Out of the box: Task Scheduling is fully compatible with all versions of open source XXL-JOB 2.x. Task Scheduling provides migration tools to migrate self-managed XXL-JOB jobs to Task Scheduling with a few clicks. You can perform a smooth migration without code modifications.
Enhanced capabilities based on open source services: Alibaba Cloud SchedulerX is used as the kernel to provide more powerful time-based scheduling, throttling, and O&M operations than open source services.
Features
You can perform operations on jobs by using Task Scheduling in the MSE console. For example, you can manage time-based scheduling jobs and query historical execution records and operational logs of jobs.
SchedulerX
SchedulerX provides the following features:
Management of scheduling jobs: supports different types of jobs such as time-based jobs, delayed jobs, and periodic jobs.
Workflow orchestration: supports visual workflow orchestration to simplify job dependency management.
Support for various types of scheduling jobs: supports multiple job types based on different programming languages for time-based scheduling and workflow scheduling.
Java jobs
You can create Java jobs for Java applications that are connected to SchedulerX by using the SchedulerX SDK for Java to execute specific methods of Java applications. For more information, see Java jobs.
Script jobs
You can write and run scripts online. Scripts such as shell scripts and Python scripts are supported. For more information, see Script jobs.
Go jobs
You can create and run Go jobs for Go applications that are connected to SchedulerX by using SchedulerX SDK for Go. For more information, see Golang jobs.
XXL-JOB jobs
SchedulerX is compatible with XXL-JOB jobs. You can use SchedulerX to manage XXL-JOB jobs without the need to modify the code of the jobs. For more information, see XXL-JOB jobs.
DataWorks jobs
SchedulerX is integrated with Alibaba Cloud DataWorks. You can introduce DataWorks jobs to a workflow to orchestrate DataWorks jobs and other jobs together. For more information, see DataWorks jobs.
Spring jobs
SchedulerX is compatible with the @Scheduled annotation of Spring jobs. You can use SchedulerX to manage Spring jobs without the need to modify the code of the jobs. For more information, see Spring jobs.
HTTP jobs
HTTP jobs in serverless mode: You do not need to connect a client to your cluster. You can schedule jobs by using a public domain name. For more information, see HTTP jobs (serverless).
HTTP jobs in agent mode: You must connect the SchedulerX agent to your VPC-connected cluster. You can schedule jobs by using a private domain name or an IP address.
Kubernetes jobs
SchedulerX supports Kubernetes script jobs and is compatible with native Kubernetes jobs and CRON jobs. For more information, see Kubernetes jobs.
Distributed computing: provides simple and easy-to-use distributed programming models that allow you to perform batch processing on large amounts of data.
Job monitoring and alerting: provides comprehensive metrics and a wide range of alerting methods to help O&M personnel quickly locate and resolve online issues.
XXL-JOB
XXL-JOB supports the following features:
Job scheduling: allows you to create, manage, and schedule jobs.
Throttling: allows you to perform concurrency control and application-level throttling on jobs. You can specify the maximum number of instances that you can run in parallel for a single job and control the number of jobs that run in parallel for a single application.
Migration to the cloud: provides a migration tool to smoothly migrate all jobs from a self-managed XXL-JOB platform to XXL-JOB of MSE.
Job monitoring and alerting: provides comprehensive metrics and various alerting methods. This helps O&M engineers locate and resolve online issues.
Get started with Task Scheduling
For more information about how to connect a client to SchedulerX, see Connect an agent to SchedulerX.
For more information about how to get started with SchedulerX, see Use a Cron job to execute Shell scripts on a host.
For more information about how to connect an application to XXL-JOB, see Get started in 10 minutes.
For more information about how to develop an application and connect the application to XXL-JOB of Task Scheduling, see Create a Java, Go, or Python application and connect the application to XXL-JOB.
References
For more information about the edition selection and billing of XXL-JOB of Task Scheduling, see Task Scheduling.
For more information about the comparison between XXL-JOB of Task Scheduling and open source XXL-JOB, see Comparison between MSE XXL-JOB and open source XXL-JOB.
For more information about the billing of SchedulerX, see Billing description of SchedulerX serverless instances.
For more information about the comparison between SchedulerX and open source solutions, see Comparison between MSE SchedulerX and open source self-managed solutions.