← Bütün Patternlər
⚙️

Configuration Server

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ı.

🎯
Nə üçün lazımdır?

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.

🔄
Live Refresh

@RefreshScope ilə servis restart olmadan yeni konfiq dəyərini götürür. Consul/K8s ConfigMap da bu işi görür.

🛠️
Alətlər

Spring Cloud Config Server, Consul KV, K8s ConfigMap/Secret, HashiCorp Vault, AWS Parameter Store.

İNTERAKTİV

Vizual İzah

Mərhələ {{ currentStep + 1 }}: {{ steps[currentStep].title }}

⚙️
Config Server
📝 DB_URL dəyişdirildi!
👤
User Service
✅ Yeniləndi
🛒
Order Service
✅ Yeniləndi
💳
Payment Service
✅ Yeniləndi
JAVA

Kod Nümunəsi — Spring Cloud Config

ConfigServerApp.java
@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
    }
}
✅ Üstünlükləri
  • Mərkəzi konfiq idarəsi — bir yer, bütün servislər
  • Live refresh — restart lazım deyil
  • Mühit-əsaslı (dev/staging/prod) konfiq
⚠️ Riskləri
  • Config Server çöksə servislər startup-da konfiq ala bilməz
  • Şifrələnməli data üçün Vault əlavə lazımdır
  • Versiyalaşdırma və rollback planlamaq vacibdir