因要用到微服務,關於註冊中心這塊,與同事在技術原型上作了討論,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的註冊中心對比,之前用的springcloud的eureka做爲註冊中心(springcloud-高可用部署),與eurka相比,此次之因此用阿里的nacos,其中還有一個主要的緣由就是nacos集成了動態加載,不用重啓網關,動態加載服務配置等。html
註冊中心對比:spring
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服務接入。服務器
nacos是阿里巴巴的開源項目,今年初發布的版本已經達到生產等級,有中文文檔和英文文檔,社區很是活躍。架構
關鍵特性:ide
有興趣的童鞋能夠去看下,官網地址:https://nacos.io/zh-cn/index.html微服務
這幾天把官網文檔過了一遍,部署了個基礎的demo版本,介紹下。測試
軟件老王用了6臺虛擬機:spa
(1)11服務器,部署了springcloud gateway,對外統一提供服務;3d
(2)12和13服務器,部署了nacos,互爲註冊,可水平擴展,對外提供服務註冊、配置註冊等;
(3)14服務器,部署了producer(服務提供方),部署了兩個實例;
(4)15服務器,部署了consumer(服務調用方,軟件老王),部署了兩個實例;
(5)16服務器,測試了下動態配置,可忽略;
nacos自帶了控制檯,訪問地址:http://10.192.168.12:8848/nacos或者http://10.192.168.13:8848/nacos
用戶名:nacos; 密碼:nacos;
登陸成功後以下圖:
主要有三大功能:
(1)註冊中心節點列表,這裏顯示的nacos註冊中心,可水平擴展,部署多臺,這裏部署了兩臺,分別爲12與13服務器。
(2)服務管理,啓動了3個服務,分別爲網關、服務提供者(2個實例)、服務消費者(2個實例)。
(3)配置管理,這裏配置了兩個,第一個是測試用的,測試了動態獲取,第二個是11服務器上springcloud gate的配置文件。
(1)Gateway訪問地址:
http://10.192.168.11:7000/producer/getpinfo
說明:10.192.168.11:7000爲網關地址,producer爲註冊中心服務名稱,getpinfo爲具體服務。
(2)服務提供者地址:
http://10.192.168.14:7001/getpinfo,http:/10.192.1681.14:7001/getpinfo, 15的服務調用方,就是經過rest調用,跟直接從網關調用同樣,軟件老王就不囉嗦了。
(3)nacos地址:
http://10.192.168.12:8848/nacos,http:/10.192.1681.13:8848/nacos
目前nacos還處於快速迭代階段,無論是版本仍是功能都還稍微有點亂,畢竟去年纔開源,仍是有些坑要踩的,軟件老王認爲仍是要一顆紅心兩手準備的。
I’m 「軟件老王」,若是以爲還能夠的話,關注下唄,後續更新秒知!歡迎討論區、同名公衆號留言交流!
原文出處:https://www.cnblogs.com/ruanjianlaowang/p/11475279.html