nacos如何做配置中心?自带自动刷新配置功能?这一篇文章让你明明白白!
目錄
nacos做配置中心
pom加上:
bootstrap.yml(優先級高于application.yml)
application.yml
主啟動類
controller:
配置yml和nacos上配置名稱對應關系:
nacos做分類配置
Namespace+Group+Data ID三者關系?為什么這樣設計?
如何配置相應的命名空間、DataId、Group下面的配置文件呢?
總結
nacos做配置中心
pom加上:
<!--nacos-config--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!--nacos-discovery--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>bootstrap.yml(優先級高于application.yml)
# nacos配置 server:port: 3377spring:application:name: nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 #Nacos服務注冊中心地址config:server-addr: localhost:8848 #Nacos作為配置中心地址file-extension: yaml #指定yaml格式的配置# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension} # nacos-config-client-dev.yamlapplication.yml
spring:profiles:active: dev # 表示開發環境#active: test # 表示測試環境#active: info主啟動類
@EnableDiscoveryClient @SpringBootApplication public class NacosConfigClientMain3377 {public static void main(String[] args) {SpringApplication.run(NacosConfigClientMain3377.class, args);} }controller:
@RestController @RefreshScope //支持Nacos的動態刷新功能。 public class ConfigClientController {@Value("${config.info}")private String configInfo;@GetMapping("/config/info")public String getConfigInfo() {return configInfo;} }配置yml和nacos上配置名稱對應關系:
nacos做分類配置
Namespace+Group+Data ID三者關系?為什么這樣設計?
是什么:
? ? 類似Java里面的package名和類名。
? ? 最外層的namespace是可以用于區分部署環境的,Group和DataID邏輯上區分兩個目標對象。
默認情況:
? ? Namespace=public,Group=DEFAULT_GROUP,默認Cluster是DEFAULT
?
? ? Nacos默認的命名空間是public,Namespace主要用來實現隔離。
? ? 比如說我們現在有三個環境:開發、測試、生產環境,我們就可以創建三個Namespace,不同的Namesoace之間是隔離的。
?
? ? Group默認是DEFFAULT_GROUP,Group可以把不同的微服務劃分到同一個分組里面去。
?? ?
? ? Service就是微服務;一個Service可以包含多個Cluster(集群),Nacos默認Cluster是DEFAULT,Cluster是對指定微服務的一個虛擬劃分。
? ? 比方說為了容災,將Service微服務分別部署在了杭州機房和廣州機房。
? ? 這時就可以給杭州機房的Service微服務起一個集群名稱(HZ),給廣州機房的Service微服務起一個集群名稱(GZ),還可以盡量讓同一個機房的微服務互相調用,以提升性能。
?
? ? 最后是Instance,就是微服務的實例。
如何配置相應的命名空間、DataId、Group下面的配置文件呢?
# nacos配置 server:port: 3377spring:application:name: nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 #Nacos服務注冊中心地址config:server-addr: localhost:8848 #Nacos作為配置中心地址file-extension: yaml #指定yaml格式的配置group: DEV_GROUP #指定Groupnamespace: 7d8f0f5a-6a53-4785-9686-dd460158e5d4 #指定namespace的id# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension} # nacos-config-client-dev.yaml總結
相當于讀取到某個namespace下的某個DataId、某個Group的指定文件!
總結
以上是生活随笔為你收集整理的nacos如何做配置中心?自带自动刷新配置功能?这一篇文章让你明明白白!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nacos如何做注册中心?服务注册之后自
- 下一篇: nacos如何搭建集群?nacos+ng