Enterprise applications often need to run scheduled tasks, such as timed data processing, file processing, and report generation. These tasks require high standards for configuration and execution. SchedulerX, a distributed task scheduling service from Alibaba Cloud, and the open source solution XXL-JOB both provide powerful scheduling capabilities. This topic describes the basics of SchedulerX Edition and XXL-JOB Edition to help you select the version that best suits your needs.
How to choose between SchedulerX Edition and XXL-JOB Edition
SchedulerX Edition is a distributed task scheduling platform developed by Alibaba Cloud that uses a proprietary programming framework and communication protocol. It supports a wide range of task types and is compatible with mainstream open source task scheduling clients, but requires you to replace the SDK. XXL-JOB Edition is a solution that uses SchedulerX as its kernel and is compatible with the open source communication protocol to host XXL-JOB clients. This edition allows for non-intrusive connections. The main differences are as follows:
Connection type: SchedulerX Edition is compatible with the open source XXL-JOB, but you must modify the client SDK. XXL-JOB Edition does not require code changes. You can simply replace the connection configuration using the -D parameter when you redeploy the application.
Billing method: SchedulerX Edition is a serverless version and is billed based on the number of tasks and scheduling frequency. XXL-JOB Edition is an instance-based version and is billed based on the requested resource specifications.
Public network access: You can only choose SchedulerX Edition for applications deployed on the public network. XXL-JOB Edition does not support public network access.
Application language: Choose SchedulerX Edition for non-Java or non-Go applications. XXL-JOB Edition only supports connections through Java or Go SDKs. SchedulerX Edition also supports script tasks, HTTP tasks, and Kubernetes (K8s) tasks.
Why choose Alibaba Cloud Distributed Task Scheduling
High availability: It uses a high availability (HA) architecture and a multi-backup mechanism for tasks. It has been proven through years of Alibaba Group's Double 11 events and disaster recovery drills. This ensures that tasks can be automatically switched over and recovered in the event of node failures.
High performance: It supports second-level scheduling. Its lightweight distributed computing can help you complete near-real-time big data batch processing.
Security protection: It provides multilayer security protection and multi-tenant data isolation. It also supports permission control. Based on Alibaba Cloud's multilayer security protection, it effectively prevents malicious attacks.
Fully managed and low-cost: This service is fully managed, eliminating machine or manual O&M costs. The connection process is simple and convenient.
Out-of-the-box: It is 100% compatible with all versions of the open source XXL-JOB. It provides a migration tool that supports one-click import of self-built XXL-JOB tasks to the cloud. This allows for a smooth migration with no code changes.
Open source enhancement: With Alibaba Cloud SchedulerX as its kernel, it provides more powerful features than the open source version, such as timed scheduling, workflow orchestration, throttling control, and O&M operations.
Features
You can use the Distributed Task Scheduling Platform to manage scheduled tasks, query task execution records, and view operational logs.
SchedulerX Edition
SchedulerX Edition supports the following features:
Manage scheduled tasks: Supports scheduled tasks, delayed tasks, and periodic tasks.
Workflow orchestration: Supports visual workflow orchestration to simplify task dependency management.
Support for multiple scheduled task types: Supports multiple task types based on different languages for timed scheduling and workflow scheduling.
Java
For Java applications, you can connect using the Java SDK to run a specific method in the Java application. For more information, see Java tasks.
Script tasks
You can write and run scripts online. Supported scripts include Shell and Python. For more information, see Script tasks.
Golang
For Go applications, you can connect using the Go SDK to run a specific task in the Go application. For more information, see Golang tasks.
XXL-JOB
This edition is compatible with XXL-JOB tasks. You can host XXL-JOB tasks without modifying your code. For more information, see XxlJob tasks.
DataWorks
This edition integrates with Alibaba Cloud DataWorks tasks. You can include DataWorks tasks in a workflow for orchestration with other tasks. For more information, see DataWorks tasks.
Spring
This edition is compatible with the Spring @Scheduled annotation. You can host Spring scheduled tasks without modifying your code. For more information, see Spring tasks.
Http
HTTP serverless: No client connection is required. Task scheduling is performed by exposing a public domain name. For more information, see HTTP tasks.
HTTP agent: You need to connect a schedulerxAgent within the VPC cluster. Scheduling can be performed through an internal domain name or IP address.
K8s
This edition supports K8s script tasks. It is also compatible with native K8s Job and CronJob. For more information, see K8s tasks.
Distributed computing: Provides a simple and easy-to-use distributed programming model that supports big data batch processing.
Task monitoring and alerts: Provides comprehensive monitoring metrics and a variety of alert methods, making it easy for O&M engineers to quickly locate and resolve online issues.
Task scheduling: XXL-JOB
XXL-JOB Edition supports the following features:
Scheduled task scheduling: Supports the creation, management, and scheduling of scheduled tasks.
Throttling control: Supports task concurrency control and application-level throttling. This feature lets you limit the maximum number of instances that can run for a single task at the same time and control the number of tasks running concurrently under a single application.
Cloud migration: Provides a migration tool to smoothly migrate all tasks from a self-built XXL-JOB instance to the cloud version.
Task monitoring and alerts: Provides comprehensive monitoring metrics and a variety of alert methods, making it easy for O&M engineers to quickly locate and resolve online issues.
Get started with Distributed Task Scheduling
To learn how to connect a client application to SchedulerX, see Quickly connect a client to SchedulerX.
To quickly get started with SchedulerX, see Run a scheduled Shell script task on a specified host.
To quickly learn how to connect an application to XXL-JOB Edition, see Experience XXL-JOB in 10 minutes.
To learn how to build a Java or Golang application from scratch and connect it to XXL-JOB Edition, see Build a Java/Golang application from scratch and connect it to XXL-JOB.
References
For information about version selection and billing for XXL-JOB Edition, see Version selection and billing for XXL-JOB Edition.
For a comparison between XXL-JOB and open source products, see Comparison between XXL-JOB and open source products.
For information about billing for SchedulerX, see Billing for SchedulerX instances.
For a comparison between MSE SchedulerX and self-built open source solutions, see Comparison between MSE SchedulerX and self-built open source solutions.