Las aplicaciones empresariales dependen de tareas programadas para el procesamiento de datos, la generación de reportes, la gestión de archivos y otras operaciones recurrentes. A medida que estas tareas aumentan en volumen y complejidad, gestionarlas con programadores personalizados o trabajos cron independientes se vuelve propenso a errores y difícil de escalar.
Distributed Task Scheduling, parte de Microservices Engine (MSE), ofrece una plataforma totalmente gestionada para crear, ejecutar y monitorear tareas programadas en entornos distribuidos. Hay dos ediciones disponibles: SchedulerX, una plataforma de programación distribuida de tareas que utiliza un framework de programación y un protocolo de comunicación propietarios, y XXL-JOB, que usa SchedulerX como núcleo y es compatible con el protocolo de comunicación de código abierto para alojar clientes XXL-JOB mediante conexiones no intrusivas.
Cómo funciona
Distributed Task Scheduling sigue un modelo de tres partes:
Definición de la tarea: defina qué se ejecuta (un método Java, una función Go, un script de Shell, un endpoint HTTP o un Job de Kubernetes).
Programación: defina cuándo se ejecuta (una sola vez, de forma recurrente con una programación cron, con retraso o como parte de un flujo de trabajo de varios pasos).
Ejecución y monitoreo: la plataforma envía la tarea a los workers conectados, rastrea el estado de ejecución y envía alertas en caso de fallo.
Ambas ediciones manejan la programación y la ejecución en el lado del servidor. Su aplicación solo necesita registrar un cliente ligero (o ningún cliente en absoluto para tareas HTTP serverless).
Elegir una edición
Las dos ediciones atienden diferentes rutas de migración y preferencias operativas.
|
**SchedulerX** |
**XXL-JOB** |
|
|
Conexión |
Requiere reemplazar el SDK del cliente |
No requiere cambios en el código; pase la configuración de conexión mediante el parámetro |
|
Facturación |
Serverless: basada en el número de tareas y la frecuencia de programación |
Basada en instancias: según las especificaciones de recursos solicitados |
|
Red pública |
Compatible |
No compatible |
|
Lenguajes |
Admite aplicaciones que no son Java/Go; también admite tareas de script, tareas HTTP y tareas de K8s |
Solo Java y Go |
Cuándo usar SchedulerX:
Cargas de trabajo que no son Java/Go (scripts, callbacks HTTP, jobs de Kubernetes).
Aplicaciones desplegadas en la red pública.
Facturación de pago por uso basada en el número de tareas y la frecuencia de programación.
Cuándo usar XXL-JOB:
Aplicaciones XXL-JOB existentes que requieren una migración a la nube sin cambios en el código.
Equipos que prefieren una facturación basada en instancias con capacidad fija.
Aplicaciones Java o Go que no requieren acceso a la red pública.
Beneficios clave
Failover y recuperación automáticos. Se basa en una arquitectura de alta disponibilidad con ejecución de tareas de respaldo múltiple, validada tras años de eventos Double 11 de Alibaba Group y simulacros de recuperación ante desastres. Las tareas realizan failover y se recuperan automáticamente cuando los nodos dejan de funcionar.
Precisión de programación a nivel de segundo. Admite programación con precisión de segundos. El cómputo distribuido ligero permite el procesamiento por lotes de big data casi en tiempo real.
Totalmente gestionado sin sobrecarga de infraestructura. No hay servidores que aprovisionar ni mantener. Conecte su aplicación y comience a programar tareas.
Compatibilidad nativa con XXL-JOB. 100 % compatible con todas las versiones de XXL-JOB de código abierto. Una herramienta de migración integrada importa las tareas de XXL-JOB autoalojadas con un solo clic, sin necesidad de modificar el código.
Seguridad multitenant y control de acceso. La protección de seguridad multicapa, el aislamiento de datos multitenant y el control de permisos protegen los datos de las tareas y los entornos de ejecución. Al basarse en la protección de seguridad multicapa de Alibaba Cloud, previene eficazmente los ataques maliciosos.
Más allá del código abierto. Impulsadas por el motor SchedulerX, ambas ediciones amplían el conjunto de funciones de XXL-JOB de código abierto con programación temporizada, orquestación de flujos de trabajo, control de limitación y operaciones de O&M.
Funciones
La plataforma Distributed Task Scheduling le permite gestionar tareas programadas, consultar registros de ejecución y ver registros operativos.
SchedulerX
|
Categoría |
Capacidades |
|
Gestión de tareas |
Tareas programadas, diferidas y periódicas |
|
Orquestación de flujos de trabajo |
Editor visual para definir dependencias de tareas y orden de ejecución |
|
Cómputo distribuido |
Modelo de programación integrado para paralelizar el procesamiento por lotes de big data |
|
Monitoreo y alertas |
Métricas de ejecución, historial de ejecuciones y canales de alerta configurables |
Tipos de tarea compatibles:
|
Tipo de tarea |
Descripción |
|
Java |
Ejecute un método en una aplicación Java mediante el SDK de Java. Learn more |
|
Go |
Ejecute una tarea en una aplicación Go mediante el SDK de Go. Learn more |
|
Spring |
Aloje tareas |
|
XXL-JOB |
Aloje tareas XXL-JOB sin modificar el código. Learn more |
|
Script |
Escriba y ejecute scripts de Shell o Python en línea. Learn more |
|
HTTP |
Dos modos: (1) HTTP serverless: active tareas exponiendo un endpoint público, sin necesidad de cliente; (2) Agente HTTP: conecte un schedulerxAgent dentro de una VPC para programar tareas mediante endpoints internos. Learn more |
|
K8s |
Ejecute tareas de script de K8s o programe recursos nativos de Kubernetes Job y CronJob. Learn more |
|
DataWorks |
Incluya tareas de Alibaba Cloud DataWorks en un flujo de trabajo junto con otros tipos de tareas. Learn more |
XXL-JOB
|
Categoría |
Capacidades |
|
Programación de tareas |
Cree, gestione y programe tareas recurrentes |
|
Control de limitación |
Limite el máximo de instancias simultáneas por tarea y controle cuántas tareas se ejecutan simultáneamente bajo una sola aplicación |
|
Migración a la nube |
Importación con un clic de todas las tareas desde una instancia XXL-JOB autoalojada |
|
Monitoreo y alertas |
Métricas de ejecución, historial de ejecuciones y canales de alerta configurables |
Primeros pasos
|
Objetivo |
Guía |
|
Conectar un cliente a SchedulerX |
|
|
Ejecutar un script de Shell según una programación |
|
|
Probar XXL-JOB en 10 minutos |
|
|
Crear una aplicación Java o Go con XXL-JOB |