SpringCloudAlibabaNacos怎么實現(xiàn)多環(huán)境管理

本篇內(nèi)容主要講解“Spring Cloud Alibaba Nacos怎么實現(xiàn)多環(huán)境管理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring Cloud Alibaba Nacos怎么實現(xiàn)多環(huán)境管理”吧!

創(chuàng)新互聯(lián)專注于網(wǎng)站建設,為客戶提供網(wǎng)站制作、網(wǎng)站建設、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

在Nacos中,本身有多個不同管理級別的概念,包括:Data ID、Group、Namespace。只要利用好這些層級概念的關系,就可以根據(jù)自己的需要來實現(xiàn)多環(huán)境的管理。

下面,我就來介紹一下,可以使用的幾種實現(xiàn)方式:

使用Data IDprofiles實現(xiàn)

Data ID在Nacos中,我們可以理解為就是一個Spring Cloud應用的配置文件名。我們知道默認情況下Data ID的名稱格式是這樣的:${spring.application.name}.properties,即:以Spring Cloud應用命名的properties文件。

實際上,Data ID的規(guī)則中,還包含了環(huán)境邏輯,這一點與Spring Cloud Config的設計類似。我們在應用啟動時,可以通過spring.profiles.active來指定具體的環(huán)境名稱,此時客戶端就會把要獲取配置的Data ID組織為:${spring.application.name}-${spring.profiles.active}.properties。

實際上,更原始且最通用的匹配規(guī)則,是這樣的:${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}。而上面的結(jié)果是因為${spring.cloud.nacos.config.prefix}${spring.cloud.nacos.config.file-extension}都使用了默認值。

動手試一試

我們可以用上一篇中的列子為基礎,體驗一下這種區(qū)分環(huán)境的配置方式。

第一步:先在Nacos中,根據(jù)這個規(guī)則,創(chuàng)建兩個不同環(huán)境的配置內(nèi)容。比如:

Spring Cloud Alibaba Nacos怎么實現(xiàn)多環(huán)境管理

如上圖,我們?yōu)?code>alibaba-nacos-config-client應用,定義了DEV和TEST的兩個獨立的環(huán)境配置。我們可以在里面定義不同的內(nèi)容值,以便后續(xù)驗證是否真實加載到了正確的配置。

第二步:在alibaba-nacos-config-client應用的配置文件中,增加環(huán)境配置:spring.profiles.active=DEV

使用Group實現(xiàn)

Group在Nacos中是用來對Data ID做集合管理的重要概念。所以,如果我們把一個環(huán)境的配置視為一個集合,那么也就可以實現(xiàn)不同環(huán)境的配置管理。對于Group的用法并沒有固定的規(guī)定,所以我們在實際使用的時候,需要根據(jù)我們的具體需求,可以是架構運維上對多環(huán)境的管理,也可以是業(yè)務上對不同模塊的參數(shù)管理。為了避免沖突,我們需要在架構設計之初,做好一定的規(guī)劃。這里,我們先來說說如何用Group來實現(xiàn)多環(huán)境配置管理的具體實現(xiàn)方式。

動手試一試

第一步:先在Nacos中,通過區(qū)分Group來創(chuàng)建兩個不同環(huán)境的配置內(nèi)容。比如:

Spring Cloud Alibaba Nacos怎么實現(xiàn)多環(huán)境管理

第二步:在配置列表的最上方,可以看到除了Public之外,多了幾個剛才創(chuàng)建的Namepsace。分別在DEVTEST空間下為alibaba-nacos-config-client應用創(chuàng)建配置內(nèi)容:

第三步:在alibaba-nacos-config-client應用的配置文件中,增加Namespace的指定配置,比如:spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a

這里需要注意namespace的配置不是使用名稱,而是使用Namespace的ID。

第四步:啟動應用,通過訪問localhost:8001/test接口,驗證一下返回內(nèi)容是否正確。這種方式下,目前版本的日志并不會輸出與Namespace相關的信息,所以還無法以此作為加載內(nèi)容的判斷依據(jù)。

深入思考

上面我們分別利用Nacos配置管理功能中的幾個不同緯度來實現(xiàn)多環(huán)境的配置管理。從結(jié)果上而言,不論用哪一種方式,都能夠勝任需求,但是哪一種最好呢?

第一種:通過Data IDprofile實現(xiàn)。

  • 優(yōu)點:這種方式與Spring Cloud Config的實現(xiàn)非常像,用過Spring Cloud Config的用戶,可以毫無違和感的過渡過來,由于命名規(guī)則類似,所以要從Spring Cloud Config中做遷移也非常簡單。

  • 缺點:這種方式在項目與環(huán)境多的時候,配置內(nèi)容就會顯得非?;靵y。配置列表中會看到各種不同應用,不同環(huán)境的配置交織在一起,非常不利于管理。

  • 建議:項目不多時使用,或者可以結(jié)合Group對項目根據(jù)業(yè)務或者組織架構做一些拆分規(guī)劃。

第二種:通過Group實現(xiàn)。

  • 優(yōu)點:通過Group按環(huán)境講各個應用的配置隔離開??梢苑浅7奖愕睦?code>Data ID和Group的搜索功能,分別從應用緯度和環(huán)境緯度來查看配置。

  • 缺點:由于會占用Group緯度,所以需要對Group的使用做好規(guī)劃,畢竟與業(yè)務上的一些配置分組起沖突等問題。

  • 建議:這種方式雖然結(jié)構上比上一種更好一些,但是依然可能會有一些混亂,主要是在Group的管理上要做好規(guī)劃和控制。

第三種:通過Namespace實現(xiàn)。

  • 優(yōu)點:官方建議的方式,通過Namespace來區(qū)分不同的環(huán)境,釋放了Group的自由度,這樣可以讓Group的使用專注于做業(yè)務層面的分組管理。同時,Nacos控制頁面上對于Namespace也做了分組展示,不需要搜索,就可以隔離開不同的環(huán)境配置,非常易用。

  • 缺點:沒有啥缺點,可能就是多引入一個概念,需要用戶去理解吧。

  • 建議:直接用這種方式長遠上來說會比較省心。雖然可能對小團隊而言,項目不多,第一第二方式也夠了,但是萬一后面做大了呢?

注意:不論用哪一種方式實現(xiàn)。對于指定環(huán)境的配置(spring.profiles.active=DEV、spring.cloud.nacos.config.group=DEV_GROUP、spring.cloud.nacos.config.namespace=83eed625-d166-4619-b923-93df2088883a),都不要配置在應用的bootstrap.properties中。而是在發(fā)布腳本的啟動命令中,用-Dspring.profiles.active=DEV的方式來動態(tài)指定,會更加靈活!。

到此,相信大家對“Spring Cloud Alibaba Nacos怎么實現(xiàn)多環(huán)境管理”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

本文題目:SpringCloudAlibabaNacos怎么實現(xiàn)多環(huán)境管理
文章分享:http://muchs.cn/article8/jeheop.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈品牌網(wǎng)站制作、搜索引擎優(yōu)化商城網(wǎng)站、外貿(mào)網(wǎng)站建設微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設