Préface
Dans notre blog précédent, lorsque le service A doit appeler le service B, vous n'avez qu'à obtenir l'instance enregistrée de service B à Eureka, puis à utiliser Feign pour appeler le service de B et utiliser le ruban pour obtenir l'équilibrage de charge. Cependant, lorsque nous exposons plusieurs services au client en même temps, comment le client appelle le service que nous avons exposé. Si nous voulons également ajouter l'authentification de la sécurité, le contrôle d'autorisation, les filtres et le routage dynamique et d'autres fonctionnalités, nous devons utiliser Zuul pour implémenter la passerelle API. Jetons un coup d'œil à utiliser Zuul.
1. Rejoignez la dépendance de Zuul
<dependency> <proupId> org.springframework.cloud </prouprid> <artifactId> printemps-cloud-starter-zuul </ artifactid> </peedency> <dependency> <proupid> org.springframework.cloud </proupActid> </ dépendance> spring-cloud-starter-eurekk
Étant donné que nous devons enregistrer le service Zuul sur le serveur Eureka et découvrir le service enregistré à partir du serveur Eureka, nous ajoutons les dépendances d'Eureka ici.
2. Activer la prise en charge de Zuul sur la classe d'application principale
@Springbootapplication @enablezuulproxy // Utilisez @enablezuulproxy pour activer la prise en charge de Zuul. Si vous ne souhaitez pas utiliser les fonctions de filtre et de proxy inverse fournies par Zuul, vous pouvez utiliser @enablezuulServer pour annoter la classe publique ZuulApplication {public static void main (String [] args) {SpringApplication.Run (zuulApplication.class, args); }} 3. Ajouter les informations de configuration de base de Zuul dans Application.yml
Spring: Application: Nom: Gateway-Zuul # Application Nom Server: Port: 8768 #zuul Server Numéro de port Eureka: Client: Service-URL: DefaultZone: http: // localhost: 8761 / eureka instance: préférée-ip-address: true:
4. Ajouter la configuration du routage des services dans Application.yml
Préalable: deux services ont été enregistrés dans Eureka Server, à savoir: Springboot-H2-Service et Springboot-Rest-Template-Feign. Le service Springboot-Rest-Template-Feign appellera le service Springboot-H2-Service, et le service Springboot-Rest-Template-Feign est un service que nous fournissons au monde extérieur. C'est-à-dire que le service Springboot-Rest-Template-Feign est quelque chose que nous avons exposé au client.
Méthode de configuration #routting 1 # zuul: # Routes: # Springboot-rest-template-feign: / TemplateService / ** #all demandes pour Springboot-Rest-Template-Feign sera intercepté et transmis à TemplateService # Méthode de configuration de routage 2ZUUL: Routes: API-Contract: # où API-Contract est le nom d'itinér Pour passer un par un: / matplateService / ** Service-ID: Springboot-rest-template-feign # Springboot-rest-template-feign est le nom de service enregistré sur Eureka: nfloadBalanCerruleClassName: com.netflix.loadBalancer.RoundRobinrule # Configurer le serveur Balancing Policy Balancing Policy Policy Balancing Policy Balancing Policy Balance Policy Balancing Policy
V. Vérification
Nous pouvons maintenant le vérifier. Entrez: http: // localhost: 8768 / templateService / template / 1 dans le navigateur pour voir les résultats du test.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.