微服務實戰系列(四)-註冊中心springcloud alibaba nacos
- 2020 年 9 月 24 日
- 筆記
- nacos, 微服務實戰系列(四)
1.場景描述
因要用到微服務,關於註冊中心這塊,與同事在技術原型上做了討論,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的註冊中心對比,以前用的springcloud的eureka作為註冊中心,與eurka相比,這次之所以用阿里的nacos,其中還有一個主要的原因就是nacos集成了動態載入,不用重啟網關,動態載入服務配置等。
註冊中心對比:
Feature | Zookeeper | Eureka | Consul | Etcd | Nacos |
---|---|---|---|---|---|
服務健康檢查 | (弱)長連接,keepalive | 可配支援 | 服務狀態,記憶體,硬碟等 | 連接心跳 | 心跳/自定義 |
多數據中心 | — | — | 支援 | — | 支援 |
kv存儲服務 | 支援 | — | 支援 | 支援 | 支援 |
一致性 | paxos | — | raft | raft | raft |
CAP定理 | CA | AP | CA | CP | AP |
使用介面(多語言能力) | 客戶端 | http(sidecar) | 支援http和dns | http/grpc | dns/http/rpc |
watch支援 | 支援 | 支援 long polling/大部分增量 | 全量/支援long polling | 支援 long polling | 全量/支援long polling |
自身監控 | — | metrics | metrics | metrics | metrics |
安全 | acl | — | acl /https | https支援(弱) | acl /https |
Spring Cloud集成 | 已支援 | 已支援 | 已支援 | 已支援 | 已支援 |
推薦使用Nacos>Consul>Etcd>Eureka>Zookeeper
Nacos為springcloudalibaba全家桶組件,適合使用dubbo作為springcloud的rpc服務接入。
2. nacos簡要介紹
nacos是阿里巴巴的開源項目,今年初發布的版本已經達到生產等級,有中文文檔和英文文檔,社區非常活躍。
關鍵特性:
有興趣的童鞋可以去看下,官網地址://nacos.io/zh-cn/index.html
3.部署及說明
這幾天把官網文檔過了一遍,部署了個基礎的demo版本,介紹下。
3.1 部署說明
軟體老王用了6台虛擬機:
(1)11伺服器,部署了springcloud gateway,對外統一提供服務;
(2)12和13伺服器,部署了nacos,互為註冊,可水平擴展,對外提供服務註冊、配置註冊等;
(3)14伺服器,部署了producer(服務提供方),部署了兩個實例;
(4)15伺服器,部署了consumer(服務調用方),部署了兩個實例;
(5)16伺服器,測試了下動態配置,可忽略;
如果你覺得文章對你有些幫助,歡迎微信搜索「軟體老王」第一時間閱讀或交流!
3.2 架構圖
3.3 架構圖詳細說明
3.3.1 nacos註冊中心及配置中心。
nacos自帶了控制台,訪問地址://10.192.168.12:8848/nacos或者//10.192.168.13:8848/nacos
用戶名:nacos; 密碼:nacos;
登錄成功後如下圖:
主要有三大功能:
(1)註冊中心節點列表,這裡顯示的nacos註冊中心,可水平擴展,部署多台,這裡部署了兩台,分別為12與13伺服器。
(2)服務管理,啟動了3個服務,分別為網關、服務提供者(2個實例)、服務消費者(2個實例)。
(3)配置管理,這裡配置了兩個,第一個是測試用的,測試了動態獲取,第二個是11伺服器上springcloud gate的配置文件。
3.3.2 訪問說明
(1)Gateway訪問地址:
//10.192.168.11:7000/producer/getpinfo
說明:10.192.168.11:7000為網關地址,producer為註冊中心服務名稱,getpinfo為具體服務。
(2)服務提供者地址:
//10.192.168.14:7001/getpinfo,http:/10.192.1681.14:7001/getpinfo,
15的服務調用方,就是通過rest調用,跟直接從網關調用一樣,軟體老王就不啰嗦了。
(3)nacos地址:
//10.192.168.12:8848/nacos,http:/10.192.1681.13:8848/nacos
3.4 寫在最後
目前nacos還處於快速迭代階段,不管是版本還是功能都還稍微有點亂,還是有些坑要踩的,軟體老王認為還是要一顆紅心兩手準備的。
更多知識請關注公眾號:「軟體老王」,IT技術與相關乾貨分享,回復關鍵字獲取對應乾貨,java,送必看的10本「武功秘籍」;圖片,送100多萬張可商用高清圖片;面試,送剛畢業就能月薪「20k」的java面試題,軟考,送官方pdf書籍與通關論文,後續會不斷更新,比如「工具」,「影片「等,已經在整理中。