3.1 服務(wù)發(fā)現(xiàn)數(shù)據(jù)模型
Nacos在經(jīng)過(guò)阿里內(nèi)部多年生產(chǎn)經(jīng)驗(yàn)后提煉出的數(shù)據(jù)模型,則是一種服務(wù)-集群-實(shí)例的三層模型,這樣基本可以滿足服務(wù)在所有場(chǎng)景下的數(shù)據(jù)存儲(chǔ)和管理。

命名空間(Namespace)
用于進(jìn)行租戶粒度的配置隔離,命名空間不僅適用于Nacos的配置管理,同樣適用于服務(wù)發(fā)現(xiàn)。Namespace 的常用場(chǎng)景之一是不同環(huán)境的配置的區(qū)分隔離,例如開(kāi)發(fā)測(cè)試環(huán)境和生產(chǎn)環(huán)境的資源(如配置、服務(wù))隔離等。
服務(wù)
提供給客戶端的軟件功能,通過(guò)預(yù)定義接口網(wǎng)絡(luò)訪問(wèn)。
服務(wù)名
服務(wù)提供的標(biāo)識(shí),通過(guò)該標(biāo)識(shí)可以唯一確定其指代的服務(wù)。
實(shí)例
提供一個(gè)或多個(gè)服務(wù)的具有可訪問(wèn)網(wǎng)絡(luò)地址(IP:Port)的進(jìn)程,啟動(dòng)一個(gè)服務(wù),就產(chǎn)生了一個(gè)服務(wù)實(shí)例。
元信息
Nacos數(shù)據(jù)(如配置和服務(wù))描述信息,如服務(wù)版本、權(quán)重、容災(zāi)策略、負(fù)載均衡策略、鑒權(quán)配置、各種自定義標(biāo)簽 (Label),從作用范圍來(lái)看,分為服務(wù)級(jí)別的元信息、集群的元信息及實(shí)例的元信息。
集群
服務(wù)實(shí)例的集合,服務(wù)實(shí)例組成一個(gè)默認(rèn)集群,集群可以被進(jìn)一步按需求劃分,劃分的單位可以是虛擬集群,相同集群下的實(shí)例才能相互感知。
3.2 指定命名空間與集群名稱
(1) 修改配置文件
server:
port: 56110
spring:
application:
name: feign-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
# 指定命名空間id
namespace: 470cd824-4b0a-4001-bcac-8491cf2987f8
cluster-name: DEFAULT
(2) 在Nacos控制臺(tái)查看

3.3 服務(wù)管理
開(kāi)發(fā)者或者運(yùn)維人員往往需要在服務(wù)注冊(cè)后,通過(guò)友好的界面來(lái)查看服務(wù)的注冊(cè)情況,包括當(dāng)前系統(tǒng)注冊(cè)的所有服務(wù)和每個(gè)服務(wù)的詳情。并在有權(quán)限控制的情況下,進(jìn)行服務(wù)的一些配置的編輯操作。Nacos在目前最新版本開(kāi)放的控制臺(tái)的服務(wù)發(fā)現(xiàn)部分,主要就是提供用戶一個(gè)基本的運(yùn)維頁(yè)面,能夠查看、編輯當(dāng)前注冊(cè)的服務(wù),這些功能集中在Nacos控制臺(tái)的服務(wù)管理一級(jí)菜單內(nèi)。
3.3.1 服務(wù)列表管理
服務(wù)列表幫助用戶以統(tǒng)一的視圖管理其所有的微服務(wù)以及服務(wù)健康狀態(tài)。整體界面布局是左上角有服務(wù)的搜索框和搜索按鈕,頁(yè)面中央是服務(wù)列表的展示。服務(wù)列表主要展示服務(wù)名、集群數(shù)目、實(shí)例數(shù)目、健康實(shí)例數(shù)目和詳情按鈕五個(gè)欄目。

在服務(wù)列表頁(yè)面點(diǎn)擊詳情,可以看到服務(wù)的詳情??梢圆榭捶?wù)、集群和實(shí)例的基本信息。
3.3.2 服務(wù)流量權(quán)重支持及流量保護(hù)
Nacos為用戶提供了流量權(quán)重控制的能力,同時(shí)開(kāi)放了服務(wù)流量的閾值保護(hù),以幫助用戶更好的保護(hù)服務(wù)提供者集群不被意外打垮。如下圖所以,可以點(diǎn)擊實(shí)例的編輯按鈕,修改實(shí)例的權(quán)重。如果想增加實(shí)例的流量,可以將權(quán)重調(diào)大,如果不想實(shí)例接收流量,則可以將權(quán)重設(shè)為0。

3.3.3 服務(wù)元數(shù)據(jù)管理
Nacos提供多個(gè)維度的服務(wù)元數(shù)據(jù)的暴露,幫助用戶存儲(chǔ)自定義的信息。這些信息都是以K-V的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),在控制臺(tái)上,會(huì)以k1=v1,k2=v2這樣的格式展示。同樣,編輯元數(shù)據(jù)可以通過(guò)相同的格式進(jìn)行。例如服務(wù)的元數(shù)據(jù)編輯,首先點(diǎn)擊服務(wù)詳情頁(yè)右上角的“編輯服務(wù)”按鈕,然后在元數(shù)據(jù)輸入框輸入:version=1.0

點(diǎn)擊確認(rèn),就可以在服務(wù)詳情頁(yè)面,看到服務(wù)的元數(shù)據(jù)已經(jīng)更新了。

3.2.4 服務(wù)優(yōu)雅上下線
Nacos還提供服務(wù)實(shí)例的上下線操作,在服務(wù)詳情頁(yè)面,可以點(diǎn)擊實(shí)例的“上線”或者“下線”按鈕,被下線的實(shí)例,將不會(huì)包含在健康的實(shí)例列表里。

下線后的實(shí)例將不再被訪問(wèn),與權(quán)重為0效果一致