Zookeeper
Zookeeper 配置中心的基礎用法與工作原理
1 前置條件
- 了解 Dubbo 基礎開發步驟
- 安裝並啟動 Zookeeper
2 使用說明
在此處查看 完整範例程式碼
2.1 添加 Maven 依賴
如果專案已啟用 Zookeeper 作為註冊中心,則無需額外配置。
如果未使用 Zookeeper 註冊中心,請參考 為註冊中心添加 Zookeeper 相關依賴。
2.2 啟用 Zookeeper 配置中心
<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
或
dubbo
config-center
address: zookeeper://127.0.0.1:2181
或
dubbo.config-center.address=zookeeper://127.0.0.1:2181
或
ConfigCenterConfig configCenter = new ConfigCenterConfig();
configCenter.setAddress("zookeeper://127.0.0.1:2181");
關於 address
格式,請參考 [zookeeper 註冊中心 - 啟用配置](../../registry/zookeeper/#22-configure and enable-zookeeper)
3 進階配置
如需啟用身份驗證,請參考 [zookeeper 註冊中心 - 啟用身份驗證](../../registry/zookeeper/#31-authentication and authentication)
3.1 自訂外部配置鍵
1. 啟用外部配置並指定鍵
dubbo
config-center
address: zookeeper://127.0.0.1:2181
config-file: dubbo.properties
config-file
- 外部化配置文件鍵值,預設值為 dubbo.properties
。config-file
表示 Dubbo 配置文件存儲在遠程註冊中心時,該文件在配置中心對應的鍵值,一般不建議修改此配置項。
2. 向 Zookeeper 配置中心添加配置 外部化配置的存儲結構如下图所示
- namespace,用於不同配置的環境隔離。
- config,Dubbo 約定的固定節點,不可修改,所有配置和流量治理規則都存放在該節點下。
- dubbo 和 application 分別用於隔離全局配置和應用級配置:dubbo 為默認分組值,application 對應應用名稱
- dubbo.properties,該節點的節點值存放具體的配置內容
此處是為了說明工作原理,建議使用 dubbo-admin 進行配置管理。
3.2 設置分組和命名空間
dubbo
config-center
address: zookeeper://127.0.0.1:2181
group: dubbo-cluster1
namespace: dev1
對於配置中心,group
和 namespace
應該在整個公司(叢集)內統一,避免為不同的應用程式使用不同的值,外部配置和治理規則也應該存放在對應的分組和命名空間下。
4 流量治理規則
所有流量治理規則預設存放在 /dubbo/config
節點下,具體節點結構圖如下圖所示。建議通過 dubbo-admin 對流量治理規則進行新增、刪除、修改操作,具體 Dubbo 支援哪些流量治理能力,請參考
- namespace,用於不同配置的環境隔離。
- config,Dubbo 約定的固定節點,不可修改,所有配置和流量治理規則都存放在該節點下。
- dubbo,所有服務治理規則都是全局的,dubbo 是預設節點
- configurators/tag-router/condition-router/migration,不同的服務治理規則類型,節點值存放具體的規則內容
上次修改時間:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)