Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
HTTPmodèle de routage des en-têtes
Le routage basé sur les en-têtes vous permet de cibler le service approprié pour chaque demande en spécifiant un HTTP en-tête dans la HTTP demande. Par exemple, l’envoi de l’en-tête x-service-a-action: get-thing
vous permettra de get thing
à partir de Service A
. Le chemin de la demande est toujours important, car il fournit des indications sur la ressource sur laquelle vous essayez de travailler.
En plus d'utiliser le routage des HTTP en-têtes pour les actions, vous pouvez l'utiliser comme mécanisme pour le routage des versions, pour activer les indicateurs de fonctionnalité, les tests A/B ou pour des besoins similaires. En réalité, vous utiliserez probablement le routage des en-têtes avec l'une des autres méthodes de routage pour créer une solution robusteAPIs.
L'architecture du routage des HTTP en-têtes comporte généralement une fine couche de routage devant les microservices qui achemine vers le service approprié et renvoie une réponse, comme illustré dans le schéma suivant. Cette couche de routage peut couvrir tous les services ou seulement quelques services pour permettre une opération telle que le routage basé sur les versions.
Avantages
Les modifications de configuration nécessitent un minimum d’efforts et peuvent être automatisées facilement. Cette méthode est également flexible et permet de créer des moyens créatifs pour n’exposer que les opérations spécifiques que vous souhaitez obtenir d’un service.
Inconvénients
Comme pour la méthode de routage par nom d'hôte, le routage des HTTP en-têtes suppose que vous avez un contrôle total sur le client et que vous pouvez manipuler des HTTP en-têtes personnalisés. Les proxys, les réseaux de diffusion de contenu (CDNs) et les équilibreurs de charge peuvent limiter la taille de l'en-tête. Bien que cela ne soit pas un problème, cela peut poser problème en fonction du nombre d’en-têtes et de cookies que vous ajoutez.