Tous les produits
Search
Centre de documentation

Microservices Engine:Canary release for SchedulerX jobs

Dernière mise à jour :Aug 11, 2026

Lorsque vous mettez à jour la logique d'une tâche dans SchedulerX, un déploiement direct sur l'ensemble des workers risque d'impacter les charges de travail en production. SchedulerX prend en charge le déploiement canari basé sur des labels, qui achemine les tâches vers un sous-ensemble de workers à des fins de validation avant un déploiement complet.

Fonctionnement

Les workers SchedulerX signalent leurs labels au serveur via des battements de cœur (heartbeats). Chaque tâche peut cibler les workers portant un label spécifique, soit par configuration statique, soit au moment de l'exécution. Ce routage basé sur les labels constitue le mécanisme du déploiement canari.

Le processus est le suivant :

  1. Attribuez des labels aux workers, par exemple gray pour l'environnement canari et prod pour la production.

  2. Acheminez une tâche vers les workers portant le label gray à des fins de test.

  3. Vérifiez les résultats.

  4. Une fois la validation réussie, déployez la modification sur les workers portant le label prod.

Choisir une approche

Approche Cas d'utilisation Retour arrière
Tâche canari dédiée Tests canaris continus : vous avez besoin d'une tâche canari persistante s'exécutant parallèlement à la production Supprimez la tâche canari ; la tâche de production continue de s'exécuter sans modification
Exécution canari ponctuelle Validation rapide avant mise en production : testez une seule exécution sur les workers canaris sans dupliquer la tâche Aucun retour arrière nécessaire ; la planification de production n'est pas affectée

Attribuer des labels aux workers

Les workers doivent disposer de labels avant que vous ne puissiez utiliser le routage basé sur ceux-ci. SchedulerX propose deux méthodes.

Définir les labels au démarrage de l'application

Spécifiez les labels via la configuration Properties. L'exemple suivant utilise une application Spring Boot :

spring.schedulerx2.label=${label}

Remplacez ${label} par la valeur du label cible, telle que prod ou gray.

Hériter des labels des tags de trafic EDAS ou MSE

Si votre application s'exécute sur Enterprise Distributed Application Service (EDAS) ou Microservices Engine (MSE), l'étiquetage du trafic applique automatiquement des labels aux workers SchedulerX. Aucune modification de code n'est requise : les workers héritent des labels configurés dans EDAS ou MSE.

Cette méthode est utile lorsque vous utilisez déjà le déploiement canari de bout en bout dans MSE, car les workers SchedulerX récupèrent les mêmes labels sans configuration supplémentaire.

Créer une tâche canari dédiée

Copiez la tâche de production pour créer une tâche canari distincte, puis attribuez des labels afin d'isoler le trafic entre les deux.

  1. Ajoutez le label prod à la tâche de production.

  2. Copiez la tâche de production pour créer une tâche canari.

  3. Ajoutez le label gray à la tâche canari.

  4. Exécutez la tâche canari pour valider les résultats sur les workers portant le label gray.

Dedicated canary job workflow

Une fois la validation réussie, mettez à jour la tâche de production avec les modifications validées et supprimez la tâche canari.

En cas d'échec de la validation, supprimez la tâche canari. La tâche de production continue de s'exécuter sur les workers portant le label prod sans interruption.

Exécuter un test canari ponctuel

Pour valider une seule exécution sur un worker canari sans dupliquer la tâche, déclenchez manuellement la tâche existante sur un label spécifique dans la console SchedulerX.

  1. Dans la console SchedulerX, localisez la tâche.

  2. Sélectionnez run the specified label once et choisissez le label gray.

  3. La tâche s'exécute une fois sur le worker portant le label gray. La planification de production régulière continue de s'exécuter sans modification sur les workers portant le label prod.

One-time canary run

Automatiser l'exécution ponctuelle avec CI/CD

Utilisez des outils d'intégration continue tels que Jenkins pour déclencher automatiquement l'exécution canari ponctuelle. Cela intègre la validation canari dans votre pipeline de déploiement, de sorte que chaque version soit validée sur les workers canaris avant promotion.

Automated canary run with CI/CD