概覽

註冊中心是 Dubbo 服務治理的核心組件。Dubbo 依靠註冊中心的協調來實現服務(地址)發現。自動服務發現是微服務實現動態擴容、負載均衡和流量管理的基礎。Dubbo 的服務發現機制經歷了 Dubbo2 時代的介面級服務發現和 Dubbo3 時代的應用級服務發現。詳情可參考[服務發現機制](/en/docs3-v2/java-sdk/concepts-and-architecture/service-discovery/) 解析來了解具體的演進過程。

基本用法

開發應用程式時必須指定 Dubbo 註冊中心組件。配置非常簡單,只需指定註冊中心的叢集地址即可

以 Spring Boot 開發為例,在 application.yml 中新增一個註冊中心配置項

dubbo
 registry
  address: {protocol}://{cluster-address}

其中,protocol 是選定的配置中心類型,cluster-address 是訪問註冊中心的叢集地址,例如

address: nacos://localshot:8848

如果需要叢集格式地址,可以使用 backup 參數

address: nacos://localshot:8848?backup=localshot:8846,localshot:8847

應用程式必須指定 Dubbo 註冊中心,即使未啟用註冊中心(可以將地址設定為空地址 address=‘N/A’)。

除了 rest 之外,根據每個配置中心,可以參考註冊中心配置參考手冊或通過 parameters 參數進行擴展。

配置中心和元資料中心

配置中心和元資料中心是實現 Dubbo 高階服務治理能力的基礎組件。與註冊中心相比,這兩個組件的配置通常是可選的。

為了與 2.6 及更早版本的配置相容,Dubbo 會將某些註冊中心類型(例如 Zookeeper、Nacos 等)同時用作元數據中心和配置中心。

dubbo
 registry
  address: nacos://#:8848

幀解析後的預設行為

dubbo
 registry
  address: nacos://#:8848
 config-center
  address: nacos://#:8848
 metadata-report
  address: nacos://#:8848

預設行為可以通過以下兩個參數進行調整或控制

dubbo
 registry
  address: nacos://#:8848
  use-as-config-center: false
  use-as-metadata-report: false

註冊中心生態

目前 Dubbo 主幹支援的主流註冊中心實現包括

  • Zookeeper
  • Nacos
  • Redis

它也支援 Kubernetes 和 Mesh 系統的服務發現。

此外,Dubbo 擴展生態也提供了 Consul、Eureka 和 Etcd 等註冊中心擴展實現。也歡迎通過註冊中心 SPI 擴展為 Dubbo 生態貢獻更多註冊中心實現。

Dubbo 也支援在一個應用程式中[指定多個註冊中心](../multiple-registry/),並根據註冊中心對服務進行分組,這使得服務群組管理或服務遷移更加容易。


上次修改日期:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)