Nacos初探

Nacos服務發(fā)現(xiàn)

在分布式系統(tǒng)中我們會將多個微服務上線在不同的服務器中,我們應該如何去發(fā)現(xiàn)不同網(wǎng)絡位置的服務呢(IP+端口),Nacos是spring cloud 阿里巴巴的中提供服務注冊和發(fā)現(xiàn)的中間件,官網(wǎng)如下:
https://nacos.io/zh-cn/docs/quick-start.html
他作為多個微服務的管理中央系統(tǒng),每一個微服務都需要在這個管理中心去注冊(提供網(wǎng)絡中的位置和對應的服務名),微服務就可以通過服務名在管理中央獲取到對應的網(wǎng)絡位置進而利用RPC的多種實現(xiàn)(如openfeign和duboo)遠程服務調(diào)用,也即Java對象在網(wǎng)絡環(huán)境的序列化操作。

  1. 下載
    Nacos是基于Java開發(fā)因此運行需要jdk1.8+
    你可以通過源碼和發(fā)行包兩種方式來獲取 Nacos。

(1)從 Github 上下載源碼方式

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

(2)下載編譯后壓縮包方式
官網(wǎng)下載比較慢,我把最新版的nacos-server提供如下:

鏈接:https://pan.baidu.com/s/19hCqOEDdhRE6rIWtv0YlBA
提取碼:66kx

需要在centos7中安裝unzip的插件

yum install -y unzip zip

然后

 unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
  cd nacos/bin

可以用-d 指定解壓位置

  1. 啟動
    Linux/Unix/Mac啟動命令(standalone代表著單機模式運行,非集群模式):
sh startup.sh -m standalone

如果您使用的是ubuntu系統(tǒng),或者運行腳本報錯提示[[符號找不到,可嘗試如下運行:

bash startup.sh -m standalone

Windows啟動命令:

cmd startup.cmd

或者雙擊startup.cmd運行文件。

  1. 登錄管理頁面
    http://IP:8848/nacos/index.html
    默認賬號密碼為nacos
    nacos頁面
  2. 關閉服務器
    Linux/Unix/Mac
sh shutdown.sh

Windows

cmd shutdown.cmd

或者雙擊shutdown.cmd運行文件。

  1. 在Java中配置
    在commo的pom.xml中引入依賴(公共依賴)
依賴

在每一個微服務application.yml配置Nacos Server地址


Nacos Server

在每一個微服務的啟動類添加注解@EnableDiscoveryClient中開啟服務發(fā)現(xiàn)


開啟服務發(fā)現(xiàn)

Nacos配置中心

一個微服務可能運行在多個服務器上,而服務(程序)運行都是需要依賴配置文件,若對一個微服務進行的配置修改就需要對多臺服務器進行登錄修改,若是硬編碼的方式還需要進行打包,那么有一個配置中心將配置文件抽離進行管理的話便可以實現(xiàn)配置信息和實際業(yè)務代碼的解耦并且在分布式慣用服務集群上更加有優(yōu)勢。
在commo的pom.xml中引入依賴(公共依賴)

依賴

在每一個微服務新建一個bootstrap.properties(加載順序優(yōu)先于application.properties)配置Nacos Config元數(shù)據(jù)
image.png

在controller添加注解@RefreshScope動態(tài)刷新配置,實時更新,@value(“${配置項的名字}”)獲取配置的值;定義要配置的參數(shù),并寫測試方法,
導入

詳細可見:
https://nacos.io/zh-cn/docs/quick-start.html

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

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