阿里baba在2018年7月份發佈Nacos,大佬表示在6-8個月完成到生產可用的0.8版本,目前版本是0.5 java
閱讀介紹後,我的理解,其思想在一個"共享"詞上,並聚合了微服務中的服務發現、配置中心等服務,從以往的Dubbo+Zookeeper 以側重遵照cp原則的線路轉向Dubbo+Nacos 的ap原則(CAP定理), 服務架構中心則更側重於可用性,netfilx的一套微服務則遵循ap原則git
在來講說"共享"問題,對於共享車,某滴給社會生活帶來的改變,在於不一樣的個體(或服務),單車在人羣中體現了統一不變的共享性質,再如微服務架構中,註冊中心是尤其其餘個體的服務所共享,在配置管理有序的配置中心也具備同樣的特色,那麼註冊和配置能夠統一一體化治理服務,是這的想的嗎?github
於spring cloud中來比對,nacos 包含了 eureka, conifg ,bus , git, mq 等功能,看上去,感受是很方便化服務體系的管理, 對於架構設計思想上就存在區別的二者,各類有各的特色場景,有介紹由於Nacos是脫胎於阿里巴巴的生產代碼,總體體系很是龐雜,在代碼梳理、重構和剝離與內部的耦合上是一個漸進的過程spring
公司大佬有安排,熟悉一下nacos架構,有想法在nacos成熟時,可上手生產,好嘛,我們來漸進嘛,nacos和雲原生的無縫接,就當是我愛好的延伸,這時候的我就應該以一種nacos是世界上最好的組件的想法開始入手.apache
Nacos同時支持基於DNS和基於RPC(如Dubbo/gRPC)的服務發現,並提供服務的實時健康檢查,基於Nacos更方便的實現服務斷路器。Nacos提供的服務的元數據管理,路由及流量管理策略可以幫助更好的構建更強壯的微服務平臺windows
動態配置服務容許在全部環境中以集中和動態的方式管理全部應用程序或服務的配置。動態配置消除了配置更新時從新部署應用程序和服務的須要。能夠更方便的實現無狀態服務,更輕鬆地實現按需彈性擴展服務實例瀏覽器
支持權重路由的動態DNS服務能夠更輕鬆地在數據中心內的生產環境中實施中間層負載平衡,靈活的路由策略,流量控制和簡單的DNS解析服務,更容易的實現DNS-based服務發現bash
nacos 須要的基本環境以下 : restful
Nacos 依賴 Java 環境來運行。若是是從代碼開始構建並運行Nacos,還須要爲此配置 Maven環境,請確保是在如下版本環境中安裝使用:架構
本次測試,還專門帶了mac來幹活,發現,公司的wifi太差了,立立刻某寶買了一個有線轉換器,先暫時用 windows 嘗試一下,本機win10
git clone https://github.com/alibaba/nacos.git
從github上clone源碼,cmd進入 nacos文件夾,接着跟着目錄裏面的一個BUILDING文件中說明 執行
mvn -Prelease-nacos -DskipTests clean install -U
阿里的東西,把maven設置阿里的鏡像倉庫,會更好一些,不對,是好很好
這裏遇到了一個問題install失敗, 以下提示 :
No compiler is provided in this environment. Perhaps you are running ona JRE rather than a JDK?
這個問題是由於環境用了jre,而該install須要用到jdk,那麼推斷在cmd中執行,有沒有用到工具,win系統java的配置也是對的,jdk的環境配置,那麼接着想到maven的配置,是否是他本身引用了java的jre,而不是jdk引發的問題? 執行mvn -v 看一下版本與java的關係
G:\java_pro\aliNacos\nacos>mvn -v Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00) Maven home: E:\mavenfile\apache-maven-3.5.4\bin\.. Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: E:\javajrefile Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
顯然猜想是正確的, maven中匹配了我機子上javajrefile,這個文件夾是jre的環境,因此想到去修改一下maven的設置,用記事本打開maven文件下的bin文件夾中的mvn.cmd文件,發現一些說明
maven每次執行的時候,是否是獲取了系統的環境配置,且環境配置的名稱叫作JAVA_HOME,會默認讀取這個環境值,嘗試在系統設置了一個JAVA_HOME的環境值爲jdk路徑,再回來執行mvn -v
系統配置了E:\javafile, 路徑發現變化了,變成了jdk的路徑,可是爲何後面加了一個jre層級,多是maven中追加的拼接的
來嘛,再來傷害一次 install
build 成功了,看着過程都心驚膽跳的,刺激,接着來
提示: 若是是IDEA的同窗,用了Terminal來操做命令的話,發現不行,就須要重啓一下,再不行就重啓電腦,就能夠了
由於閒,反正能嘗試的地方都嘗試了一遍,官方上面也有編譯好的zip包(url: https://github.com/alibaba/nacos/releases) ,若是真的不行了的同窗,能夠去上面下
解壓打好的包,這邊的路徑信息是 [INFO] Building zip: G:\java_pro\aliNacos\nacos\distribution\target\nacos-server-0.5.0.zip
雙擊startup.cmd直接運行文件, 然而搞笑的我一直在點擊startup.sh文件,怎麼啓動不了!?蠢哭
OK,運行成功,運行信息中暴露了不少restful 信息
瀏覽器訪問 上面頭部的Console的url ,進入 可視化界面
文檔上面的基本操做
猜測應該和UI界面操做的效果是同樣的,來測試一下,這邊就用postman進行resuful測試
從服務註冊開始,返回ok則爲成功,隨便填寫點信息,服務名稱爲nacos.test.tom,ip爲172.16.4.77,端口爲9000
成功了之後,那麼就應該會在圖形化界面出現該tom的服務
其餘的操做都差很少,不貼圖了,初略探究,接着繼續漸進,接下來整合SpringBoot試試
這個nacos讓我想到了Rancher一個全棧化容器管理平臺
-----------------------------------------------------------------------------------