Guide de démarrage de Gateway Complete

Qu'est-ce qu'une passerelle de routage? Quelle est la signification de son existence?

Dans les microservices, nous aurons de nombreux microservices, mais il n'y a qu'un seul client. Lorsqu'il appelle notre interface distante, il doit utiliser des adresses différentes, comme les trois microservices suivants (également utilisés dans ce projet) Des trois microservices, voir la fin de l'article pour l'adresse de code)

Nom du service Nom du projet Exemple d'adresse d'appel d'interface
Module marchandise passerelle-marchandises-7001 http://localhost:7001/goods/main
Module de commande ordre-passerelle-8001 http://localhost:8001/order/main
Module du centre utilisateur passerelle-utilisateur-9001 http://localhost:9001/user/main

De cette façon, lorsque le client appelle, il doit également utiliser une adresse différente (nom d'hôte et port), peut-il être appelé directement à l'aide d'une adresse? C'est similaire au genre de projet que nous avons écrit auparavant. Par exemple:

  • http://localhost:80/goods/main Module marchandise
  • http://localhost:80/order/main Module de commande
  • http://localhost:80/user/main Module du centre utilisateur

Démarrage de GateWay

  • Introduire le pom.xml dépendant

  • Placement application.yml

  • Classe de démarrage principale

Eh bien, lancez directement les trois microservices et ce projet, dans le navigateur, vous pouvez directement utiliser http://localhost:80/goods/mainl'adresse pour accéder à chaque service.

Les trois composants de GateWay

Parcours

Cela a été démontré dans l'opération d'introduction ci-dessus et est configuré spring.cloud.gateway.routespour effectuer une correspondance de route.

Cependant, l'URI que nous avons configuré ci-dessus est l'adresse réseau (bien sûr, nous pouvons configurer directement notre hôte local à d'autres adresses sur le réseau, telles que baidu.com). Dans les microservices, nous ne devons pas écrire directement morts, et un microservice peut également avoir plusieurs adresses, nous devons donc être configurés comme nom de microservice du registre. Le contenu de la configuration modifiée est le suivant:

  • En plus de l'application.yml ci-dessus, il existe une autre façon de configurer le routage (je suppose que vous ne devez pas dire applicin.properties). C'est la façon d'injecter SpringBean, sans parler ici, ceux qui sont intéressés peuvent se rendre sur le site officiel pour y jeter un œil. Mais il est recommandé d'utiliser la configuration du fichier de configuration, car Nacos peut être intégré pour la configuration dynamique, ce qui est plus flexible que d'écrire dans le code

Assertion (prédicats)

Dans le fichier de configuration ci-dessus, les prédicats dans les routes sont une série d'assertions, ce qui signifie que ce qui ne peut être fait que si ces conditions sont remplies. L'attribut Path est utilisé ci-dessus, en plus, il y a

Le chemin est mis en correspondance en fonction du chemin. Les méthodes couramment utilisées sont la méthode (méthode de demande) et l'hôte (adresse demandée). Ces assertions sont des relations "et", c'est-à-dire que si vous configurez plusieurs prédicats, ils doivent être satisfaits en même temps pour acheminer le transfert. Référence détaillée

Filtrer

Il s'agit du filtre utilisé dans les applications Web. Quelle est son utilité? L'utilisation la plus courante est dans les projets de séparation frontaux et principaux.Nous pouvons vérifier l'autorisation des jetons et autres autorisations au niveau de la passerelle (pour vous donner un exemple demain).

Utilisez SpringSecurity et Gateway pour l'authentification réseau et la vérification des autorisations

Adresse de code: Faites attention au compte public WeChat "Xiaoyu et Java", répondez à SpringCloud pour obtenir

Je suppose que tu aimes

Origine www.cnblogs.com/Lyn4ever/p/12702347.html
conseillé
Classement