Spring Cloud Alibaba 教程 | Nacos(四)


Nacos環境隔離

Nacos管理台有一個單獨的菜單“命名空間”,里面默認存在一個名為“public”的默認命名空間,我們在使用Nacos時不管是作為注冊中心還是配置中心,都是作用在該命名空間之下的,那么這個命名空間到底起着什么作用呢?其實Nacos基於Namespace幫助用戶邏輯隔離多個命名空間,這可以幫助用戶更好的管理測試、預發、生產等多環境服務和配置,讓每個環境的同一個配置(如數據庫數據源)可以定義不同的值。

在這里插入圖片描述
我們明白了namespace是為了起到了環境隔離作用而出現的,其實不光是namespace,group和Data Id也可以起到環境隔離的作用。Data Id的值為:${spring.cloud.nacos.config.prefix}- ${spring.profile.active}. ${spring.cloud.nacos.config.file-extension},而spring.profiles.active是可以區分不同環境的。所以如何合理使用namespace、group和Data Id去區分不同的環境,是我們在使用Nacos時必須要仔細考慮的一個問題。
在這里插入圖片描述

經典案例

Nacos是阿里巴巴工程師編寫的,是運用在大規模平台項目當中的,所以站在他們的角度思考問題會讓我們更加理解他們這樣設計環境隔離的目的。假設我們現在要做一個大平台項目,大平台項目會為各個企業提供服務支持,同時不同的企業還存在不同的子項目,並且每個子項目都需要有多個配置環境,如下圖:
在這里插入圖片描述
面對這種需求時合理使用Nacos的環境隔離策略更夠讓我們節省不少的時間成本。

  • 對於不同企業這一層我們可以使用namespace進行區分。
  • 對於企業下面不同子項目我們可以使用group進行區分。
  • 對於每個子項目不同的環境我們可以使用Data Id進行區分。

根據上面的環境隔離策略,假如我們需要添加一個B企業下面的B子項目的nacos-provider模塊的測試環境配置,那么可以這樣配置:

第一步:添加命名空間B企業。
在這里插入圖片描述
第二步:配置列表添加配置文件,group代表項目,Data Id代表模塊以及不同的運行環境。
在這里插入圖片描述
在這里插入圖片描述
第三步:修改nacos-provider模塊指定namespace、group和active。
在這里插入圖片描述
第四步:運行nacos-provider模塊驗證結果。
在這里插入圖片描述
在這里插入圖片描述

第五步:使用啟動參數指定環境。這樣雖然實現了環境隔離,但是是硬編碼的方式,因為我們在bootstrap.yml寫死了環境參數,實際開發中應該使用啟動參數來指定。

-Dspring.cloud.nacos.config.namespace=bb9f6e91-3455-4020-903f-6a2726284e62
-Dspring.cloud.nacos.config.group=project_B
-Dspring.profiles.active=TEST

在這里插入圖片描述

關注公眾號了解更多原創博文

![Alt](https://img-blog.csdnimg.cn/20191104123907694.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA3Mzk1NTE=,size_16,color_FFFFFF,t_70#pic_center =591x339)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM