Plateforme Edge Cloud de Fastly

Solutions numériques innovantes

Revenir au blog

Follow and Subscribe

Disponible uniquement en anglais

Cette page n'est actuellement disponible qu'en anglais. Nous nous excusons pour la gêne occasionnée, merci de revenir sur cette page ultérieurement.

Routage des requêtes sans code

Shane Burgess

Chef de produit senior, Fastly

Les applications modernes ne reposent pas sur une seule origine. Vous disposez de serveurs d’API, de ressources statiques, de services d’authentification, de pipelines multimédias, qui doivent tous être correctement acheminés. Pour y parvenir, il fallait auparavant procéder à une configuration complexe : plusieurs domaines, une VCL personnalisée, du code de traitement placé en amont de votre origine, ou encore le recours au chaînage de services.

Le routage des requêtes peut vous simplifier la vie.

Un seul domaine, plusieurs services

Avec le routage des requêtes, vous définissez des règles basées sur les chemins sur n’importe quel domaine dans notre système de gestion de domaine, et nous envoyons chaque requête automatiquement au bon service, sans code personnalisé requis.

Hébergez vos pages marketing sur un CDN statique, votre API sur un backend conteneurisé et vos fichiers multimédias sur un stockage objet, le tout sous un seul domaine. Acheminez /api/* vers votre serveur d’applications, /assets/* vers S3, /auth/* vers votre fournisseur d’identité : une solution épurée, rapide et entièrement déclarative.

Cas d’utilisation

  • Orchestration des microservice: acheminer différentes versions d’API vers des services legacy ou modernes spécifiques.

  • Localisation géographique: vous pouvez diriger les utilisateurs de pays spécifiques vers des serveurs d’origine localisés pour réduire la latence.

  • Tests A/B Testing et déploiements test: utilisez la correspondance basée sur les en-têtes pour acheminer un pourcentage du trafic vers des services de préproduction ou en version bêta.

Comment ça marche

Les configurations de routage se trouvent dans la rubrique de premier niveau Domaines de votre tableau de bord. Vous pouvez créer des règles sophistiquées à l’aide de trois types de conditions principales. Notre première version ne prendra en charge que les en-têtes, mais les autres types de conditions arriveront bientôt. 

  • En-tête: correspondance basée sur les en-têtes HTTP, tels que les versions des API ou les agents utilisateurs.

  • Géolocalisation : acheminez le trafic en fonction de la position géographique de l’utilisateur, comme les codes de pays.

  • Adresse IP: filtrez et acheminez en fonction d’adresses IP spécifiques ou de plages.

Pour cette version, vous pouvez vérifier si une valeur d’en-tête commence_par, finit_par, est égale à, ou contient une chaîne donnée. Chaque chemin peut définir plusieurs règles, et chaque règle a une action associée. L’action détermine ce qui se passe lorsque/si une condition est remplie. Pour cette première version, nous proposons une action « service » dont la valeur est un identifiant de service (nous prévoyons d’ajouter d’autres types d’actions prochainement). Chaque chemin nécessite une action par défaut, qui sert de route de secours lorsqu’aucune règle ne correspond.

Voici un exemple simple de routage du trafic basé sur l’en-tête de requête agent utilisateur :

Route configuration:
  Path: /example
    Rule:
      Condition: header User-Agent starts_with "Mozilla/5.0"
      Action: route to service-A
    Rule:
      Condition: header User-Agent starts_with "Mozilla/4.0"
      Action: route to service-B
    Default: route to service-C

Le système traite les requêtes adressées à /exemple de haut en bas. La première règle correspondante est appliquée ; tout ce qui ne répond à aucune condition est traité selon la valeur par défaut.

Le flux de travail « de la version préliminaire au déploiement »

Le routage des requêtes garantit la sécurité et accélère le développement en suivant un processus rationalisé allant de la « version préliminaire au déploiement » :

  1. Brouillon : lorsque vous commencez une modification, nous créons automatiquement un brouillon en clonant votre configuration active.

  2. Configurer : ajoutez des chemins et définissez des règles. Chaque configuration de route prend en charge jusqu’à 10 000 chemins, 20 règles par chemin et 5 conditions par règle.

  3. Aperçu : utilisez le point de terminaison ou l’interface utilisateur de l’API Structured Diff pour vérifier précisément les modifications que vous avez apportées avant la mise en production.

  4. Activer: déployez vos modifications en périphérie en un seul appel. Une validation stricte garantit que chaque chemin possède une règle de basculement.

  5. Retour en arrière : nous conservons les cinq dernières versions actives, ce qui permet de revenir presque instantanément à un état dont le bon fonctionnement est avéré.

Se lancer

Le routage des requêtes est désormais disponible avec tous les forfaits. Rendez-vous sur votre tableau de bord pour créer votre première configuration, ou lisez la documentation pour la syntaxe des règles, la correspondance par wildcard et les options avancées.

Vous comptez en faire quelque chose d’intéressant ? Partagez-le sur la communauté Fastly ou contactez-nous via le service d’assistance Fastly.

Prêt à commencer ?

Contactez-nous dès aujourd’hui