Bayangkan sebuah sistem yang memiliki sejumlah besar server. Masing-masing dari mereka memiliki sejumlah pengaturan:
- Beberapa khusus untuk server
- Beberapa spesifik untuk wilayah tersebut
- Beberapa hal umum terjadi pada mereka semua
- Mungkin Anda dapat memiliki beberapa pengelompokan khusus, seperti grup server ini hanya untuk membaca
- dll.
Praktek saat ini yang ada dalam benak saya adalah struktur properti sederhana dengan kemampuan mengungguli.
Mari kita ambil server Google untuk tujuan contoh. Masing-masing dari mereka memiliki daftar pengaturan untuk memuat.
Misalnya, server London mungkin memiliki:
rootsettings.properties
, europesettings.properties
, londonsettings.properties
, searchengine.properties
, Dll
Di mana setiap file berisi sekumpulan properti dan urutan pemuatan memungkinkan Anda untuk menimpa properti, semakin jauh Anda pergi.
Misalnya: rootsettings.properties
mungkin accessible=false
sebagai default, tetapi diganti searchengine.properties
denganaccessible=true
Masalah yang saya alami dengan struktur ini adalah sangat mudah untuk lepas kendali. Sama sekali tidak terstruktur, artinya Anda dapat mendefinisikan properti apa pun di tingkat mana pun dan banyak item dapat menjadi usang.
Lebih jauh lagi, mengubah level menengah menjadi tidak mungkin seiring pertumbuhan jaringan, karena Anda sekarang memengaruhi sejumlah besar server.
Last but not least, setiap instance individu mungkin memerlukan 1 properti khusus, artinya pohon Anda diakhiri dengan konfigurasi untuk setiap server, menjadikannya solusi yang tidak terlalu optimal.
Saya akan sangat menghargai jika Anda memiliki saran / ide arsitektur manajemen konfigurasi yang lebih baik.