多数のサーバーがあるシステムを想像してください。それぞれに多くの設定があります:
- サーバーに固有のもの
- 地域固有のいくつか
- それらすべてに共通するもの
- このグループのサーバーは読み取り専用であるように、カスタムグループを作成できます
- 等
私が念頭に置いている現在のプラクティスは、オーバーライド機能を持つ単純なプロパティ構造です。
例の目的でGoogleサーバーを使用してみましょう。それぞれにロードする設定のリストがあります。
たとえば、ロンドンのサーバーには次のものがあります。
rootsettings.properties
、europesettings.properties
、londonsettings.properties
、searchengine.properties
、など
各ファイルに一連のプロパティが含まれており、読み込みシーケンスを使用するとプロパティをオーバーライドできます。
たとえば、次のようにrootsettings.properties
持っていることがありaccessible=false
、デフォルトとして、しかしでオーバーライドされるsearchengine.properties
とaccessible=true
私がこの構造で抱えている問題は、制御不能になるのが非常に簡単なことです。構造化されていないため、任意のレベルで任意のプロパティを定義でき、多くのアイテムが廃止される可能性があります。
さらに、ネットワークの成長に伴い、非常に多くのサーバーに影響を与えるため、中間レベルの変更は不可能になります。
最後に重要なことですが、個々のインスタンスにはそれぞれ1つの特別なプロパティが必要になる場合があります。つまり、ツリーは最終的に各サーバーの構成になり、最適なソリューションではなくなります。
より良い構成管理アーキテクチャの提案/アイデアがあれば、私は大歓迎です。