服務(wù)注冊(cè)與發(fā)現(xiàn)

學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師

本節(jié)視頻

概述

在 Spring Cloud Netflix 階段我們采用 Eureka 做作為我們的服務(wù)注冊(cè)與發(fā)現(xiàn)服務(wù)器,現(xiàn)利用 Spring Cloud Alibaba 提供的 Nacos 組件替代該方案。

Nacos 官網(wǎng)

什么是 Nacos

Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。

Nacos 幫助您更敏捷和容易地構(gòu)建、交付和管理微服務(wù)平臺(tái)。 Nacos 是構(gòu)建以“服務(wù)”為中心的現(xiàn)代應(yīng)用架構(gòu) (例如微服務(wù)范式、云原生范式) 的服務(wù)基礎(chǔ)設(shè)施。

基本架構(gòu)及概念

服務(wù) (Service)

服務(wù)是指一個(gè)或一組軟件功能(例如特定信息的檢索或一組操作的執(zhí)行),其目的是不同的客戶端可以為不同的目的重用(例如通過跨進(jìn)程的網(wǎng)絡(luò)調(diào)用)。Nacos 支持主流的服務(wù)生態(tài),如 Kubernetes Service、gRPC|Dubbo RPC Service 或者 Spring Cloud RESTful Service.

服務(wù)注冊(cè)中心 (Service Registry)

服務(wù)注冊(cè)中心,它是服務(wù),其實(shí)例及元數(shù)據(jù)的數(shù)據(jù)庫。服務(wù)實(shí)例在啟動(dòng)時(shí)注冊(cè)到服務(wù)注冊(cè)表,并在關(guān)閉時(shí)注銷。服務(wù)和路由器的客戶端查詢服務(wù)注冊(cè)表以查找服務(wù)的可用實(shí)例。服務(wù)注冊(cè)中心可能會(huì)調(diào)用服務(wù)實(shí)例的健康檢查 API 來驗(yàn)證它是否能夠處理請(qǐng)求。

服務(wù)元數(shù)據(jù) (Service Metadata)

服務(wù)元數(shù)據(jù)是指包括服務(wù)端點(diǎn)(endpoints)、服務(wù)標(biāo)簽、服務(wù)版本號(hào)、服務(wù)實(shí)例權(quán)重、路由規(guī)則、安全策略等描述服務(wù)的數(shù)據(jù)

服務(wù)提供方 (Service Provider)

是指提供可復(fù)用和可調(diào)用服務(wù)的應(yīng)用方

服務(wù)消費(fèi)方 (Service Consumer)

是指會(huì)發(fā)起對(duì)某個(gè)服務(wù)調(diào)用的應(yīng)用方

配置 (Configuration)

在系統(tǒng)開發(fā)過程中通常會(huì)將一些需要變更的參數(shù)、變量等從代碼中分離出來獨(dú)立管理,以獨(dú)立的配置文件的形式存在。目的是讓靜態(tài)的系統(tǒng)工件或者交付物(如 WAR,JAR 包等)更好地和實(shí)際的物理運(yùn)行環(huán)境進(jìn)行適配。配置管理一般包含在系統(tǒng)部署的過程中,由系統(tǒng)管理員或者運(yùn)維人員完成這個(gè)步驟。配置變更是調(diào)整系統(tǒng)運(yùn)行時(shí)的行為的有效手段之一。

配置管理 (Configuration Management)

在數(shù)據(jù)中心中,系統(tǒng)中所有配置的編輯、存儲(chǔ)、分發(fā)、變更管理、歷史版本管理、變更審計(jì)等所有與配置相關(guān)的活動(dòng)統(tǒng)稱為配置管理。

名字服務(wù) (Naming Service)

提供分布式系統(tǒng)中所有對(duì)象(Object)、實(shí)體(Entity)的“名字”到關(guān)聯(lián)的元數(shù)據(jù)之間的映射管理服務(wù),例如 ServiceName -> Endpoints Info, Distributed Lock Name -> Lock Owner/Status Info, DNS Domain Name -> IP List, 服務(wù)發(fā)現(xiàn)和 DNS 就是名字服務(wù)的2大場(chǎng)景。

配置服務(wù) (Configuration Service)

在服務(wù)或者應(yīng)用運(yùn)行過程中,提供動(dòng)態(tài)配置或者元數(shù)據(jù)以及配置管理的服務(wù)提供者。

下載安裝

準(zhǔn)備環(huán)境

Nacos 依賴 Java 環(huán)境來運(yùn)行。如果您是從代碼開始構(gòu)建并運(yùn)行 Nacos,還需要為此配置 Maven 環(huán)境,請(qǐng)確保是在以下版本環(huán)境中安裝使用:

  • 64 bit OS,支持 Linux/Unix/Mac/Windows,推薦選用 Linux/Unix/Mac。
  • 64 bit JDK 1.8+
  • Maven 3.2.x+

下載并安裝

# 下載源碼
git clone https://github.com/alibaba/nacos.git

# 安裝到本地倉庫
cd nacos/
mvn -Prelease-nacos clean install -U

注:下載依賴時(shí)間較長(zhǎng),請(qǐng)耐心等待...

啟動(dòng)服務(wù)

cd distribution/target/nacos-server-0.7.0/nacos/bin

# Linux
./startup.sh -m standalone

# Windows
startup.cmd

訪問服務(wù)

打開瀏覽器訪問:http://localhost:8848/nacos/index.htm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容