全部產品
Search
文件中心

Enterprise Distributed Application Service:選擇註冊中心營運方式

更新時間:Jun 30, 2024

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動態推送配置