1. Introduction
Lorsque vous souhaitez déployer un centre de configuration dans un environnement de production, comme le Registre des services, nous voulons également que ce soit une application très disponible. Spring Cloud Config est très simple pour implémenter la haute disponibilité du côté serveur, et il existe principalement deux façons de le faire.
Mode traditionnel: il n'est pas nécessaire de faire une configuration supplémentaire pour ces serveurs. Il vous suffit de vous conformer à une règle de configuration et de pointer tous les serveurs de configuration sur le même référentiel GIT, afin que tout le contenu de configuration soit maintenu via un système de fichiers partagé unifié. Lorsque le client spécifie l'emplacement du serveur de configuration, il n'a qu'à configurer l'adresse du périphérique d'équilibrage de charge de la couche supérieure du serveur de configuration, qui est la structure illustrée dans la figure ci-dessous.
Modèle de service: En plus du modèle d'implémentation traditionnel ci-dessus, nous pouvons également incorporer Config Server en tant qu'application de microservice ordinaire dans le système de gouvernance de service d'Eureka. De cette façon, nos applications de microservice peuvent obtenir des informations de configuration via le nom de service du centre de configuration. Cette méthode est plus propice à la maintenance que le modèle de mise en œuvre traditionnel, car la configuration d'équilibrage de charge du serveur et la spécification du centre de configuration du client sont résolues via le mécanisme de gouvernance du service, qui non seulement atteint une haute disponibilité mais réalise également l'auto-maintenance. Étant donné que la mise en œuvre de cette partie nécessite la coopération du client, les lecteurs d'exemples spécifiques peuvent lire en détail la section "Centre de configuration de service" dans la section "Explication du client".
2. Préparation
Un centre d'enregistrement de service, Eurekaserver, port 5555;
3. Transforment Config-Server
(1) pom.xml, ajouter la dépendance de Spring-Cloud-Starter-eureka
<Dependances> <Dedency> <GroupId> org.springframework.cloud </proupId> <ArtifActid> Spring-Cloud-Config-Server </ ArfactId> </Dependency> <Dendency> <ProupId> org.SpringFramework.cloud </prounid> <pridenctid> Spring-Cloud-starter-eurek <GroupId> org.springFramework.boot </prôdId> <ArtefactId> Spring-Boot-starter-test </ artifactid> <ccope> test </cope> </dependency> </Dependances>
(2) Application.yml, Configurer le paramètre eureka.client.serviceUrl.defaultZone pour spécifier l'emplacement du centre d'enregistrement de service
Serveur: Port: 5588 Spring: Application: Nom: Config-Server Eureka: Client: ServiceUrl: DefaultZone: http: // localhost: 5555 / eureka / #configure Service Registration Center Cloud: Config: Server: Git: URI: https://gitee.com/smartdt/springCloudConfig.git #configure the location de la git. SearchPaths: config-repo #configure l'emplacement de recherche relative sous le chemin du référentiel, et vous pouvez configurer plusieurs. Nom d'utilisateur: nom d'utilisateur #Username pour accéder au référentiel GIT. Mot de passe: Mot de passe # USER Mot de passe pour accéder au référentiel GIT. Étiquette: maître #configure la branche du référentiel ### Si le référentiel GIT est un référentiel public, vous ne pouvez pas remplir le nom d'utilisateur et le mot de passe. S'il s'agit d'un référentiel privé, vous devez le remplir.
(3) Classe d'entrée, ajoutez l'annotation ORT géante @enablediscoveryc pour enregistrer le config-serveur au centre d'enregistrement de service configuré ci-dessus.
@EnablediscoveryClient @enableConfigServer @springbootapplication public class printemplCloudConFigServerApplication {public static void main (String [] args) {SpringApplication.run (SpringCloudConfigServerApplication.class, args); }}(4) Démarrez Config-Server et View via Eureka-Server
4. Rénover la configuration
(1) pom.xml, ajouter la dépendance de Spring-Cloud-Starter-eureka
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <GroupId> org.springframework.cloud </proupId> <ArtifactId> Spring-Cloud-Starter-eureka </ Artifactid> </Dependency> <Dependency> <ProupId> org.springFramework.boot </prouprid> <Artifactid> Spring-Boot-starter-test </ artifactid> <cate>
(2) bootstrap.properties, ajouter des informations de centre de service de configuration
Spring.Application.name = configSpace spring.cloud.config.label = maître spring.cloud.config.profile = dev printemp.cloud.config.uri = http: // localhost: 5588 / server.port = 5589 eureka.client.serviceurl.defaultzone = http: // localhost: 555 / eurek
(3) classe d'entrée, ajouter @enablediscoveryclient
@EnablediscoveryClient @springbootApplication public class printemplCloudConfigClientApplication {public static void main (String [] args) {springApplication.Run (SpringCloudConfigClientApplication.class, args); }}(4) La classe de test reste inchangée
@RefreshScope @RestController Public Class ConfigController {@Value ("$ {from}") String privé de; @Value ("$ {nom d'utilisateur}") Nom d'utilisateur de chaîne privée; @Value ("$ {mot de passe}") Mot de passe de chaîne privée; @RequestMapping ("/ From") String public from () {return this.from + "~ User:" + this.Username + "~ pass:" + this.password; }}(5) Démarrez le test et affichez-le via Eureka-Server
(6) Test de navigateur, visitez http: // localhost: 5589 / depuis
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.