无法加入nacos服务列表_Nacos 1.1.1 发布,支持灰度配置和地址服务器模式
Nacos 是阿里巴巴開(kāi)源的配置中心和服務(wù)發(fā)現(xiàn)產(chǎn)品,開(kāi)源距今已經(jīng)超過(guò)一年的時(shí)間。本次1.1.0的發(fā)布,帶來(lái)了許多重量級(jí)的特性更新,包括灰度配置等社區(qū)呼聲很高的特性,下面會(huì)介紹1.1.0版本發(fā)布的新特性和每個(gè)特性的使用方式。
升級(jí)指南
Server端
0.8.0及以上版本:
0.8.0以下版本,先升級(jí)到1.0.0版本。
Client端
請(qǐng)使用最新的1.1.1版本,修復(fù)了1.1.0版本的一個(gè)客戶端版本顯示問(wèn)題。
新增特性
- 灰度配置
- 配置導(dǎo)入導(dǎo)出及配置同步
- 地址服務(wù)器模塊
- 服務(wù)訂閱者列表
- 自定義實(shí)例心跳周期
- Config監(jiān)聽(tīng)器優(yōu)化
- Nacos Go SDK發(fā)布
灰度配置
@yanlinly @loadchange
灰度配置指的是指定部分客戶端IP進(jìn)行新配置的下發(fā),其余客戶端配置保持不變,用以驗(yàn)證新配置對(duì)客戶端的影響,保證配置的平穩(wěn)發(fā)布。灰度配置是生產(chǎn)環(huán)境中一個(gè)比較重要的功能,對(duì)于保證生產(chǎn)環(huán)境的穩(wěn)定性非常重要。在1.1.0中,Nacos 支持了以IP為粒度的灰度配置,具體使用步驟如下:
1、 在配置列表頁(yè)面,點(diǎn)擊某個(gè)配置的“編輯配置”按鈕:
2、勾選“Beta發(fā)布”,在文本框里填入要下發(fā)配置的IP,多個(gè)IP用逗號(hào)分隔:
3、 修改配置內(nèi)容,點(diǎn)擊“發(fā)布Beta”按鈕,即可完成灰度配置的發(fā)布:
4、 點(diǎn)擊“發(fā)布Beta”后,“發(fā)布Beta”按鈕變灰,此時(shí)可以選擇“停止Beta”或者“發(fā)布”。“停止Beta”表示取消停止灰度發(fā)布,當(dāng)前灰度發(fā)布配置的IP列表和配置內(nèi)容都會(huì)刪除,頁(yè)面回到正常發(fā)布的樣式。“發(fā)布”表示將灰度配置在所有客戶端生效,之前的配置也會(huì)被覆蓋,同時(shí)頁(yè)面回到正常發(fā)布的樣式:
配置導(dǎo)入導(dǎo)出及配置同步
@KeRan213539
配置管理的另一個(gè)常見(jiàn)需求是能夠?qū)⒁粋€(gè)集群的配置同步到另外一個(gè)集群,或者從一個(gè)命名空間同步到另外一個(gè)命名空間。來(lái)自社區(qū)的貢獻(xiàn)者KeRan213539貢獻(xiàn)這個(gè)非常實(shí)用的功能,具體使用步驟如下:
1、 導(dǎo)出查詢結(jié)果。可以根據(jù)查詢條件,將當(dāng)期查詢出的所有結(jié)果打包為一個(gè)文件:
2、 導(dǎo)出選中的配置:
3、 導(dǎo)入配置,可以選擇相同配置的處理策略。
當(dāng)發(fā)現(xiàn)有相同的配置時(shí),會(huì)有相應(yīng)的提示:
同時(shí)如果導(dǎo)入的配置文件格式不符合要求,也會(huì)有相應(yīng)的提示:
4、 配置同步,選取想要同步的配置,點(diǎn)擊“克隆”,然后再選擇要同步的目標(biāo)命名空間,就可以將配置同步到對(duì)應(yīng)的命名空間:
5、 導(dǎo)入導(dǎo)出文件格式說(shuō)明。均為zip壓縮包,壓縮包內(nèi)有多個(gè)目錄,目錄名為配置的 group,目錄下有具體的文件,文件名為配置的 dataId ,每個(gè)文件的內(nèi)容為配置具體的內(nèi)容:
地址服務(wù)器模塊
@pbting
1.1.0的安裝包列表里多了一個(gè)nacos-address-server-1.1.0。這個(gè)安裝包的作用是作為地址服務(wù)器模塊,單獨(dú)部署。關(guān)于地址服務(wù)器的介紹可以參考Nacos官網(wǎng)地址服務(wù)器文章,這里只做一個(gè)簡(jiǎn)單的說(shuō)明。
一般中間件產(chǎn)品,客戶端尋址服務(wù)端的方式都是在客戶端配置服務(wù)端的地址列表,這樣有一個(gè)缺點(diǎn)是當(dāng)服務(wù)端的地址發(fā)生變動(dòng)時(shí),客戶端無(wú)法實(shí)時(shí)的感知到,也無(wú)法動(dòng)態(tài)調(diào)整訪問(wèn)的服務(wù)端集群。而在阿里巴巴的一種比較常見(jiàn)的客戶端尋址服務(wù)端的方式是地址服務(wù)器。簡(jiǎn)單的說(shuō)就是部署單獨(dú)的地址服務(wù)器,地址服務(wù)器提供接口,獲取相關(guān)中間件產(chǎn)品服務(wù)端集群的地址。由于地址服務(wù)器功能比較單一,因此穩(wěn)定性比較容易保證。客戶端只需要配置地址服務(wù)器的域名,通過(guò)地址服務(wù)器獲取想要訪問(wèn)的中間件的集群地址,這樣既保證能夠感知中間件集群的動(dòng)態(tài)變化,也能夠?yàn)榭蛻舳伺渲酶`活的集群訪問(wèn)策略。
下面介紹地址服務(wù)器模塊的使用。
安裝包會(huì)生成在distribution/target目錄下。
服務(wù)訂閱者列表
@nicholas2015
服務(wù)訂閱者列表是1.1.0增加的另外一個(gè)功能,就是可以在控制臺(tái)上查看一個(gè)服務(wù)的消費(fèi)者,執(zhí)行步驟如下:
服務(wù)自定義心跳周期
@lanCao
之前的版本中,客戶端注冊(cè)服務(wù)時(shí),不能自定義上報(bào)心跳的周期以及客戶端下線時(shí)自動(dòng)刪除實(shí)例的間隔。在1.1.0中,我們支持了這個(gè)特性,應(yīng)用可以在注冊(cè)時(shí),通過(guò)設(shè)置實(shí)例的metadata,來(lái)指定心跳周期、健康檢查過(guò)期時(shí)間及刪除實(shí)例時(shí)間。具體舉例如下:
String serviceName = randomDomainName();Instance instance = new Instance(); instance.setIp("1.1.1.1"); instance.setPort(9999); Map<String, String> metadata = new HashMap<String, String>(); // 設(shè)置心跳的周期,單位為秒,這里將心跳間隔設(shè)置為3秒: metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL, "3"); // 設(shè)置心跳超時(shí)時(shí)間,單位為秒,這里將心跳超時(shí)時(shí)間設(shè)為6秒, // 即服務(wù)端6秒收不到客戶端心跳,會(huì)將該客戶端注冊(cè)的實(shí)例設(shè)為不健康: metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT, "6"); // 設(shè)置實(shí)例刪除的超時(shí)時(shí)間,單位為秒,這里將實(shí)例刪除超時(shí)時(shí)間設(shè)為9秒, // 即服務(wù)端9秒收不到客戶端心跳,會(huì)將該客戶端注冊(cè)的實(shí)例刪除: metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT, "9"); instance.setMetadata(metadata);naming.registerInstance(serviceName, instance);Config 監(jiān)聽(tīng)器的優(yōu)化
@chuntaojun
當(dāng)存在程序啟動(dòng)之初,如果用戶通過(guò)ConfigService.getConfig獲取配置的同時(shí),又注冊(cè)了監(jiān)聽(tīng)器,那么會(huì)存在監(jiān)聽(tīng)器再次通知用戶剛剛獲取的配置信息。因此在version 1.1.0版本中,增加了新的接口以及一個(gè)系統(tǒng)參數(shù)(使用戶無(wú)需修改現(xiàn)有代碼)
該方法在獲取配置后,隨即注冊(cè)一個(gè)監(jiān)聽(tīng)器,避免監(jiān)聽(tīng)器通知用戶剛剛才拉取的配置信息nacos.enableRemoteSyncConfig=true | false
設(shè)置該系統(tǒng)參數(shù),將在監(jiān)聽(tīng)器注冊(cè)時(shí)主動(dòng)去向遠(yuǎn)端拉取當(dāng)前最新的配置信息,但是存在一定的網(wǎng)絡(luò)開(kāi)銷,因此建議用戶采取接口的方式
Nacos Go SDK
@lzp0412 @peggypig @atlanssia
Nacos 上周還發(fā)布了Go語(yǔ)言的 SDK ,目前發(fā)布了0.1.0-beta版本,倉(cāng)庫(kù)地址是:https://github.com/nacos-group/nacos-sdk-go。Nacos Go SDK是單獨(dú)的倉(cāng)庫(kù),由Nacos Committer參與維護(hù),在代碼上不屬于Nacos 1.1.0。在此也非常歡迎社區(qū)的Go語(yǔ)言高手,參與Nacos Go SDK的演進(jìn)。
如何共建
為了實(shí)現(xiàn)這一目標(biāo),你需要積極參與 Nacos 社區(qū)。如果您在文檔中發(fā)現(xiàn)拼寫(xiě)錯(cuò)誤,在代碼中發(fā)現(xiàn)錯(cuò)誤,或想要新功能或想要提供建議,您可以在GitHub上創(chuàng)建一個(gè)issues。
如果您想開(kāi)始著手,可以選擇github倉(cāng)庫(kù)中有以下標(biāo)簽的issues。
- good first issue:對(duì)于新手來(lái)說(shuō)是非常好的入門(mén)issues。
- contribution welcome:非常需要解決的問(wèn)題和非常重要的模塊,但目前缺少貢獻(xiàn)者,歡迎貢獻(xiàn)者來(lái)貢獻(xiàn)。
蓬勃發(fā)展的 Nacos 社區(qū)
DISS is cheap, show me your hand比吐槽更重要的是搭把手,參與社區(qū)一起發(fā)展 Nacos
- 作為用戶關(guān)注和加入 Nacos 社區(qū)
Nacos 社區(qū)正在蓬勃發(fā)展,截止到發(fā)文為止,Nacos 已經(jīng)有 9 個(gè)微信群,其中 7 個(gè)已滿員,1個(gè)QQ群,1個(gè)釘釘群,關(guān)注 Nacos 的社區(qū)人數(shù)已經(jīng)近5000人,在 Nacos 群里跟 “道(基)友” 切磋技術(shù),交流經(jīng)驗(yàn),招聘交友,搶搶紅包...不亦樂(lè)乎。
- 作為代碼貢獻(xiàn)者加入 Nacos 社區(qū)
為了能夠與代碼貢獻(xiàn)者更方便的交流,我們組建了釘釘群“Nacos社區(qū)核心貢獻(xiàn)小組(23335652)”,這個(gè)群里都是都是對(duì)Nacos貢獻(xiàn)非常感興趣的小伙伴,如果你也想成為Nacos貢獻(xiàn)者,甚至成為Committer,歡迎加入這個(gè)群和群里的小伙伴一起切磋!
在 Nacos 官網(wǎng) nacos.io 中,已經(jīng)添加團(tuán)隊(duì)介紹頁(yè),里面包括Nacos的開(kāi)發(fā)者角色定義及職責(zé)劃分,同時(shí)包含了Naocs的開(kāi)發(fā)者們介紹和靚照哦,歡迎大家加入Nacos社區(qū),貢獻(xiàn)社區(qū)。用Apache的話說(shuō),“社區(qū)高于代碼”!
新人時(shí)刻 - "什么是Nacos?"
還不知道什么是 Nacos ? 沒(méi)關(guān)系,在github上star一下跟程序猿兄弟打個(gè)招呼吧!!Nacos 是阿里巴巴于2018年7月份新開(kāi)源的項(xiàng)目,Nacos的主要愿景是期望通過(guò)提供易用的 動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置管理、服務(wù)共享與管理 的基礎(chǔ)設(shè)施,幫助用戶在云原生時(shí)代更好的構(gòu)建、交付、管理自己的微服務(wù)平臺(tái)。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的无法加入nacos服务列表_Nacos 1.1.1 发布,支持灰度配置和地址服务器模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 失控发票是什么意思
- 下一篇: 投资小利润高的养殖业 农村创业者一定得知