Çok sayıda sunucusu olan bir sistem düşünün. Her birinin bir dizi ayarı vardır:
- Bazıları sunucuya özgü
- Bazıları bölgeye özgü
- Bazıları ortak
- Belki bazı özel gruplamalarınız olabilir, örneğin bu sunucu grubu sadece okumak içindir
- vb.
Aklımdaki mevcut uygulama, yetenekleri geçersiz kılan basit bir özellik yapısıdır.
Örnek olarak Google sunucularını ele alalım. Her birinin yüklenecek ayarların bir listesi vardır.
Örneğin, Londra sunucusunda şunlar olabilir:
rootsettings.properties
, europesettings.properties
, londonsettings.properties
, searchengine.properties
, Vs.
Her dosya bir dizi özellik içeriyorsa ve yükleme sırası özellikleri geçersiz kılmanıza izin verirse, daha da ileri gidersiniz.
Örneğin: rootsettings.properties
gerekebilir accessible=false
varsayılan olarak, ancak değiştirileceğini searchengine.properties
ileaccessible=true
Bu yapı ile ilgili yaşadığım sorun kontrolden çıkmak çok kolay. Hiç yapılandırılmamış, yani herhangi bir seviyede herhangi bir mülkü tanımlayabilirsiniz ve birçok öğe eski olabilir.
Ayrıca, çok sayıda sunucuyu etkilediğiniz için ağ büyüdükçe orta seviyeyi değiştirmek imkansız hale gelir.
Son olarak, her bir örneğin 1 özel özelliğe ihtiyacı olabilir, yani ağacınız her sunucu için bir yapılandırma ile sonuçlanır, bu da onu en uygun çözüm değildir.
Daha iyi bir yapılandırma yönetimi mimarisi hakkında herhangi bir öneriniz / fikriniz varsa çok memnun oluruz.