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