前の記事: Nacos Server クラスターの構築
構成セットの追加
- nacos 構成センターで新しいものを作成するだけです
構成アイテムをリアルタイムで更新する
- 頼る
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 構成ファイルを
application.yml
次のように変更しますbootstrap.yaml
- 構成設定を追加する
server:
port: 8083
spring:
application:
name: m-service-resume
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 &serverTimezone=UTC
username: root
password: root
jpa:
database: MySQL
show-sql: true
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl #避免将驼峰命名转换为下划线命名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
#集群名称
cluster-name: BJ
#所属命名空间
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
#nacos config 配置
config:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
group: DEFAULT_GROUP
file-extension: yaml
- 構成 config クラスを取得し、
@RefreshScope
アノテーションを追加します
@RestController
@RequestMapping("/config")
//实时刷新注解
@RefreshScope
public class ConfigController {
@Value("${my.message}")
private String myMessage;
@Value("${mysql.url}")
private String mysqlUrl;
@GetMapping("/viewconfig")
public String viewconfig() {
return "msg==>" + myMessage + " mySqlUrl=>" + mysqlUrl;
}
}
- アクセス
- 構成の内容を変更します。100 は 200 になります
- リアルタイム更新が完了しました
- 構成の内容を変更します。100 は 200 になります
クエリをリッスンする
- nacos 構成センター
データID拡張子
nacos から複数の設定ファイルを取得します
- nacos で複数の設定ファイルを作成し
abc.yaml
、def.yaml
- 複数の設定ファイルを取得する
cloud:
nacos:
discovery:
config:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
group: DEFAULT_GROUP
file-extension: yaml
#获取多个配置文件
ext-config[0]:
data-id: abc.yaml
group: DEFAULT_GROUP
refresh: true #扩展dataId 的动态刷新
ext-config[1]:
data-id: def.yaml
group: DEFAULT_GROUP
refresh: true
- サービスを再起動する
- nacos の設定を変更し、インターフェイスを再表示します (拡張設定ファイルは動的に更新されます)。
dataId の優先順位の問題
優先度: ルールに従って生成された dataId > 拡張 dataId (拡張 dataId の場合、[n] n が大きいほど優先度が高くなります)
-
設定
m-service-resume.yaml
をコピーし、番号を 300、400 に変更します。my.message
abc.yaml
def.yaml
-
プロジェクトを再起動すると、その結果が
-
拡張設定ファイル、新しい設定項目間の優先順位
-
結果