Bütün servislərin konfiqurasiyasını mərkəzi bir yerdən idarə etmək. Restart olmadan canlı dəyişiklik etmək imkanı.
20 servisin hər birinin application.yml-ında DB URL dəyişmək lazımdırsa? Config Server ilə bir yerdən dəyişib hamıya yayıla bilər.
@RefreshScope ilə servis restart olmadan yeni konfiq dəyərini götürür. Consul/K8s ConfigMap da bu işi görür.
Spring Cloud Config Server, Consul KV, K8s ConfigMap/Secret, HashiCorp Vault, AWS Parameter Store.
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApp {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApp.class, args);
}
}
// Client tərəf — restart olmadan yenilənən konfiq
@RestController
@RefreshScope // POST /actuator/refresh → yeni dəyəri götürür
public class GreetingController {
@Value("${app.greeting:Hello}")
private String greeting;
@GetMapping("/greet")
public String greet() {
return greeting; // Config dəyişdikdə avtomatik yenilənir
}
}