訊息稱任天堂將為 Switch 推出新手柄
阿新 • • 發佈:2021-09-17
微服務配置檔案的問題
- 微服務專案太多 配置檔案太多不易修改
- 服務修改配置檔案後必須重啟才能生效
- 無法根據配置檔案切換執行環境
配置中心解決的問題:
- 無需重啟服務 修改配置檔案後直接生效
- 統一進行配置檔案管理
- 提供統一介面 服務根據介面拉取配置檔案
搭建配置中心
執行nacos server沒有什麼好說的
匯入spring cloud和spring cloud alibaba的配置檔案
<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2021.1</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2020.0.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
匯入nacos config包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
之前寫bootstrap配置檔案無法生效 原因是SpringBoot 2.4之後,為了適應雲原生,對基礎配置檔案使用方式做了調整。
所以還得匯入
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>
在nacos server中建立配置檔案
點選右上角+
字尾為yaml dataID必須和bootstartp.yml中的spring.application.name一致
配置nacos config
首先建立bootstrap配置檔案 並配置application name nacos server地址 還有配置檔案字尾
spring: application: name: nacos-config-demo cloud: nacos: config: # 配置檔案字尾 file-extension: YAML # 伺服器ip地址和埠號 server-addr: 10.0.4.3:8848 server: port: 7979
最後在controller中注入配置檔案的值 檢視配置檔案是否生效
@RestController
@RefreshScope
public class ConfigTestController {
@Value("${name}")
private String name;
@GetMapping("/myName")
public String sayMyName() {
return "my name is " + name;
}
}
修改配置檔案後 將會動態更新到服務中