Nacos配置中心介紹及實踐

2022-09-10 03:48:13 字數 4341 閱讀 5093

nacos配置中心

一、配置中心介紹

1、spring cloud config

spring cloud config 為分布式系統的外部配置提供了服務端和客戶端的支援方案。在配置的服務端您可以在所有環境中為應用程式管理外部屬性的中心位置。客戶端和服務端概念上的spring environment 和 propertysource 抽象保持同步, 它們非常適合spring應用程式,但是可以與任何語言中執行的應用程式一起使用。當應用程式在部署管道中從乙個開發到測試直至進入生產時,您可以管理這些環境之間的配置,並確保應用程式在遷移時具有它們需要執行的所有內容。伺服器儲存後端的預設實現使用git,因此它很容易支援標記版本的配置環境,並且能夠被管理內容的各種工具訪問。很容易新增替代的實現,並用spring配置將它們插入。

spring cloud config 包含了client和server兩個部分,server提供配置檔案的儲存、以介面的形式將配置檔案的內容提供出去,client通過介面獲取資料、並依據此資料初始化自己的應用。spring cloud使用git或svn存放配置檔案,預設情況下使用git。

2、nacos替換config

nacos 可以與 spring, spring boot, spring cloud 整合,並能代替 spring cloud eureka, spring cloud config。通過 nacos server 和 spring-cloud-starter-alibaba-nacos-config 實現配置的動態變更。

(1)應用場景

在系統開發過程中,開發者通常會將一些需要變更的引數、變數等從**中分離出來獨立管理,以獨立的配置檔案的形式存在。目的是讓靜態的系統工件或者交付物(如 war,jar 包等)更好地和實際的物理執行環境進行適配。配置管理一般包含在系統部署的過程中,由系統管理員或者運維人員完成。配置變更是調整系統執行時的行為的有效手段。

如果微服務架構中沒有使用統一配置中心時,所存在的問題:

二、讀取nacos配置中心的配置檔案

1、啟動nacos服務

2、進入nacos管理頁面,預設使用者名稱和密碼nacos

3、在nacos配置中心建立配置檔案

(1)點選建立按鈕

(2)輸入配置資訊

上邊的配置資訊就是之前properties配置檔案的值,我的如下:

複製**

server.port=8008

spring.datasource.driver-class-name=com.mysql.jdbc.driver

spring.datasource.url=jdbc:mysql://localhost:3306/zxjy?servertimezone=gmt%2b8&usessl=false

spring.datasource.username=root

spring.datasource.password=123

spring.jackson.date-format=yyyy-mm-dd hh:mm:ss

spring.jackson.time-zone=gmt+8

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.stdoutimpl

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

複製**

a)data id 的完整規則格式如下

$-$.$

spring.profiles.active=dev 即為當前環境對應的 profile。 注意:當 spring.profiles.active 為空時,對應的連線符 - 也將不存在,dataid 的拼接格式變成 $.$

file-exetension 為配置內容的資料格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支援 properties 和 yaml 型別。

4、新增依賴

org.springframework.cloud

spring-cloud-starter-alibaba-nacos-config

5、建立bootstrap.properties配置檔案

複製**

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

6、補充:springboot配置檔案載入順序

其實yml和properties檔案是一樣的原理,且乙個專案上要麼yml或者properties,二選一的存在。推薦使用yml,更簡潔。

7、修改專案bootstrap.properties配置檔案,新增一行配置(用於配置多個開發環境)

1、修改專案bootstrap.properties配置檔案,新增一行配置

2、當配置 檔案新增上面那行配置之後,之前建立配置檔案讀取不到了,需要按照新的規則建立配置檔案

3、建立新的配置檔案內容

三、命名空間切換環境

在實際開發中,通常有多套不同的環境(預設只有public),那麼這個時候可以根據指定的環境來建立不同的namespce,例如,開發、測試和生產三個不同的環境,那麼使用一套 nacos 集群可以分別建以下三個不同的 namespace。以此來實現多環境的隔離。

1、建立命名空間

預設只有public,新建了dev、test和prod命名空間

2、在不同命名空間建立配置檔案

兩種方式:

第一,切換到每個命名空間,新增乙個新的配置檔案。缺點:每個環境都要重複配置類似的專案

第二,直接通過clone方式新增配置,並修改即可。推薦

我選擇轉殖到dev,在dev配置列表就看見剛才轉殖過來的配置檔案。

為了區分,修改一下每個配置檔案的埠號(配置列表->編輯)

3.在專案模組中,修改bootstrap.properties新增如下配置

複製**

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

spring.profiles.active=dev

spring.cloud.nacos.config.namespace=13b5c197-de5b-47e7-9903-ec0538c9db01

複製**

四、多配置檔案載入

在一些情況下需要載入多個配置檔案。假如現在dev命名空間下有三個配置檔案:service-statistics.properties、redis.properties、jdbc.properties

1、service-statistics配置檔案的內容

複製**

server.port=8008

spring.datasource.driver-class-name=com.mysql.jdbc.driver

spring.datasource.url=jdbc:mysql://localhost:3306/zxjy?servertimezone=gmt%2b8&usessl=false

spring.datasource.username=root

spring.datasource.password=123

spring.jackson.date-format=yyyy-mm-dd hh:mm:ss

spring.jackson.time-zone=gmt+8

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.stdoutimpl

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

複製**

2、修改一下service-statistics-dev.properties配置檔案的埠號,把埠號單獨抽離出來,在配置列表,找到編輯,把服務埠去掉,然後發布。

3、新建port.properties配置檔案,配置內容是服務埠

4、修改專案配置檔案,載入nacos多個配置檔案

如果只有乙個配置檔案,就新增乙個就可以,從0開始,多個依次新增

複製**

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

spring.profiles.active=dev

spring.cloud.nacos.config.namespace=dd209508-d54b-4625-897e-506c1092e43e

spring.cloud.nacos.config.ext-config[0].data-id=port.properties

spring.cloud.nacos.config.ext-config[0].refresh=true

複製**

5、在idea啟動專案,看tomcat埠號是否是剛才配置的8333

Nacos 微服務配置中心介紹

三 nacos基礎 四 一些思考 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img zmcpjvtb 1585720730083 nacos是阿里開源的乙個微服務配置中心,其官方宣傳 乙個更易於構建雲原生應用的動態服務發現 配置管理和服務管理平台。目前是github的乙個明星專案,...

Nacos配置中心

在這篇文章中整合了springboot,並且作為註冊中心,接下來繼續整合配置中心。1 新增依賴 com.alibaba.cloud spring cloud starter alibaba nacos config 2.2.1.release 2 在控制台直接配置屬性 配置yml檔案 spring ...

Nacos 配置中心

nacos 致力於幫助您發現 配置和管理微服務。nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現 服務配置 服務元資料及流量管理。官方文件 unzip nacos server 1.3.1.zip cd nacos bin啟動命令 standalone代表著單機模式執行,非集群模式...