序文
問題について考えると、実際の開発ではこのようなシナリオが発生します。アプリケーションを複数の構成ファイルに分割するので、Nacosは複数の構成ファイルをどのように管理しますか?
複数の構成を読み込む
SpringアプリケーションとNacosの構成コンテンツの間の対応は、次の3つのパラメーターによって制御されることはすでに知っています。
- spring.cloud.nacos.config.prefix
- spring.cloud.nacos.config.file-extension
- spring.cloud.nacos.config.group
デフォルトでは、使用方法:Data ID=${spring.application.name}.properties
Group=DEFAULT_GROUP
構成。
例:現在、需要があります。適用されたすべてのアクチュエータモジュールとログ出力の統合構成管理を行いたいと考えています。
実装する最も簡単な方法は、関連する構成のActuator.propertiesとログlog.propertiesを適用することです。私たちは、コンフィギュレーションこれらの2つのタイプに分け、今共有する必要があります
:最初のステップ
でナコスで作成することをData ID=actuator.properties
、Group=DEFAULT_GROUP
そしてData ID=log.properties
、Group=DEFAULT_GROUP
コンテンツの構成を。
ステップ2:次の
ようなspring.cloud.nacos.config.ext-configパラメータを使用して、Spring Cloudアプリケーションにロードされる2つの構成コンテンツを構成します。
spring.cloud.nacos.config.ext-config[0].data-id=actuator.properties
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.ext-config[1].data-id=log.properties
spring.cloud.nacos.config.ext-config[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[1].refresh=true
ご覧のとおり:
spring.cloud.nacos.config.ext-config :
Setは配列リスト型です。:各設定は、次の3つのパラメータが含まれdata-id
、group
、refresh
refresh
:このパラメータのコントロールは、設定ファイルのサポートオートリフレッシュの内容は、デフォルトでは、唯一のデフォルトの設定が自動的にリフレッシュロードされますと、これらの拡張機能の内容をロードするための構成の設定を構成する必要がありますそうして初めて、自動更新が行われます。
共有構成
実際、構成ファイルは、コレクションをロードする上記の方法ですでに共有できます。Nacosは、別の便利な構成方法も提供します
spring.cloud.nacos.config.shared-dataids=actuator.properties,log.properties
spring.cloud.nacos.config.refreshable-dataids=actuator.properties,log.properties
spring.cloud.nacos.config.shared-dataids:
パラメーターは、複数の共有構成を構成するために使用されますData Id
。複数が使用される場合、それらはコンマで区切られます
spring.cloud.nacos.config.refreshable-dataids
:パラメーターはData Id
、構成が変更されたときにアプリケーションで動的に更新できる共有構成データID を定義するために使用されます。複数のコンマで区切られた `` 。明示的な構成がない場合、デフォルトでは、すべての共有構成が動的更新をサポートしていません
読み込み優先度を構成する
複数の構成をロードするとき、同じキーがある場合、構成のロードの優先順位関係を理解する必要があります。
Nacos構成を使用する場合、構成には主に3つのタイプがあります。
spring.cloud.nacos.config.shared-dataids
定義された共有構成を通じてspring.cloud.nacos.config.ext-config[n]
定義された負荷構成を通じて- 社内ルール(ことで
spring.cloud.nacos.config.prefix
、spring.cloud.nacos.config.file-extension
、spring.cloud.nacos.config.group
これらのパラメータのうちのスプライシング)の設定
これらの構成の読み込み順序を把握するために、これらの構成をアプリケーションに追加し、ログを観察します
spring.cloud.nacos.config.ext-config[0].data-id=actuator.properties
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.shared-dataids=log.properties
spring.cloud.nacos.config.refreshable-dataids=log.properties
ログから読み込み順序を確認できます:A <B <C