🚀 9.2 Centralizando a Configuração: Spring Cloud Config

Em uma arquitetura de microsserviços, gerenciar arquivos application.yml individuais para cada serviço é um pesadelo logístico. Na Engenharia Premium, utilizamos o Spring Cloud Config para centralizar todas as configurações em um único repositório Git.

O Config Server (O Maestro)

O servidor de configuração atua como uma fonte da verdade. Ele lê os arquivos de um repositório Git e os expõe via HTTP para os outros serviços.

Iniciando o Servidor de Elite

  1. Dependência: spring-cloud-config-server.
  2. Ativação:
    @EnableConfigServer
    @SpringBootApplication
    public class ConfigServerApplication {
        public static void main(String[] args) {
            SpringApplication.run(ConfigServerApplication.class, args);
        }
    }

## O Config Client (A Orquestra)

A partir do **Spring Boot 2.4+**, a conexão com o servidor de configuração mudou para um modelo muito mais resiliente baseado em **Imports**.

## Conectando a Green Dog ao Servidor
No seu `application.yml` local:

```text
spring:
  application:
    name: greendog-delivery
  config:
    import: "optional:configserver:http://localhost:8888"

IMPORTANT

Refresh Dinâmico: Ao utilizar a anotação @RefreshScope em seus Controllers ou Services, você pode atualizar as configurações do sistema em tempo de execução (via endpoint /actuator/refresh) sem precisar reiniciar a aplicação!

Com as configurações centralizadas, precisamos de uma forma para que os serviços se encontrem automaticamente. Para isso, usaremos o Eureka.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️