Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Gérer le trafic de bout en bout avec des voies de trafic en mode souple

Dernière mise à jour :Aug 11, 2026

Les voies de trafic en mode souple s'appuient sur des ressources de routage personnalisées, telles que les services virtuels et les règles de destination, pour offrir une ingestion unifiée du trafic de bout en bout, un routage fin et un traitement du trafic basé sur des plug-ins.

Présentation des fonctionnalités

Les voies de trafic en mode souple permettent d'isoler les versions d'application. Le système achemine le trafic vers différentes voies selon les en-têtes de requête transmis et les en-têtes de guidage du trafic. Lorsqu'un service d'une voie appelle un autre service, si le service cible n'existe pas dans la voie actuelle, le trafic est redirigé vers la voie de référence. Ce mécanisme garantit l'intégrité de la chaîne d'appels et simplifie la gestion du trafic.

Avant d'utiliser les voies de trafic en mode souple, familiarisez-vous avec les concepts suivants.

Méthodes de transmission du contexte de la chaîne d'appels

La transmission du contexte de la chaîne d'appels est indispensable aux voies de trafic en mode souple. Pour une chaîne d'appels donnée, toutes les requêtes doivent partager le même en-tête de requête.

Les voies de trafic en mode souple prennent en charge les méthodes usuelles de transmission du contexte de la chaîne d'appels. Sélectionnez le scénario adapté à votre application.

Scénario 1 : Transmission d'un ID de trace

Un ID de trace est un en-tête de requête qui présente les caractéristiques suivantes :

  • L'en-tête de requête traverse toute la chaîne d'appels.

  • L'en-tête de requête est unique pour chaque chaîne d'appels.

Un ID de trace identifie de manière unique une chaîne d'appels complète. Sa valeur est généralement une chaîne aléatoire. Si votre application est intégrée à un système de traçage, elle transmet vraisemblablement un ID de trace. Les normes de traçage courantes utilisent des en-têtes de requête dédiés aux ID de trace, tels que x-b3-trace-id et x-datadog-trace-id.

Scénario 2 : Transmission d'un en-tête de requête personnalisé

Le code de votre application peut déjà transmettre des en-têtes de requête porteurs de sens métier, comme version ou env. Ces en-têtes identifient souvent la version et l'environnement de la chaîne d'appels. Dans ce cas, utilisez l'en-tête personnalisé transmis comme en-tête de guidage du trafic.

Scénario 3 : Transmission d'un en-tête de requête Baggage

Baggage est un mécanisme standard OpenTelemetry qui permet de transmettre des informations de contexte entre les processus au sein de chaînes d'appels distribuées, en ajoutant un champ Baggage à l'en-tête HTTP. La valeur du champ correspond à un ensemble de paires clé-valeur pouvant contenir des données de contexte telles que des ID de locataire, des ID de trace et des identifiants de sécurité. Cela permet de corréler les traces et les journaux sans modifier le code. Par exemple :

baggage: userId=alice,serverNode=DF%2028,isProduction=false

Baggage constitue la méthode recommandée pour configurer les voies de trafic en mode souple, car il s'agit du mécanisme standard OpenTelemetry dédié à la transmission du contexte de la chaîne d'appels.

Remarque

Pour les scénarios 1 et 3 : si votre application n'est pas intégrée à un système de traçage ou ne transmet pas Baggage dans son code, vous pouvez recourir à l'instrumentation automatique. Utilisez l'opérateur OpenTelemetry pour injecter les capacités d'instrumentation automatique dans votre application. Cette approche permet de transmettre les en-têtes de requête contenant l'ID de trace sans modifier le code de votre application. Pour configurer l'instrumentation automatique, suivez les étapes décrites dans la documentation communautaire. Vous devez installer l'opérateur OpenTelemetry, configurer l'instrumentation automatique et ajouter des annotations aux pods de votre application. L'instrumentation automatique OpenTelemetry prend en charge de nombreuses normes courantes de transmission du contexte de chaîne d'appels distribuée, telles que W3C Baggage et B3. La documentation communautaire fournit des exemples de transmission de W3C TraceContext et W3C Baggage. Pour plus d'informations, consultez Automatic Instrumentation.

En-tête de guidage du trafic

Les voies de trafic en mode souple utilisent un en-tête de guidage du trafic pour baliser la chaîne de requêtes. Spécifiez tout en-tête de requête qui n'entre pas en conflit avec les en-têtes existants liés au métier de votre application. Selon la méthode choisie pour transmettre le contexte de la chaîne d'appels, les voies de trafic en mode souple garantissent l'inclusion de l'en-tête de guidage du trafic à chaque étape de la chaîne d'appels. La valeur de l'en-tête correspond au nom de la voie de trafic. Par exemple, si vous spécifiez x-asm-prefer-tag comme en-tête de guidage du trafic, lorsqu'une requête est envoyée à un service dans une voie nommée s1, les requêtes suivantes dans la chaîne d'appels portent systématiquement l'en-tête de requête x-asm-prefer-tag: s1. Les voies de trafic exploitent le tag de voie présent dans l'en-tête de requête pour créer des environnements isolés pour différentes versions d'application.

Si vous choisissez de transmettre un en-tête de requête personnalisé, vous devez utiliser ce même en-tête comme en-tête de guidage du trafic.

Présentation des scénarios

Les scénarios suivants illustrent comment router le trafic vers des voies à l'aide de trois méthodes différentes de transmission des en-têtes de requête, et comment configurer des services virtuels personnalisés pour orienter le trafic vers des voies en mode souple.

Références