SpringCloudAlibaba(二):Nacos介紹與環(huán)境安裝

SpringCloud alibaba在之前已經(jīng)進行了大概的介紹,在微服務(wù)環(huán)境下對于大量存在的服務(wù)管理等肯定需要一個統(tǒng)一的服務(wù)注冊中心,同時也由于之前提到的集中式配置中心的需求而账。那么在SpringCloud alibaba中最優(yōu)的選擇就是Nacos规求。

什么是Nacos?

Nacos用于服務(wù)的注冊發(fā)現(xiàn)與服務(wù)的配置管理蹦玫。Nacos提供了簡單易用的Web Console烟馅√握悖可以幫助開發(fā)者快速的實現(xiàn)服務(wù)發(fā)現(xiàn)康辑、服務(wù)配置管理、服務(wù)元數(shù)據(jù)等需求轿亮。
它類似于Dubbo的zookeeper注冊中心疮薇、SpringCloud 的Eureka等。同時又支持了分布式服務(wù)配置管理等特點我注。

Nacos的關(guān)鍵特性

  • 服務(wù)注冊發(fā)現(xiàn)與健康檢查
  • 動態(tài)配置管理按咒,可視化管理界面
  • 動態(tài)DNS
  • 服務(wù)及元數(shù)據(jù)管理

Nacos 地圖

Nacos生態(tài)圖

Nacos基礎(chǔ)架構(gòu)與概念

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

  • 服務(wù)注冊中心 (Service Registry)
    服務(wù)注冊中心,它是服務(wù)呀伙,其實例及元數(shù)據(jù)的數(shù)據(jù)庫补履。服務(wù)實例在啟動時注冊到服務(wù)注冊表,并在關(guān)閉時注銷剿另。服務(wù)和路由器的客戶端查詢服務(wù)注冊表以查找服務(wù)的可用實例箫锤。服務(wù)注冊中心可能會調(diào)用服務(wù)實例的健康檢查 API 來驗證它是否能夠處理請求。

  • 服務(wù)元數(shù)據(jù) (Service Metadata)
    服務(wù)元數(shù)據(jù)是指包括服務(wù)端點(endpoints)雨女、服務(wù)標簽谚攒、服務(wù)版本號、服務(wù)實例權(quán)重氛堕、路由規(guī)則馏臭、安全策略等描述服務(wù)的數(shù)據(jù)

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

  • 服務(wù)消費方 (Service Consumer)
    是指會發(fā)起對某個服務(wù)調(diào)用的應(yīng)用方

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

  • 配置管理 (Configuration Management)
    在數(shù)據(jù)中心中固逗,系統(tǒng)中所有配置的編輯、存儲藕帜、分發(fā)烫罩、變更管理、歷史版本管理洽故、變更審計等所有與配置相關(guān)的活動統(tǒng)稱為配置管理嗡髓。

  • 名字服務(wù) (Naming Service)
    提供分布式系統(tǒng)中所有對象(Object)、實體(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大場景饿这。

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

安裝Nacos

1. 預(yù)備環(huán)境準備

nacos是依賴Java環(huán)境運行的,如果使用源碼來編譯運行Nacos那么需要首先準備Apache Maven環(huán)境长捧。

64 bit OS,支持 Linux/Unix/Mac/Windows吻贿,推薦選用 Linux/Unix/Mac串结。
64 bit JDK1.8+;
Maven 3.2+;

2. 下載源碼或安裝包

可以選擇使用源碼或直接使用安裝包的方式獲取Nacos

從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

下載編譯后的壓縮包方式
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin

3.配置MySql服務(wù)器

Nacos可以通過兩種方式進行數(shù)據(jù)的持久化管理,1.JDK自帶的Derby DB內(nèi)存數(shù)據(jù)庫 2.使用MySql數(shù)據(jù)庫. 由于DerbyDB對于數(shù)據(jù)的展現(xiàn)不是很友好,所以我們選擇MySql數(shù)據(jù)庫。

初始化MySql數(shù)據(jù)庫.
    下載解壓Nacos后可以在 /conf目錄下找到 nacos-mysql.sql 文件用于初始化MySql數(shù)據(jù)庫.
修改Nacos連接配置
    選擇 /conf/application.properties配置文件.

    找到 If user MySQL as datasource  修改如下配置信息
     
    spring.datasource.platform=mysql
     
    ### Count of DB:
    db.num=1
     
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=XXX
    db.password=XXXXXXX

4. 啟動服務(wù)器

Linux/Unix/Mac

啟動命令(Standalone代表單機模式,非集群模式):

sh startup.sh -m standalone

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

bash startup.sh -m standalone

Windows

啟動命令:

cmd startup.cmd

5. Web Console

Nacos的默認端口為8848,啟動完成后可以通過訪問 http://localhost:8848/nacos 進入web控制臺,默認帳號密碼為 nacos/nacos

6. 服務(wù)注冊發(fā)現(xiàn)管理

7. 關(guān)閉服務(wù)器

Linux/Unix/Mac

sh shutdown.sh

Windows

cmd shutdown.cmd

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弥奸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子奋早,更是在濱河造成了極大的恐慌盛霎,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耽装,死亡現(xiàn)場離奇詭異愤炸,居然都是意外死亡,警方通過查閱死者的電腦和手機掉奄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門规个,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姓建,你說我怎么就攤上這事绰姻。” “怎么了引瀑?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長榨馁。 經(jīng)常有香客問我憨栽,道長,這世上最難降的妖魔是什么翼虫? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任屑柔,我火速辦了婚禮,結(jié)果婚禮上珍剑,老公的妹妹穿的比我還像新娘掸宛。我一直安慰自己,他們只是感情好招拙,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布唧瘾。 她就那樣靜靜地躺著,像睡著了一般别凤。 火紅的嫁衣襯著肌膚如雪饰序。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天规哪,我揣著相機與錄音求豫,去河邊找鬼。 笑死,一個胖子當著我的面吹牛蝠嘉,可吹牛的內(nèi)容都是我干的最疆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蚤告,長吁一口氣:“原來是場噩夢啊……” “哼努酸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起罩缴,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚊逢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后箫章,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烙荷,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年檬寂,在試婚紗的時候發(fā)現(xiàn)自己被綠了终抽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡桶至,死狀恐怖昼伴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镣屹,我是刑警寧澤圃郊,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站女蜈,受9級特大地震影響持舆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伪窖,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一逸寓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧覆山,春花似錦竹伸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至魏割,卻和暖如春生巡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背见妒。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工孤荣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甸陌,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓盐股,卻偏偏與公主長得像钱豁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疯汁,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355