1. Introdução
Quando você deseja implantar um centro de configuração em um ambiente de produção, como o Registro de Serviços, também queremos que ele seja um aplicativo altamente disponível. O Spring Cloud Config é muito simples de implementar alta disponibilidade no lado do servidor e há principalmente duas maneiras de fazê -lo.
Modo tradicional: não há necessidade de fazer nenhuma configuração adicional para esses servidores. Você só precisa cumprir uma regra de configuração e apontar todos os servidores de configuração para o mesmo repositório Git, para que todo o conteúdo da configuração seja mantido através de um sistema de arquivos compartilhado unificado. Quando o cliente especifica a localização do servidor de configuração, ele só precisa configurar o endereço do dispositivo de balanceamento de carga da camada superior do servidor de configuração, que é a estrutura mostrada na figura abaixo.
Modelo de serviço: Além do modelo de implementação tradicional acima, também podemos incorporar o servidor de configuração como um aplicativo de microsserviço comum no sistema de governança de serviço da Eureka. Dessa forma, nossos aplicativos de microsserviço podem obter informações de configuração através do nome do serviço do Centro de Configuração. Esse método é mais propício à manutenção do que o modelo de implementação tradicional, porque a configuração de balanceamento de carga do servidor e a especificação do centro de configuração do cliente são resolvidas através do mecanismo de governança de serviço, que não apenas atinge alta disponibilidade, mas também percebe a auto-manutenção. Como a implementação desta parte requer a cooperação do cliente, os leitores de exemplos específicos podem ler a seção "Centro de Configuração do Serviço" na seção "Explicação do cliente" em detalhes.
2. Preparação
Um centro de registro de serviço, Eurekaserver, porta 5555;
3. Transforme o servidor Config
(1) POM.XML, Adicione a dependência de Spring-Cloud-Starter-Eureka
<Dependences> <pendency> <voundId> org.springframework.cloud </groupiD> <TRORFACTID> Spring-cloud-config-severver </artifactId> </dependency> <pendenceM> <puperid> org.springframework.cloud </groupid> <stifactId> <purg-starter-rever-reure-ureswky.cloud </Groupid> </ArtifactId> <rugnid> spring-ure-uresworky.cloud </Groupid> </dependency> <prorg-starter-eure-ures-ureswky.cloud </Groupid> </Artifactid> <rugnid> spring-ure-ure-ureurwork.cloud " <GrupidId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-Starter-test </ArtifactId> <SCOPE> Test </conto> </dependency> </ipendencies>
(2) Application.yml, configure o parâmetro eureka.client.serviceurl.defaultZone para especificar a localização do centro de registro de serviço
Servidor: Porta: 5588 Spring: Aplicação: Nome: Config-Server Eureka: Cliente: ServiceUrl: DefaultZone: http: // localhost: 5555/eureka/#configure Registration Center Cloud: Config: Server: Git: Uri: https:/gitee.com/smartdt: repositório. SearchPaths: Config-Repo #Configure o local de pesquisa relativa no caminho do repositório e você pode configurar vários. Nome de usuário: nome de usuário #username para acessar o repositório Git. Senha: senha #User senha para acessar o repositório Git. Rótulo: Master #Configure A ramificação do repositório ### Se o repositório Git for um repositório público, você não poderá preencher o nome do usuário e a senha. Se for um repositório privado, você precisa preenchê -lo.
(3) Classe de entrada, adicione a anotação gigante do @EnablediscOveryc para registrar o servidor Config-Ser no Centro de Registro de Serviço configurado acima.
@Enablediscoveryclient @enableConfigServer @springbootapplication public class springcloudConfigServerApplication {public static void main (string [] args) {springappplication.run (springcloudConfigServerApplication.class, args); }}(4) Inicie o Config-Server e visualize através do Eureka-Server
4. Renovar configuração-client
(1) POM.XML, Adicione a dependência de Spring-Cloud-Starter-Eureka
<Dependences> <pendency> <voundiD> org.springframework.cloud </groupiD> <TRATIFACTID> Spring-cloud-starter-config </artifactId> </dependency> <pendenceM> <puperid> org.springframework.boot </groupid> <stifactId> <purgy-brottern> <GroupID> org.springframework.cloud </frupiD> <TRATIFACTID> Spring-Cloud-Starter-eureka </ArtifactId> </Dependency> <pendence> <puperid> org.springframework.boot </groupid> <TarfactId> Spring-boot-starter </ArtiftItid.
(2) Bootstrap.properties, adicione informações do centro de serviço de configuração
spring.application.name = configspace spring.cloud.config.label = mestre spring.cloud.config.profile = dev spring.cloud.config.uri = http: // localhost: 5588/server.port = 5589 Ereka.client.Serviceurl.Deffaultzona
(3) Classe de entrada, adicione @enablediscoveryclient
@Enablediscoveryclient @springbooTApplication public class SpringCloudConfigClientApplication {public static void main (string [] args) {springapplication.run (springcloudConfigClientApplication.class, args); }}(4) A classe de teste permanece inalterada
@RefreshScope @RestController Public class ConfigController {@Value ("$ {de}") String privada de; @Value ("$ {userName}") private String UserName; @Value ("$ {senha}") Private String senha; @RequestMapping ("/de") public string de () {return this.from + "~ user:" + this.userName + "~ pass:" + this.password; }}(5) Inicie o teste e veja-o através do Eureka-Server
(6) Teste de navegador, visite http: // localhost: 5589/de
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.