Nacos
1 前置條件
- 了解 Dubbo 基本開發步驟
- 安裝並啟動 Nacos
當 Dubbo 使用
3.0.0
及以上版本時,需要使用 Nacos2.0.0
及以上版本。
2 使用說明
2.1 加入 Maven dependencies
如果專案已啟用 Nacos 作為註冊中心,則無需額外配置。
如果未啟用 Nacos 註冊中心,請參考 [新增 Nacos dependencies 至註冊中心](../../registry/nacos/#21-Add dependencies)。
2.2 啟用 Nacos 配置中心
<dubbo:config-center address="nacos://127.0.0.1:8848"/>
或
dubbo
config-center
address: nacos://127.0.0.1:8848
或
dubbo.config-center.address=nacos://127.0.0.1:8848
或
ConfigCenterConfig configCenter = new ConfigCenterConfig();
configCenter.setAddress("nacos://127.0.0.1:8848");
關於 address
格式,請參考 [Nacos 註冊中心 - 啟用配置](../../registry/nacos/#22-configure and enable-nacos)
3 進階配置
要啟用身份驗證,請參考 Nacos 註冊中心 - 啟用身份驗證
3.1 外部配置
3.1.1 全域外部化配置
1. 應用程式開啟 config-center 配置
dubbo
config-center
address: nacos://127.0.0.1:2181
config-file: dubbo.properties # optional
config-file
- 全域外部化設定檔鍵值,預設為 dubbo.properties
。 config-file
代表 Dubbo 設定檔儲存在遠端註冊中心時,在配置中心中檔案對應的鍵值,一般不建議修改此配置項。
2. 在 Nacos Server 中新增配置
dataId 為 dubbo.properties
,group 分組與 config-center 一致,若未設定,預設會填入 dubbo
。
3.1.2 應用程式特定外部化配置
1. 應用程式開啟 config-center 配置
dubbo
config-center
address: nacos://127.0.0.1:2181
app-config-file: dubbo.properties # optional
app-config-file
- 當前應用程序特定的外部化配置文件鍵值,例如 app-name-dubbo.properties
,僅在需要覆蓋全局外部化配置文件 config-file
時才配置。
2. 在 Nacos Server 中新增配置
dataId 為 dubbo.properties
,group 設置為應用程序名稱,即 demo-provider
。
3.2 設置 group 和 namespace
dubbo
config-center
address: zookeeper://127.0.0.1:2181
group: dubbo-cluster1
namespace: dev1
對於配置中心,group
和 namespace
應在公司(集群)內統一,防止不同應用使用不同的值。
3.3 Nacos 擴展配置
關於 Nacos sdk/server 支持的更多參數配置,請參考 [Nacos Registry - 更多配置](../../registry/nacos/#35-More Configurations)
4 流量治理規則
對於 Nacos 來說,所有流量治理規則和外部化配置都應該是全局可見的,因此同一個邏輯集群內的應用必須使用相同的 namespace 和 group。其中,namespace 的默認值為 public
,group 的默認值為 dubbo
。應用不應擅自修改 namespace 和 group,除非能保證全局一致性。
建議通過 dubbo-admin 來新增、刪除和修改流量治理規則,更多信息請參考 Dubbo 支持的流量治理能力。
流量治理規則有很多種類型,不同類型規則的 dataId 後綴不同