十二 Nacos Config 服務配置

2021-10-11 10:04:40 字數 2225 閱讀 3970

目錄

服務配置中心介紹

nacos config入門

配置共享

配置中心的思路是:

當加入了服務配置中心之後,我們的系統架構圖會變成下面這樣:

在業界常見的服務配置中心,有下面這些:

使用nacos作為配置中心,其實就是將nacos當做乙個服務端,將各個微服務看成是客戶端,我們將各個微服務的配置檔案統一存放在nacos上,然後各個微服務從nacos上拉取配置即可。

1、 搭建nacos環境【使用之前的nacos環境即可】

2、 在shop-product微服務中引入nacos的依賴

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-config

3、 在微服務中新增nacos config的配置

在shop-product微服務中新建bootstrap.yml配置

spring:

name: service-product

cloud:

nacos:

config:

server-addr: localhost:8848 #nacos的服務端位址

file-extension: yaml #配置格式

profiles:

active: dev #開發

配置動態重新整理

在nacos中的service-product-dev.yaml配置項中新增下面配置:

config:
方式一: 硬編碼方式,直接支援在nacos的配置檔案修改值後,實時重新整理

public string testconfig()

方式二: 註解方式(推薦)

public string testconfig2()

要想實現實時重新整理需要在controller層加上註解:@refreshscope

同乙個微服務的不同環境之間共享配置1、 新建乙個名為service-product.yaml配置存放商品微服務的公共配置(是以data id 的方式,公共檔案不加環境的字尾,如:-dev)

2、 新建乙個名為service-product-test.yaml配置存放測試環境的配置

3、測試

public string testconfig3()

接下來,修改bootstrap.yml中的配置,將active設定成test,再次訪問,觀察結果

不同微服務中間共享配置

不同為服務之間實現配置共享的原理類似於檔案引入,就是定義乙個公共配置,然後在當前配置中引入。

1、 在nacos中定義乙個dataid為all-service.yaml(名字可以隨便取)的配置,用於所有微服務共享

將原service-product.yaml的內容複製放入all-service.yaml中,然後刪掉service-product.yaml的配置

2、 修改bootstrap.yaml

nacos的幾個概念

可以在bootstrap.yaml中指定命名空間

nacos config原始碼解析

1.首先我們先看weta inf下面的配置,spring.factories 2.應用啟動會先載入nacosconfigbootstrapconfiguration類,初始化nacosconfigproperties nacosconfigmanager nacospropertysourceloc...

Nacos Config 客戶端的使用

此處我們以之前建立的服務提供者專案為例 在pom.xml中增加org.springframework.cloud spring cloud starter alibaba nacos config依賴 org.springframework.cloud spring cloud starter al...

Nacos Config配置中心,動態改變配置

nacos 中建立的properties 名字和此對應 gulimall coupon.properties nacos位址 spring.cloud.nacos.config.server addr 127.0.0.1 8848 nacos中的命名空間,可以按 不同服務分命名空間,按不同的時間段分...