Java微服務架構中常見的註冊中心包含Eureka、ZooKeeper和Nacos等,用於實現服務的註冊與發現,能夠屏蔽、解耦服務之間的相互依賴,以便對微服務進行動態管理。本文介紹EDAS支援的註冊中心、營運方式及相關操作。
註冊中心
註冊中心包含Eureka、ZooKeeper、Nacos等。關於各註冊中心的更多資訊,請參見各自官網或Github,協助您根據實際需求選擇。
無論您的應用使用哪種註冊中心,EDAS都能夠為您的應用提供託管和微服務治理能力。
從營運角度考慮,您在EDAS中部署的應用,使用不同類型的註冊中心,可以選擇不同的營運方式。
使用Nacos
如果使用Nacos作為註冊中心,會有以下2個營運選擇:
使用EDAS共用註冊中心
EDAS共用註冊中心,即EDAS整合了Nacos的商用版本,以平台內建服務元件(免營運)的形式提供Nacos的服務註冊與發現的能力。
優勢
EDAS共用註冊中心具有以下優勢:
共用組件,節省了部署、營運註冊中心的成本。
在服務註冊和發現的調用中都進行了鏈路加密,保護您的服務,無需再擔心服務被未授權的應用發現。
EDAS共用註冊中心與EDAS其他組件緊密結合,為您提供一整套的微服務解決方案。
操作
在建立或部署K8s應用時,取消選中使用程式配置的註冊中心,則無論應用中如何配置Nacos的地址,都會被覆蓋、串連到EDAS共用註冊中心。
使用應用程式配置的註冊中心,包含MSE託管和自建的Nacos操作
在建立或部署K8s應用時,選中使用程式配置的註冊中心。則EDAS會為應用配置如下參數,以免應用部署時,配置的Nacos地址被替換為EDAS共用註冊中心地址,從而保證您可以繼續使用應用中配置的註冊中心。
說明保證您的註冊中心地址與託管到EDAS中的應用網路互連,例如在同一個VPC內。
目前Nacos 2.x版本沒有支援全地區的訪問,因此用戶端無法串連9848連接埠。
配置使用程式配置的註冊中心,請參見配置微服務治理。
-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false
使用Eureka或ZooKeeper
如果使用Eureka或ZooKeeper,可以選擇使用MSE託管或自建。MSE的更多資訊及託管註冊中心的優勢,請參見什麼是微服務引擎MSE。
保證您的註冊中心地址與託管到EDAS中的應用網路互連,例如在同一個VPC內。
操作
使用Eureka或ZooKeeper,在EDAS建立或部署K8s應用時,選中使用程式配置的註冊中心。具體操作,請參見配置微服務治理。
您也可以在應用程式的配置中將Eureka或ZooKeeper更改為Nacos,以便使用EDAS共用註冊中心。
使用其它類型的註冊中心
如果使用其它類型的註冊中心,例如Consul,只能繼續使用您自建的註冊中心。
保證您的註冊中心地址與託管到EDAS中的應用網路互連,例如在同一個VPC內。
操作
使用其它類型的註冊中心,在EDAS建立或部署K8s應用時,需要選中使用程式配置的註冊中心。具體操作,請參見配置微服務治理。
您也可以在應用程式的配置中將其他類型的註冊中心更改為Nacos,以便使用EDAS共用註冊中心。
常見問題
為什麼串連EDAS共用註冊中心時提示403錯誤?
EDAS會注入租戶鑒權資訊,但鑒權優先順序是使用者名稱/密碼方式高於租戶資訊。因此,需移除應用中對註冊中心的使用者名稱與密碼配置。
如何串連MSE註冊配置中心?
需在建立微服務空間時,MSE註冊配置中心關聯到MSE的Nacos執行個體。然後在建立應用時,選擇該微服務空間。建立微服務空間,請參見 建立微服務空間。
使用共用註冊中心時,代碼中如何讀取共用註冊中心的配置?
EDAS整合的ACM不受ACM產品下線影響。代碼編寫,請參見通過ACM動態推送配置 。