A Spring Cloud é a popular estrutura de serviço distribuída hoje em dia e fornece muitos componentes úteis. Por exemplo: Centro de Configuração, Descoberta de Serviços Eureka, barramento de mensagens, mecanismo de fusível, etc.
O centro de configuração é relativamente básico entre os muitos componentes da nuvem de primavera. Ele fornece gerenciamento unificado de arquivos de configuração e pode alternar facilmente para ambientes ininterruptos.
Sua estrutura específica é a seguinte:
A Spring Cloud é baseada na bota da primavera e a Spring Cloud é inseparável na bota da primavera, portanto nossos projetos são todos baseados na inicialização da primavera.
Geralmente colocamos arquivos de configuração no Git, que é fácil de usar para controle de versão. Em seguida, vamos falar sobre a construção do centro de configuração.
Construção do centro de configuração
Primeiro, introduza a dependência da BOOT Spring e da Spring Cloud:
<EpendencyManagement> <Dependences> <pendency> <puperid> org.springframework.cloud </groupiD> <TarifactId> Dependências de primavera-cloud </ArtifactId> <versão> edgware.sr3 </versão> <Type> pom </type> <cope> Importação </scope> </dependência> <PuerpId> org.springframework.boot </frugiD> <TRARFACTID> Spring-boot-dependências </ArtifactId> <Versão> 1.5.9.Release </siperS> </type> pom </sepenge> <cope> importação </cope> </ipendency> </dependências> </dependencyManagement>
Aqui precisamos dar uma olhada mais de perto na documentação oficial. A versão Finchley do Spring Cloud é baseada no Spring Boot 2.0 e não pode funcionar no Spring Boot 1.5. A versão Edgware é baseada no 1.5 e não funciona corretamente em 2.0. Todos devem prestar atenção a isso para evitar problemas desnecessários.
Aqui usamos a versão 1.5 da Spring Cloud e a Spring Boot versão 1.5.
Em seguida, despeje as dependências necessárias da seguinte forma:
<Dependences> <pendency> <voundId> org.springframework.boot </groupiD> <TRATIFACTID> Spring-boot-starter-web </artifactId> </dependency> <pendenceM> <purpId> org.springframework.cloud </groupid> <stifactId> <ppring-conffffft.springframework.cloud </groupid> <Tifactid> <Pring-ClloD-conffffflffringwork.cloud </groupid>
Por fim, escreva a classe inicial do centro de configuração, como segue:
@Springbootapplication@enableConfigserververpublic Classe ConfigServerApplication {public static void main (string [] args) {springapplication.run (configserverApplication.class, args); }}@EnableConfigserver marca que este serviço é um serviço de centro de configuração. As informações específicas estão configuradas no arquivo Application.Properties:
#Server Port Server.port = 9000# Arquivo de configuração Endereço Git Spring.cloud.config.server.git.uri = https: //github.com/liubo-tech/spring-cloud-properties# File de arquivo de configuração Spring.cloud.config.serverver.gities#
Todo mundo entende a porta de serviço e o endereço GIT, e o terceiro é o diretório em que os arquivos temporários estão configurados. Depois que o centro de configuração for chamado, o centro de configuração puxará o arquivo de configuração do Git e cache localmente. Este é o diretório para o cache de configuração e também pode ser configurado sem configuração e usar o padrão do sistema. Dessa forma, o centro de configuração é configurado e o cluster pode ser construído através do Nginx para torná -lo altamente disponível.
Os formatos de arquivo de configuração de acesso são os seguintes:
/{Applicatication }/ {Profile uma {labela {Applicationa {Profile {label {Application-)em:
Ligações do cliente
No passado, os arquivos de configuração eram colocados em projetos, o que o tornava muito problemático ao alterar ambientes diferentes, e algumas informações confidenciais de configurações também foram expostas aos desenvolvedores.
Isso pode ser evitado usando um centro de configuração unificado, vamos ver como o cliente chama.
Primeiro, importe o pacote JAR que deve ser confiado, como segue:
<Dependences> <pendency> <voundid> org.springframework.boot </frupiD> <TRATIFACTID> Spring-boot-starter-web </artifactId> </dependency> <pendence-> <puperid> orgg.springframework.cloud </groupid> <stifactId> <proctStarter-FFFffffframework.cloud </groupid> <Tifactid> Spring-starter
Enquanto o jar do cliente de configuração da nuvem de primavera estiver sob o caminho de classe do projeto, ele obterá a configuração do centro de configuração quando o projeto iniciar e especificar o centro de configuração através da propriedade spring.cloud.config.uri no arquivo de configuração do bootstrap.
Isso faz com que o projeto do cliente deve ter um arquivo bootstrap.yml ou bootstrap.properties, caso contrário, o cliente não carregará o arquivo de configuração no centro de configuração.
Criamos o bootstrap.properties da seguinte forma:
#Configure o endereço central spring.cloud.config.uri = http: // localhost: 9000
Especifique o endereço do centro de configuração. No exemplo acima, especificamos 9000 da porta do centro de configuração. Configuramos o nome do aplicativo no arquivo Application.Properties:
spring.Application.Name = EG-Config
Nosso aplicativo é chamado de "por exemplo, config". Quando o projeto é iniciado, o arquivo EG-Config será carregado no centro de configuração. Em seguida, vamos dar um exemplo, criar um feijão e injetar valores do centro de configuração
@ComPonenPublic Classe MyBean {@Value ("$ {my.name}") Nome da sequência privada; public String getName () {Return Name; } public void setName (nome da string) {this.name = name; }}Onde o nome carregará a propriedade my.name no centro de configuração. A aula de inicialização é a seguinte:
@SpringbooTApplicationPublic Classe Application {public static void main (string [] args) {configurableApplicationContext ApplicationContext = springApplication.run (Application.class, args); // Obtenha o feijão e imprima o nome Field mybean bean = ApplicationContext.getBean (mybean.class); System.out.println (bean.getName ()); }} Após a startup, os resultados da impressão do console são os seguintes: test
Isso será introduzido no centro de configuração. Para detalhes, consulte o exemplo do projeto: https://github.com/liubo-tech/spring-cloud-config.
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.