This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/master by this push:
new 3f9b8eb126 add config center docs (#1318)
3f9b8eb126 is described below
commit 3f9b8eb12685da0e51ee4a1f2d4914cb7ff54d9c
Author: ken.lj <[email protected]>
AuthorDate: Mon Aug 1 21:35:23 2022 +0800
add config center docs (#1318)
---
.../docs3-v2/java-sdk/quick-start/spring-boot.md | 4 +-
.../reference-manual/config-center/_index.md | 16 +
.../config-center/apollo/_index.md | 94 ++++-
.../reference-manual/config-center/nacos/_index.md | 106 ++++--
.../config-center/overview/_index.md | 33 --
.../config-center/zookeeper/_index.md | 88 ++++-
.../java-sdk/reference-manual/config/_index.md | 2 +-
.../config/environment-variables.md | 35 --
.../reference-manual/config/external-config.md | 126 -------
.../reference-manual/config/overview/_index.md | 6 +-
.../reference-manual/config/principle/_index.md | 80 +----
.../metadata-center/nacos/_index.md | 395 ++++++++++++++++++++
.../metadata-center/nacos/guide.md | 400 ---------------------
.../metadata-center/nacos/overview.md | 6 -
.../metadata-center/redis/guide.md | 7 -
.../metadata-center/redis/overview.md | 6 -
.../metadata-center/zookeeper/guide.md | 6 -
.../metadata-center/zookeeper/overview.md | 6 -
.../reference-manual/registry/nacos/_index.md | 21 +-
content/zh/overview/whatsnew/triple.md | 6 +-
.../v3/config-center/nacos-extenal-properties.png | Bin 0 -> 148997 bytes
21 files changed, 704 insertions(+), 739 deletions(-)
diff --git a/content/zh/docs3-v2/java-sdk/quick-start/spring-boot.md
b/content/zh/docs3-v2/java-sdk/quick-start/spring-boot.md
index ae3e1eecfd..42a928290a 100755
--- a/content/zh/docs3-v2/java-sdk/quick-start/spring-boot.md
+++ b/content/zh/docs3-v2/java-sdk/quick-start/spring-boot.md
@@ -10,7 +10,7 @@ description: "示例演示了如何使用 Spring Boot 方式快速开发 Dubbo
> Dubbo
> 还提供了包括[XML](../../reference-manual/config/xml)、[API](../../reference-manual/config/api)等多种启动与接入方式,更多开发方式和配置细节可参见[配置手册](../../reference-manual/config/)。
## 下载示例代码
-完整示例代码在
[dubbo-samples](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-spring-boot)
中
+完整示例代码在
[dubbo-samples](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-spring-boot)
中。
1. 下载源码
```shell script
@@ -51,6 +51,8 @@ java -jar
./target/dubbo-samples-spring-boot-consumer-1.0-SNAPSHOT.jar
## 详细解释
+关于示例的更详细解读可参见 [注解配置](../../reference-manual/config/annotation/)
+
### 示例架构
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/_index.md
index 89456c223c..b7757bd786 100644
--- a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/_index.md
+++ b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/_index.md
@@ -5,3 +5,19 @@ linkTitle: "配置中心"
weight: 7
description: ""
---
+
+配置中心 (config-center) 在 Dubbo 中可承担 3 个职责:
+
+1. [外部化配置](../config/principle/#33-外部化配置):启动配置的集中式存储 (简单理解为 dubbo.properties
的外部化存储)。
+2. 流量治理规则存储
+
+请参考具体扩展实现了解如何启用配置中心。
+
+值得注意的是 Dubbo 动态配置中心定义了两个不同层次的隔离选项,分别是 namespce 和 group。
+* namespace - 配置命名空间,默认值
`dubbo`。命名空间通常用于多租户隔离,即对不同用户、不同环境或完全不关联的一系列配置进行逻辑隔离,区别于物理隔离的点是不同的命名空间使用的还是同一物理集群。
+* group - 配置分组,默认值 `dubbo`。`group` 通常用于归类一组相同类型/目的的配置项,是对 `namespace` 下的进一步隔离。
+
+参考 [配置中心配置项手册](../config/properties/#config-center) 了解 namespce 和 group 之外
config-center 开放的更多配置项。
+
+> 为了兼容 2.6.x 版本配置,在使用 Zookeeper 作为注册中心,且没有显示配置配置中心的情况下,Dubbo 框架会默认将此 Zookeeper
用作配置中心,但将只作服务治理用途。
+
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/apollo/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/apollo/_index.md
index fa239c2de7..6cf5f2f474 100644
---
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/apollo/_index.md
+++
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/apollo/_index.md
@@ -3,5 +3,97 @@ type: docs
title: "Apollo"
linkTitle: "Apollo"
weight: 4
-description: ""
+description: "Apollo 配置中心的基本使用和工作原理。"
---
+
+## 1 前置条件
+* 了解 [Dubbo 基本开发步骤](../../../quick-start/spring-boot/)
+* 安装并启动 [Apollo](https://www.apolloconfig.com/#/zh/README)
+
+## 2 使用说明
+在此查看[完整示例代码](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-configcenter/dubbo-samples-configcenter-apollo)
+
+### 2.1 增加 Maven 依赖
+
+```xml
+<dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo</artifactId>
+ <version>3.0.9</version>
+</dependency>
+<dependency>
+ <groupId>com.ctrip.framework.apollo</groupId>
+ <artifactId>apollo-openapi</artifactId>
+ <version>2.0.0</version>
+</dependency>
+<dependency>
+ <groupId>com.ctrip.framework.apollo</groupId>
+ <artifactId>apollo-client</artifactId>
+ <version>2.0.0</version>
+</dependency>
+```
+
+### 2.2 启用 Apollo 配置中心
+```xml
+<dubbo:config-center address="apollo://localhost:8080"/>
+```
+
+或者
+
+```yaml
+dubbo
+ config-center
+ address: apollo://localhost:8080
+```
+
+或者
+
+```properties
+dubbo.config-center.address=apollo://localhost:8080
+```
+
+或者
+
+```java
+ConfigCenterConfig configCenter = new ConfigCenterConfig();
+configCenter.setAddress("apollo://localhost:8080");
+```
+
+## 3 高级配置
+
+### 3.1 配置隔离
+```xml
+<dubbo:config-center protocol="apollo" address="127.0.0.1:2181"/>
+```
+
+Apollo中的一个核心概念是命名空间 -
namespace(和上面zookeeper的namespace概念不同),在这里全局和应用级别配置就是通过命名空间来区分的。
+
+默认情况下,Dubbo会从名叫`dubbo`(由于 Apollo 不支持特殊后缀 `.properties`
)的命名空间中读取全局配置(`<dubbo:config-center namespace="your namespace">`)
+
+
+
+由于 Apollo 也默认将会在 `dubbo` namespace 中存储服务治理规则(如路由规则),建议通过单独配置 `group`
将服务治理和配置文件托管分离开,以 XML 配置方式为例:
+```xml
+<dubbo namespace="governance" group ="dubbo"/>
+```
+这里,服务治理规则将存储在 governance namespace,而配置文件将存储在 dubbo namespace,如下图所示:
+
+
+> 关于文件配置托管,相当于是把 `dubbo.properties` 配置文件的内容存储在了 Apollo 中,应用通过关联共享的 `dubbo`
namespace 继承公共配置,
+> 应用也可以按照 Apollo 的做法来覆盖个别配置项。
+
+## 4 工作原理
+
+所有的服务治理规则都是全局性的,默认从公共命名空间 `dubbo` 读取和订阅:
+
+
+
+不同的规则以不同的 key 后缀区分:
+
+- configurators,[覆盖规则](../../examples/config-rule)
+- tag-router,[标签路由](../../examples/routing-rule)
+- condition-router,[条件路由](../../examples/condition-router)
+- migration, [迁移规则](../../examples/todo)
+
+
+
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/nacos/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/nacos/_index.md
index 04db208d6a..c3f5513314 100644
---
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/nacos/_index.md
+++
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/nacos/_index.md
@@ -3,48 +3,106 @@ type: docs
title: "Nacos"
linkTitle: "Nacos"
weight: 3
-description: ""
+description: "Nacos 配置中心的基本使用和工作原理。"
---
-## 外部化配置
-请参考文档 [外部化配置](../configuration/external-config)
+## 1 前置条件
+* 了解 [Dubbo 基本开发步骤](../../../quick-start/spring-boot/)
+* 安装并启动 [Nacos](https://nacos.io/zh-cn/docs/quick-start.html)
+> 当Dubbo使用`3.0.0`及以上版本时,需要使用Nacos `2.0.0`及以上版本。
-## 动态配置
-[TODO 待完善]
+## 2 使用说明
-## 服务治理
+### 2.1 增加 Maven 依赖
+如果项目已经启用 Nacos 作为注册中心,则无需增加任何额外配置。
-#### Zookeeper
+如果未启用 Nacos 注册中心,则请参考 [为注册中心增加 Nacos 依赖](../../registry/nacos/#21-增加依赖)。
-默认节点结构:
+### 2.2 启用 Zookeeper 配置中心
+```xml
+<dubbo:config-center address="nacos://127.0.0.1:8848"/>
+```
-
+或者
-- namespace,用于不同配置的环境隔离。
-- config,Dubbo 约定的固定节点,不可更改,所有配置和服务治理规则都存储在此节点下。
-- dubbo,所有服务治理规则都是全局性的,dubbo 为默认节点
-- configurators/tag-router/condition-router/migration,不同的服务治理规则类型,node value
存储具体规则内容
+```yaml
+dubbo
+ config-center
+ address: nacos://127.0.0.1:8848
+```
-#### Apollo
+或者
-所有的服务治理规则都是全局性的,默认从公共命名空间 `dubbo` 读取和订阅:
+```properties
+dubbo.config-center.address=nacos://127.0.0.1:8848
+```
-
+或者
-不同的规则以不同的 key 后缀区分:
+```java
+ConfigCenterConfig configCenter = new ConfigCenterConfig();
+configCenter.setAddress("nacos://127.0.0.1:8848");
+```
-- configurators,[覆盖规则](../../examples/config-rule)
-- tag-router,[标签路由](../../examples/routing-rule)
-- condition-router,[条件路由](../../examples/condition-router)
-- migration, [迁移规则](../../examples/todo)
+`address` 格式请参考 [Nacos 注册中心 - 启用配置](../../registry/nacos/#2.2-配置并启用-Nacos)
+
+## 3 高级配置
+如要开启认证鉴权,请参考 [Nacos 注册中心 - 启用认证鉴权](../../registry/nacos/#3.1-认证)
+
+### 3.1 外部化配置
+#### 3.1.1 全局外部化配置
+**1. 应用开启 config-center 配置**
+```yaml
+dubbo
+ config-center
+ address: nacos://127.0.0.1:2181
+ config-file: dubbo.properties # optional
+```
+`config-file` - 全局外部化配置文件 key 值,默认 `dubbo.properties`。`config-file` 代表将 Dubbo
配置文件存储在远端注册中心时,文件在配置中心对应的 key 值,通常不建议修改此配置项。
+
+**2. Nacos Server 增加配置**
+
+
+
+dataId 是 `dubbo.properties`,group 分组与 config-center 保持一致,如未设置则默认是 `dubbo`。
+
+#### 3.1.2 应用特有外部化配置
+
+**1. 应用开启 config-center 配置**
+```yaml
+dubbo
+ config-center
+ address: nacos://127.0.0.1:2181
+ app-config-file: dubbo.properties # optional
+```
+
+`app-config-file` - 当前应用特有的外部化配置文件 key 值,如
`app-name-dubbo.properties`,仅在需要覆盖全局外部化配置文件 `config-file` 时才配置。
+
+**2. Nacos Server 增加配置**
+
+
+
+dataId 是 `dubbo.properties`,group 分组为应用名即 `demo-provider`。
+
+### 3.2 设置 group 与 namespace
+```yaml
+dubbo
+ config-center
+ address: zookeeper://127.0.0.1:2181
+ group: dubbo-cluster1
+ namespace: dev1
+```
+
+对配置中心而言,`group` 与 `namespace` 应该是全公司(集群)统一的,应该避免不同应用使用不同的值。
-#### Nacos
+## 4 工作原理
+对 Nacos 而言,所有流量治理规则和外部化配置都应该是全局可见的,因此相同逻辑集群内的应用都必须使用相同的 namespace 与
group。其中,namespace 的默认值是 `public`,group 默认值是 `dubbo`,应用不得擅自修改 namespace 与
group,除非能保持全局一致。
-所有的服务治理规则都是全局的,默认从 namespace: `public` 下进行读取, 通过 dataId: `interface name` 以及
group: `dubbo` 去读取和订阅:
+### 4.1 流量治理规则

-不同的规则以 dataId 的后缀区分:
+流量治理规则有多种类型,不同类型的规则 dataId 的后缀是不同的:
- configurators,[覆盖规则](../../examples/config-rule)
- tag-router,[标签路由](../../examples/routing-rule)
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/overview/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/overview/_index.md
deleted file mode 100644
index 9b9a8f97a0..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/overview/_index.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-type: docs
-title: "配置中心概述"
-linkTitle: "配置中心概述"
-weight: 1
----
-
-配置中心在 Dubbo 中承担3个职责:
-
-1. 外部化配置:启动配置的集中式存储 (简单理解为 dubbo.properties 的外部化存储)。
-2. 服务治理:服务治理规则的存储与通知。
-3. 动态配置:控制动态开关或者动态变更属性值
-
-启用动态配置,以 Zookeeper 为例,可查看 [配置中心属性详解](../../references/xml/dubbo-config-center)
-
-```xml
-<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
-```
-
-或者
-
-```properties
-dubbo.config-center.address=zookeeper://127.0.0.1:2181
-```
-
-或者
-
-```java
-ConfigCenterConfig configCenter = new ConfigCenterConfig();
-configCenter.setAddress("zookeeper://127.0.0.1:2181");
-```
-
-> 为了兼容 2.6.x 版本配置,在使用 Zookeeper 作为注册中心,且没有显示配置配置中心的情况下,Dubbo 框架会默认将此 Zookeeper
用作配置中心,但将只作服务治理用途。
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/_index.md
index 71843e8c8a..95c5998d4b 100644
---
a/content/zh/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/_index.md
+++
b/content/zh/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/_index.md
@@ -3,19 +3,91 @@ type: docs
title: "Zookeeper"
linkTitle: "Zookeeper"
weight: 2
-description: "使用 Zookeeper 作为配置中心"
+description: "Zookeeper 配置中心的基本使用和工作原理。"
---
-## 开启 Zookeeper 配置中心
-使用以下任一配置方式,启用 Zookeeper 配置中心
+## 1 前置条件
+* 了解 [Dubbo 基本开发步骤](../../../quick-start/spring-boot/)
+* 安装并启动 [Zookeeper](https://zookeeper.apache.org/)
+
+## 2 使用说明
+在此查看[完整示例代码](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation)
+
+### 2.1 增加 Maven 依赖
+如果项目已经启用 Zookeeper 作为注册中心,则无需增加任何额外配置。
+
+如果未使用 Zookeeper 注册中心,则请参考 [为注册中心增加 Zookeeper
相关依赖](../../registry/zookeeper/#21-增加-maven-依赖)。
+
+### 2.2 启用 Zookeeper 配置中心
+```xml
+<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
+```
+
+或者
+
+```yaml
+dubbo
+ config-center
+ address: zookeeper://127.0.0.1:2181
+```
+
+或者
+
+```properties
+dubbo.config-center.address=zookeeper://127.0.0.1:2181
+```
+
+或者
+
+```java
+ConfigCenterConfig configCenter = new ConfigCenterConfig();
+configCenter.setAddress("zookeeper://127.0.0.1:2181");
+```
+
+`address` 格式请参考 [zookeeper 注册中心 -
启用配置](../../registry/zookeeper/#22-配置并启用-zookeeper)
+
+## 3 高级配置
+如要开启认证鉴权,请参考 [zookeeper 注册中心 - 启用认证鉴权](../../registry/zookeeper/#31-认证与鉴权)
+
+### 3.1 外部化配置
```yaml
+dubbo
+ config-center
+ address: zookeeper://127.0.0.1:2181
+ config-file: dubbo.properties
+```
+
+`config-file` - 外部化配置文件 key 值,默认 `dubbo.properties`。`config-file` 代表将 Dubbo
配置文件存储在远端注册中心时,文件在配置中心对应的 key 值,通常不建议修改此配置项。
+### 3.1 设置 group 与 namespace
+```yaml
+dubbo
+ config-center
+ address: zookeeper://127.0.0.1:2181
+ group: dubbo-cluster1
+ namespace: dev1
```
-## 高级配置
+对配置中心而言,`group` 与 `namespace` 应该是全公司(集群)统一的,应该避免不同应用使用不同的值。
+
+## 4 工作原理
+
+### 4.1 外部化配置
+外部化配置的存储结构如下图所示
+
+
+
+- namespace,用于不同配置的环境隔离。
+- config,Dubbo约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。
+- dubbo 与 application,分别用来隔离全局配置、应用级别配置:dubbo 是默认 group 值,application 对应应用名
+- dubbo.properties,此节点的node value存储具体配置内容
+
+### 4.2 流量治理规则
+所有流量治理规则默认都存储在 `/dubbo/config` 节点下,具体节点结构图如下:
-### 隔离
-###
-### 隔离
+
-## 工作原理
+- namespace,用于不同配置的环境隔离。
+- config,Dubbo 约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。
+- dubbo,所有服务治理规则都是全局性的,dubbo 为默认节点
+- configurators/tag-router/condition-router/migration,不同的服务治理规则类型,node value
存储具体规则内容
\ No newline at end of file
diff --git a/content/zh/docs3-v2/java-sdk/reference-manual/config/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config/_index.md
index 17195b7fcd..1faffcfc38 100644
--- a/content/zh/docs3-v2/java-sdk/reference-manual/config/_index.md
+++ b/content/zh/docs3-v2/java-sdk/reference-manual/config/_index.md
@@ -4,5 +4,5 @@ title: "配置手册"
linkTitle: "配置说明"
weight: 1
description: "Dubbo
抽象了一系列的结构化配置,对不同的用户而言,既可以以最小化配置快速启动服务,又可以在需要时通过复杂的配置精确的控制服务行为;
- 除了 API + Properties 的基本使用方式之外,通过与 Spring 的集成 Dubbo 在配置形式上还支持
Annotation、XML、YAML 等。"
+ 除了 API + Properties 的基本使用方式之外,通过与 Spring 的集成 Dubbo 在配置形式上还支持
SpringBoot、Annotation、XML、YAML 等。"
---
\ No newline at end of file
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config/environment-variables.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config/environment-variables.md
deleted file mode 100644
index b98714ac4a..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/config/environment-variables.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-type: docs
-title: "自动加载环境变量"
-linkTitle: "自动加载环境变量"
-weight: 70
-description: "在 Dubbo 中自动加载环境变量"
----
-
-从 2.7.3 版本开始,Dubbo 会自动从约定 key 中读取配置,并将配置以 Key-Value 的形式写入到URL中。
-
-支持的 key 有以下两个:
-
-1. `dubbo.labels`,指定一些列配置到 URL 中的键值对,通常通过 JVM -D 或系统环境变量指定。
-
- 增加以下配置:
-
- ```properties
- # JVM
- -Ddubbo.labels = "tag1=value1; tag2=value2"
- # 环境变量
- DUBBO_LABELS = "tag1=value1; tag2=value2"
- ```
-
- 最终生成的 URL 会包含 tag1、tag2 两个 key: `dubbo://xxx?tag1=value1&tag2=value2`
-
-2. `dubbo.env.keys`,指定环境变量 key 值,Dubbo 会尝试从环境变量加载每个 key
-
- ```properties
- # JVM
- -Ddubbo.env.keys = "DUBBO_TAG1, DUBBO_TAG2"
- # 环境变量
- DUBBO_ENV_KEYS = "DUBBO_TAG1, DUBBO_TAG2"
- ```
-
- 最终生成的 URL 会包含 DUBBO_TAG1、DUBBO_TAG2 两个 key:
`dubbo://xxx?DUBBO_TAG1=value1&DUBBO_TAG2=value2`
\ No newline at end of file
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config/external-config.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config/external-config.md
deleted file mode 100644
index 09c586aec5..0000000000
--- a/content/zh/docs3-v2/java-sdk/reference-manual/config/external-config.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-type: docs
-title: "外部化配置"
-linkTitle: "外部化配置"
-weight: 60
-description: "将Dubbo应用的配置放到外部集中管理"
----
-
-### 外部化配置
-
-外部化配置目的之一是实现配置的集中式管理,这部分业界已经有很多成熟的专业配置系统如 Apollo, Nacos 等,Dubbo
所做的主要是保证能配合这些系统正常工作。
-
-外部化配置和其他本地配置在内容和格式上并无区别,可以简单理解为 `dubbo.properties`
的外部化存储,配置中心更适合将一些公共配置如注册中心、元数据中心配置等抽取以便做集中管理。
-
-```properties
-# 将注册中心地址、元数据中心地址等配置集中管理,可以做到统一环境、减少开发侧感知。
-dubbo.registry.address=zookeeper://127.0.0.1:2181
-dubbo.registry.simplified=true
-
-dubbo.metadata-report.address=zookeeper://127.0.0.1:2181
-
-dubbo.protocol.name=dubbo
-dubbo.protocol.port=20880
-
-dubbo.application.qos.port=33333
-```
-
-- 优先级
-
- 外部化配置默认较本地配置有更高的优先级,因此这里配置的内容会覆盖本地配置值,关于 各配置形式间的[覆盖关系](../overview#覆盖关系)
有单独一章说明。
-
-- 作用域
-
-
外部化配置有全局和应用两个级别,全局配置是所有应用共享的,应用级配置是由每个应用自己维护且只对自身可见的。当前已支持的扩展实现有Zookeeper、Apollo、Nacos。
-
-### 配置中心
-
-从配置中心读取外部化配置,可以按照下面的方法指定配置中心:
-
-```xml
-<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
-```
-
-或者
-
-```properties
-dubbo.config-center.address=zookeeper://127.0.0.1:2181
-```
-
-或者
-
-```java
-ConfigCenterConfig configCenter = new ConfigCenterConfig();
-configCenter.setAddress("zookeeper://127.0.0.1:2181");
-```
-
-#### Zookeeper
-
-```xml
-<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
-```
-
-默认所有的配置都存储在 `/dubbo/config` 节点,具体节点结构图如下:
-
-
-
-- namespace,用于不同配置的环境隔离。
-- config,Dubbo约定的固定节点,不可更改,所有配置和服务治理规则都存储在此节点下。
-- dubbo/application,分别用来隔离全局配置、应用级别配置:dubbo是默认group值,application对应应用名
-- dubbo.properties,此节点的node value存储具体配置内容
-
-
-
-#### Apollo
-
-```xml
-<dubbo:config-center protocol="apollo" address="127.0.0.1:2181"/>
-```
-
-Apollo中的一个核心概念是命名空间 -
namespace(和上面zookeeper的namespace概念不同),在这里全局和应用级别配置就是通过命名空间来区分的。
-
-默认情况下,Dubbo会从名叫`dubbo`(由于 Apollo 不支持特殊后缀 `.properties`
)的命名空间中读取全局配置(`<dubbo:config-center namespace="your namespace">`)
-
-
-
-由于 Apollo 也默认将会在 `dubbo` namespace 中存储服务治理规则(如路由规则),建议通过单独配置 `group`
将服务治理和配置文件托管分离开,以 XML 配置方式为例:
-```xml
-<dubbo namespace="governance" group ="dubbo"/>
-```
-这里,服务治理规则将存储在 governance namespace,而配置文件将存储在 dubbo namespace,如下图所示:
-
-
-> 关于文件配置托管,相当于是把 `dubbo.properties` 配置文件的内容存储在了 Apollo 中,应用通过关联共享的 `dubbo`
namespace 继承公共配置,
-> 应用也可以按照 Apollo 的做法来覆盖个别配置项。
-
-#### Nacos
-```xml
-<dubbo:config-center
address="nacos://127.0.0.1:8848?username=nacos&password=nacos">
-</dubbo:config-center>
-```
-
-Nacos虽然也存在命名空间 - namespace 的概念,但在 namespace 之下,还存在 group 概念。即通过 namespace 和
group 以及 dataId 去定位一个配置项,在不指定 namespace 的情况下,默认使用 `public` 作为默认的命名空间。
-
-在默认情况下,全局配置会读取 namespace : `public`,dataId: `dubbo.properties`,group: `dubbo`
配置项中的内容作为全局配置。应用级别的 group 和全局级别的 group 存在一点差异, 应用级别会读取 namespace:
`public`,dataId: `dubbo.properties`,group: `your application name` 作为应用级别的配置。
-
-全局:
-
-
-应用级别:
-
-
-
-### 自己加载外部化配置
-
-所谓 Dubbo 对配置中心的支持,本质上就是把 `.properties` 从远程拉取到本地,然后和本地的配置做一次融合。理论上只要 Dubbo
框架能拿到需要的配置就可以正常的启动,它并不关心这些配置是自己加载到的还是应用直接塞给它的,所以Dubbo还提供了以下API,让用户将自己组织好的配置塞给
Dubbo 框架(配置加载的过程是用户要完成的),这样 Dubbo 框架就不再直接和 Apollo 或 Zookeeper 做读取配置交互。
-
-```java
-// 应用自行加载配置
-Map<String, String> dubboConfigurations = new HashMap<>();
-dubboConfigurations.put("dubbo.registry.address",
"zookeeper://127.0.0.1:2181");
-dubboConfigurations.put("dubbo.registry.simplified", "true");
-
-//将组织好的配置塞给Dubbo框架
-ConfigCenterConfig configCenter = new ConfigCenterConfig();
-configCenter.setExternalConfig(dubboConfigurations);
-```
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config/overview/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config/overview/_index.md
index cff9ef1cc9..05aefe426a 100644
--- a/content/zh/docs3-v2/java-sdk/reference-manual/config/overview/_index.md
+++ b/content/zh/docs3-v2/java-sdk/reference-manual/config/overview/_index.md
@@ -6,9 +6,9 @@ weight: 1
description: "对 Dubbo 配置总体设计与工作原理进行了总体概述,包括配置组件、配置来源、配置方式及配置加载流程等。"
---
通过以下链接快速跳转到关心的内容:
-* [使用 Spring Boot 快速开发 Dubbo 应用](../../../quick-start/)
-* [配置项参考手册](../properties)
-* [配置加载及覆盖原理](../principle)
+* [使用 Spring Boot 快速开发 Dubbo 应用](../../../quick-start/spring-boot/)
+* [配置项参考手册,了解有哪些配置项可用](../properties)
+* [配置加载及覆盖的工作原理](../principle)
* [运行态地址 URL 及优先级规则](../blog)
## 配置组件
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/config/principle/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/config/principle/_index.md
index 5f7d464979..a3e20f989e 100644
--- a/content/zh/docs3-v2/java-sdk/reference-manual/config/principle/_index.md
+++ b/content/zh/docs3-v2/java-sdk/reference-manual/config/principle/_index.md
@@ -329,82 +329,36 @@ dubbo.application.qos.port=33333
- 作用域
外部化配置有全局和应用两个级别,全局配置是所有应用共享的,应用级配置是由每个应用自己维护且只对自身可见的。当前已支持的扩展实现有
Zookeeper、Apollo、Nacos。
-#### 配置中心
+#### 3.3.1 外部化配置使用方式
-从配置中心读取外部化配置,可以按照下面的方法指定配置中心:
+1. 增加 config-center 配置
```xml
<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
```
-或者
+2. 在相应的配置中心(zookeeper、Nacos 等)增加全局配置项,如下以 Nacos 为例:
-```properties
-dubbo.config-center.address=zookeeper://127.0.0.1:2181
-```
-
-或者
-
-```java
-ConfigCenterConfig configCenter = new ConfigCenterConfig();
-configCenter.setAddress("zookeeper://127.0.0.1:2181");
-```
-
-#### Zookeeper
-
-```xml
-<dubbo:config-center address="zookeeper://127.0.0.1:2181"/>
-```
-
-默认所有的配置都存储在 `/dubbo/config` 节点,具体节点结构图如下:
-
-
-
-- namespace,用于不同配置的环境隔离。
-- config,Dubbo约定的固定节点,不可更改,所有配置和服务治理规则都存储在此节点下。
-- dubbo/application,分别用来隔离全局配置、应用级别配置:dubbo是默认group值,application对应应用名
-- dubbo.properties,此节点的node value存储具体配置内容
+
-#### Apollo
+开启外部化配置后,registry、metadata-report、protocol、qos
等全局范围的配置理论上都不再需要在应用中配置,应用开发侧专注业务服务配置,一些全局共享的全局配置转而由运维人员统一配置在远端配置中心。
-```xml
-<dubbo:config-center protocol="apollo" address="127.0.0.1:2181"/>
-```
-
-Apollo中的一个核心概念是命名空间 -
namespace(和上面zookeeper的namespace概念不同),在这里全局和应用级别配置就是通过命名空间来区分的。
-
-默认情况下,Dubbo会从名叫`dubbo`(由于 Apollo 不支持特殊后缀 `.properties`
)的命名空间中读取全局配置(`<dubbo:config-center namespace="your namespace">`)
-
-
-
-由于 Apollo 也默认将会在 `dubbo` namespace 中存储服务治理规则(如路由规则),建议通过单独配置 `group`
将服务治理和配置文件托管分离开,以 XML 配置方式为例:
-```xml
-<dubbo namespace="governance" group ="dubbo"/>
-```
-这里,服务治理规则将存储在 governance namespace,而配置文件将存储在 dubbo namespace,如下图所示:
-
+这样能做到的效果就是,应用只需要关心:
+* 服务暴露、订阅配置
+* 配置中心地址
+当部署到不同的环境时,其他配置就能自动的被从对应的配置中心读取到。
-> 关于文件配置托管,相当于是把 `dubbo.properties` 配置文件的内容存储在了 Apollo 中,应用通过关联共享的 `dubbo`
namespace 继承公共配置,
-> 应用也可以按照 Apollo 的做法来覆盖个别配置项。
+举例来说,每个应用中 Dubbo 相关的配置只有以下内容可能就足够了,其余的都托管给相应环境下的配置中心:
-#### Nacos
-```xml
-<dubbo:config-center
address="nacos://127.0.0.1:8848?username=nacos&password=nacos">
-</dubbo:config-center>
+```yaml
+dubbo
+ application
+ name: demo
+ config-center
+ address: nacos://127.0.0.1:8848
```
-Nacos虽然也存在命名空间 - namespace 的概念,但在 namespace 之下,还存在 group 概念。即通过 namespace 和
group 以及 dataId 去定位一个配置项,在不指定 namespace 的情况下,默认使用 `public` 作为默认的命名空间。
-
-在默认情况下,全局配置会读取 namespace : `public`,dataId: `dubbo.properties`,group: `dubbo`
配置项中的内容作为全局配置。应用级别的 group 和全局级别的 group 存在一点差异, 应用级别会读取 namespace:
`public`,dataId: `dubbo.properties`,group: `your application name` 作为应用级别的配置。
-
-全局:
-
-
-应用级别:
-
-
-
-#### 自己加载外部化配置
+#### 3.3.2 自行加载外部化配置
所谓 Dubbo 对配置中心的支持,本质上就是把 `.properties` 从远程拉取到本地,然后和本地的配置做一次融合。理论上只要 Dubbo
框架能拿到需要的配置就可以正常的启动,它并不关心这些配置是自己加载到的还是应用直接塞给它的,所以Dubbo还提供了以下API,让用户将自己组织好的配置塞给
Dubbo 框架(配置加载的过程是用户要完成的),这样 Dubbo 框架就不再直接和 Apollo 或 Zookeeper 做读取配置交互。
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/_index.md
index 7fed8cf789..e62f86cf01 100644
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/_index.md
+++
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/_index.md
@@ -5,3 +5,398 @@ linkTitle: "Nacos"
weight: 3
description: ""
---
+
+
+#简单介绍
+Dubbo
provider中的服务配置项有接近[30个配置项](https://dubbo.apache.org/zh/docs/references/xml/dubbo-provider/)
。
排除注册中心服务治理需要之外,很大一部分配置项是provider自己使用,不需要透传给消费者。这部分数据不需要进入注册中心,而只需要以key-value形式持久化存储。
+
+Dubbo
consumer中的配置项也有[20+个配置项](https://dubbo.apache.org/zh/docs/references/xml/dubbo-consumer/)
。在注册中心之中,服务消费者列表中只需要关注application、version、group、ip、dubbo版本等少量配置,其他配置也可以以key-value形式持久化存储。
+
+这些数据是以服务为维度注册进入注册中心,导致了数据量的膨胀,进而引发注册中心(如nacos)的网络开销增大,性能降低。
+
+除了上述配置项的存储之外,Dubbo服务元数据信息也需要被存储下来。元数据信息包括服务接口列表和接口的方法信息,这些信息将被用于服务mock和服务测试。
+
+使用Dubbo`3.0.0`及以上版本时,引入了应用元数据的概念,并且引入了服务自省映射,用于应用级别的服务发现。
+
+# 预备工作
+-
了解[Dubbo基本开发步骤](https://dubbo.apache.org/zh/docs3-building/java-sdk/quick-start/spring-boot/)
+- 启动nacos server,请参考[nacos快速入门](https://nacos.io/zh-cn/docs/quick-start.html)
+
+> 当Dubbo使用`3.0.0`及以上版本时,需要使用Nacos `2.0.0`及以上版本
+
+# 快速上手
+Dubbo 融合 Nacos 成为元数据中心的操作步骤非常简单,大致分为“增加 Maven 依赖”以及“配置元数据中心”两步。
+> 如果元数据地址(dubbo.metadata-report.address)也不进行配置,会使用注册中心的地址来用作元数据中心。
+
+## 增加Maven依赖
+只需要将dubbo-metadata-report-nacos的Maven依赖添加到pom.xml文件中即可。
+
+引入dubbo-metadata-report-nacos会自动引入dubbo-configcenter-nacos,将元数据放到配置中心。
+
+Dubbo`3.0.0`及以上版本,dubbo-metadata-report-nacos引入nacos-client版本为`2.0.0`及以上版本。
+```xml
+<dependencies>
+ ...
+ <!-- Dubbo Nacos Metadata Report dependency -->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-metadata-report-nacos</artifactId>
+ <version>3.0.7</version>
+ </dependency>
+
+ <!-- Dubbo dependency -->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo</artifactId>
+ <version>3.0.7</version>
+ </dependency>
+ ...
+</dependencies>
+```
+
+## 配置元数据中心
+如果Dubbo使用 Spring Framework 装配,有三种配置方法分别为:
+- [Dubbo Spring 外部化配置](#method1)
+- [Spring XML 配置文件](#method2)
+- [API配置](#method3)
+
+### <a id="method1">Dubbo Spring外部化配置</a>
+Dubbo Spring 外部化配置是由 Dubbo 2.5.8引入的新特性,可通过 Spring Environment 属性自动地生成并绑定 Dubbo
配置 Bean,实现配置简化,并且降低微服务开发门槛。
+
+当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Dubbo外部化配置文件中添加以下配置:
+
+```properties
+## application
+dubbo.application.name=your-dubbo-application
+
+## Nacos Metadata Report address
+dubbo.metadata-report.address=nacos://10.20.153.10:8848
+
+##如果要使用其他参数,可以使用以下2种方式
+#第一种方式
+#dubbo.metadata-report.address=nacos://10.20.153.10:8848?username=nacos&password=nacos&namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932&group=demo
+
+#第二种方式
+#dubbo.metadata-report.address=nacos://10.20.153.10:8848
+#dubbo.metadata-report.username=nacos
+#dubbo.metadata-report.password=nacos
+#dubbo.metadata-report.parameters.namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932
+#dubbo.metadata-report.group=demo
+...
+
+```
+可配置的参数参考完整配置项说明
+
+>
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
+
+设置方式如下:
+```properties
+ ##设置是否注册消费者的参数,可以使用以下2种方式
+ #第一种方式
+
#dubbo.registry.address=nacos://10.20.153.10:8848?report-consumer-definition=true
+
+ #第二种方式
+ #dubbo.registry.address=nacos://10.20.153.10:8848
+ #dubbo.registry.parameters.report-consumer-definition=true
+ ```
+随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
+
+
+
+#### 应用级别元数据
+
+应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
+
+>
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
+
+设置方式如下:
+```properties
+ #设置是否暴露应用级别元数据,可以使用以下2种方式
+ #第一种方式
+ dubbo.metadata-report.address=nacos://10.20.153.10:8848
+ dubbo.application.metadata-type=remote
+
+ #第二种方式
+ #dubbo.metadata-report.address=nacos://10.20.153.10:8848
+ #dubbo.metadata-report.report-metadata=true
+ #或
+ #dubbo.metadata-report.address=nacos://10.20.153.10:8848?report-metadata=true
+ ```
+元数据信息详情:
+
+
+
+#### 接口级别元数据
+
+在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 ```public``` 作为默认的命名空间。
+
+```properties
+Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
+```
+当 version 或者 group 不存在时`:` 依然保留:
+```properties
+Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
+```
+
+Providers接口元数据详情:
+
+
+
+Consumers接口元信息详情:
+
+
+
+### <a id="method2">Spring XML配置文件</a>
+同样,当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Spring
Bean在XML文件中添加以下配置:
+
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+ http://dubbo.apache.org/schema/dubbo
+ http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
+
+ <!-- 提供方应用信息 -->
+ <dubbo:application name="your-dubbo-application"/>
+
+ <!-- 使用 Nacos 元数据中心 -->
+ <dubbo:metadata-report address="nacos://10.20.153.10:8848"
username="nacos" password="nacos" />
+
+ <!-- 如果要使用其他参数可以使用下面方式 -->
+ <!-- 当参数在xsd中有定义时,可用以下方式 -->
+ <!-- <dubbo:metadata-report address="nacos:// 10.20.153.10:8848"
username="nacos" password="nacos" group="demo" /> -->
+
+ <!-- 或者使用以下方式,将参数配置在address中 -->
+ <!-- <dubbo:metadata-report
address="nacos://10.20.153.10:8848?namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932"
username="nacos" password="nacos" /> -->
+ ...
+</beans>
+```
+可配置的参数参考完整配置项说明
+
+>
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
+
+设置方式如下:
+```xml
+ <?xml version="1.0" encoding="UTF-8"?>
+ <beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+ http://dubbo.apache.org/schema/dubbo
+ http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
+
+ ...
+ <!-- 使用 Nacos 元数据中心 -->
+ <dubbo:metadata-report
address="nacos://10.20.153.10:8848?report-consumer-definition=true"
username="nacos" password="nacos" />
+ ...
+ </beans>
+ ```
+
+随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
+
+
+
+#### 应用级别元数据
+应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
+
+>
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
+
+设置方式如下:
+ ```xml
+ <?xml version="1.0" encoding="UTF-8"?>
+ <beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+ http://dubbo.apache.org/schema/dubbo
+ http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
+ ...
+ <!-- 设置是否暴露应用级别元数据,可以使用以下两种方式-->
+ <!-- 第一种方式 -->
+ <dubbo:application name="your-dubbo-application" metadata-type="remote"/>
+
+ <!-- 第二种方式 -->
+ <dubbo:metadata-report address="nacos://10.20.153.10:8848" username="nacos"
password="nacos" report-metadata="true"/>
+ ...
+ </beans>
+ ```
+
+元数据信息详情:
+
+
+#### 接口级别元数据
+在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 ```public``` 作为默认的命名空间。
+
+```properties
+Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
+```
+当 version 或者 group 不存在时`:` 依然保留:
+
+```properties
+Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
+```
+
+Providers接口元数据详情:
+
+
+
+Consumers接口元信息详情:
+
+
+
+
+### <a id="method3">API配置</a>
+同样,当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Spring
Bean在XML文件中添加以下配置:
+
+```java
+public class ProviderBootstrap {
+
+ @Bean
+ public MetadataReportConfig metadataReportConfig() {
+ MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
+ // 使用 Nacos 元数据中心
+
metadataReportConfig.setAddress("nacos://10.20.153.10:8848?username=nacos&password=nacos");
+
+ //如果要使用其他参数可以使用下面方式
+ //作为地址参数传入
+
//metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos&namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932");
+
+ //直接set值,如果set没有找到相关参数,可以放入parameters中
+ //metadataReportConfig.setAddress("nacos://localhost:8848");
+ //metadataReportConfig.setUsername("nacos");
+ //metadataReportConfig.setPassword("nacos");
+ //
+ //Map<String, String> map = new HashMap();
+ //map.put("namespace","5cbb70a5-xxx-xxx-xxx-d43479ae0932");
+ //metadataReportConfig.setParameters(map);
+
+ return metadataReportConfig;
+ }
+
+}
+```
+可配置的参数参考完整配置项说明
+
+>
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
+
+设置方式如下:
+
+> ```java
+> public class ConsumerBootstrap {
+> @Bean
+> public MetadataReportConfig metadataReportConfig() {
+> MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
+>
metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos&report-consumer-definition=true");
+> return metadataReportConfig;
+> }
+> }
+> ```
+随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
+
+
+
+#### 应用级别元数据
+应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
+
+>
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
+
+设置方式如下:
+ ```java
+ public class ProviderBootstrap {
+
+ //设置是否暴露应用级别元数据,可以使用以下两种方式
+ //第一种方式
+ @Bean
+ public MetadataReportConfig metadataReportConfig() {
+ MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
+
metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos");
+ metadataReportConfig.setReportMetadata(true);
+ return metadataReportConfig;
+ }
+
+ //第二种方式
+ @Bean
+ public ApplicationConfig applicationConfig() {
+ ApplicationConfig applicationConfig = new ApplicationConfig();
+ applicationConfig.setName("nacos-metadata-demo-provider-annotation");
+ applicationConfig.setMetadataType(REMOTE_METADATA_STORAGE_TYPE);
+ return applicationConfig;
+ }
+ }
+ ```
+
+元数据信息详情:
+
+
+
+#### 接口级别元数据
+在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 `public` 作为默认的命名空间。
+
+```properties
+Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
+```
+
+当 version 或者 group 不存在时`:` 依然保留:
+
+```properties
+Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
+Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
+```
+
+Providers接口元数据详情:
+
+
+
+Consumers接口元信息详情:
+
+
+
+
+
+# 服务自省映射 - Service Name Mapping
+
+Dubbo`3.0.0`及以上版本中,默认使用了服务自省机制去实现服务发现,关于服务自省可以查看[服务自省](https://mercyblitz.github.io/2020/05/11/Apache-Dubbo-服务自省架构设计/)
+
+简而言之,服务自省机制需要能够通过 interface name 去找到对应的 application name,这个关系可以是一对多的,即一个
service name 可能会对应多个不同的 application name。在 3.0 中,元数据中心提供此项映射的能力。
+
+在上面提到,service name 和 application name 可能是一对多的,在 nacos 中,使用单个 key-value 进行保存,多个
application name 通过英文逗号,隔开。由于是单个 key-value 去保存数据,在多客户端的情况下可能会存在并发覆盖的问题。因此,我们使用
nacos 中 publishConfigCas 的能力去解决该问题。在 nacos 中,使用 publishConfigCas 会让用户传递一个参数
casMd5,该值的含义是之前配置内容的 md5 值。不同客户端在更新之前,先去查一次 nacos 的 content 的值,计算出 md5
值,当作本地凭证。在更新时,把凭证 md5 传到服务端比对 md5 值,
如果不一致说明在次期间被其他客户端修改过,重新获取凭证再进行重试(CAS)。目前如果重试6次都失败的话,放弃本次更新映射行为。
+
+Nacos api:
+
+```properties
+ConfigService configService = ...
+configService.publishConfigCas(key, group, content, ticket);
+```
+
+映射信息位于 ```namespace: ‘public’, dataId: ‘{service name}’, group: ‘mapping’```.
+
+
+
+# 完整配置项
+
+参数名 | 中文描述| 默认值
+---|---|---
+username|连接Nacos Server的用户名|空
+paasword|连接Nacos Server的密码|空
+backup|访问Nacos备用地址|空
+namespace|命名空间的ID|public
+group|分组名称|DEFAULT_GROUP
+timeout|请求元数据中心超时时间(ms)|
+retry-time|重试次数|100
+retry-period|重试间隔时间(ms)|3000
+cycle-report|是否每天上报元数据|true
+sync-report|是否同步上报元数据|false
+file|保存元数据中心动态列表的文件|空
+report-metadata|当metadataType为local时是否上报应用元数据|false
+report-definition|是否上报接口级别元数据|true
+report-consumer-definition|是否上报消费端|false
\ No newline at end of file
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/guide.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/guide.md
deleted file mode 100644
index 7ddf7e606f..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/guide.md
+++ /dev/null
@@ -1,400 +0,0 @@
----
-type: docs
-title: "使用说明"
-linkTitle: "使用说明"
-weight: 2
----
-
-#简单介绍
-Dubbo
provider中的服务配置项有接近[30个配置项](https://dubbo.apache.org/zh/docs/references/xml/dubbo-provider/)
。
排除注册中心服务治理需要之外,很大一部分配置项是provider自己使用,不需要透传给消费者。这部分数据不需要进入注册中心,而只需要以key-value形式持久化存储。
-
-Dubbo
consumer中的配置项也有[20+个配置项](https://dubbo.apache.org/zh/docs/references/xml/dubbo-consumer/)
。在注册中心之中,服务消费者列表中只需要关注application、version、group、ip、dubbo版本等少量配置,其他配置也可以以key-value形式持久化存储。
-
-这些数据是以服务为维度注册进入注册中心,导致了数据量的膨胀,进而引发注册中心(如nacos)的网络开销增大,性能降低。
-
-除了上述配置项的存储之外,Dubbo服务元数据信息也需要被存储下来。元数据信息包括服务接口列表和接口的方法信息,这些信息将被用于服务mock和服务测试。
-
-使用Dubbo`3.0.0`及以上版本时,引入了应用元数据的概念,并且引入了服务自省映射,用于应用级别的服务发现。
-
-# 预备工作
--
了解[Dubbo基本开发步骤](https://dubbo.apache.org/zh/docs3-building/java-sdk/quick-start/spring-boot/)
-- 启动nacos server,请参考[nacos快速入门](https://nacos.io/zh-cn/docs/quick-start.html)
-
-> 当Dubbo使用`3.0.0`及以上版本时,需要使用Nacos `2.0.0`及以上版本
-
-# 快速上手
-Dubbo 融合 Nacos 成为元数据中心的操作步骤非常简单,大致分为“增加 Maven 依赖”以及“配置元数据中心”两步。
-> 如果元数据地址(dubbo.metadata-report.address)也不进行配置,会使用注册中心的地址来用作元数据中心。
-
-## 增加Maven依赖
-只需要将dubbo-metadata-report-nacos的Maven依赖添加到pom.xml文件中即可。
-
-引入dubbo-metadata-report-nacos会自动引入dubbo-configcenter-nacos,将元数据放到配置中心。
-
-Dubbo`3.0.0`及以上版本,dubbo-metadata-report-nacos引入nacos-client版本为`2.0.0`及以上版本。
-```xml
-<dependencies>
- ...
- <!-- Dubbo Nacos Metadata Report dependency -->
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-metadata-report-nacos</artifactId>
- <version>3.0.7</version>
- </dependency>
-
- <!-- Dubbo dependency -->
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo</artifactId>
- <version>3.0.7</version>
- </dependency>
- ...
-</dependencies>
-```
-
-## 配置元数据中心
-如果Dubbo使用 Spring Framework 装配,有三种配置方法分别为:
-- [Dubbo Spring 外部化配置](#method1)
-- [Spring XML 配置文件](#method2)
-- [API配置](#method3)
-
-### <a id="method1">Dubbo Spring外部化配置</a>
-Dubbo Spring 外部化配置是由 Dubbo 2.5.8引入的新特性,可通过 Spring Environment 属性自动地生成并绑定 Dubbo
配置 Bean,实现配置简化,并且降低微服务开发门槛。
-
-当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Dubbo外部化配置文件中添加以下配置:
-
-```properties
-## application
-dubbo.application.name=your-dubbo-application
-
-## Nacos Metadata Report address
-dubbo.metadata-report.address=nacos://10.20.153.10:8848
-
-##如果要使用其他参数,可以使用以下2种方式
-#第一种方式
-#dubbo.metadata-report.address=nacos://10.20.153.10:8848?username=nacos&password=nacos&namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932&group=demo
-
-#第二种方式
-#dubbo.metadata-report.address=nacos://10.20.153.10:8848
-#dubbo.metadata-report.username=nacos
-#dubbo.metadata-report.password=nacos
-#dubbo.metadata-report.parameters.namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932
-#dubbo.metadata-report.group=demo
-...
-
-```
-可配置的参数参考完整配置项说明
-
->
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
-
-设置方式如下:
-```properties
- ##设置是否注册消费者的参数,可以使用以下2种方式
- #第一种方式
-
#dubbo.registry.address=nacos://10.20.153.10:8848?report-consumer-definition=true
-
- #第二种方式
- #dubbo.registry.address=nacos://10.20.153.10:8848
- #dubbo.registry.parameters.report-consumer-definition=true
- ```
-随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
-
-
-
-#### 应用级别元数据
-
-应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
-
->
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
-
-设置方式如下:
-```properties
- #设置是否暴露应用级别元数据,可以使用以下2种方式
- #第一种方式
- dubbo.metadata-report.address=nacos://10.20.153.10:8848
- dubbo.application.metadata-type=remote
-
- #第二种方式
- #dubbo.metadata-report.address=nacos://10.20.153.10:8848
- #dubbo.metadata-report.report-metadata=true
- #或
- #dubbo.metadata-report.address=nacos://10.20.153.10:8848?report-metadata=true
- ```
-元数据信息详情:
-
-
-
-#### 接口级别元数据
-
-在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 ```public``` 作为默认的命名空间。
-
-```properties
-Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
-```
-当 version 或者 group 不存在时`:` 依然保留:
-```properties
-Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
-```
-
-Providers接口元数据详情:
-
-
-
-Consumers接口元信息详情:
-
-
-
-### <a id="method2">Spring XML配置文件</a>
-同样,当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Spring
Bean在XML文件中添加以下配置:
-
-```xml
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://dubbo.apache.org/schema/dubbo
- http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
-
- <!-- 提供方应用信息 -->
- <dubbo:application name="your-dubbo-application"/>
-
- <!-- 使用 Nacos 元数据中心 -->
- <dubbo:metadata-report address="nacos://10.20.153.10:8848"
username="nacos" password="nacos" />
-
- <!-- 如果要使用其他参数可以使用下面方式 -->
- <!-- 当参数在xsd中有定义时,可用以下方式 -->
- <!-- <dubbo:metadata-report address="nacos:// 10.20.153.10:8848"
username="nacos" password="nacos" group="demo" /> -->
-
- <!-- 或者使用以下方式,将参数配置在address中 -->
- <!-- <dubbo:metadata-report
address="nacos://10.20.153.10:8848?namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932"
username="nacos" password="nacos" /> -->
- ...
-</beans>
-```
-可配置的参数参考完整配置项说明
-
->
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
-
-设置方式如下:
-```xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://dubbo.apache.org/schema/dubbo
- http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
-
- ...
- <!-- 使用 Nacos 元数据中心 -->
- <dubbo:metadata-report
address="nacos://10.20.153.10:8848?report-consumer-definition=true"
username="nacos" password="nacos" />
- ...
- </beans>
- ```
-
-随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
-
-
-
-#### 应用级别元数据
-应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
-
->
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
-
-设置方式如下:
- ```xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://dubbo.apache.org/schema/dubbo
- http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
- ...
- <!-- 设置是否暴露应用级别元数据,可以使用以下两种方式-->
- <!-- 第一种方式 -->
- <dubbo:application name="your-dubbo-application" metadata-type="remote"/>
-
- <!-- 第二种方式 -->
- <dubbo:metadata-report address="nacos://10.20.153.10:8848" username="nacos"
password="nacos" report-metadata="true"/>
- ...
- </beans>
- ```
-
-元数据信息详情:
-
-
-#### 接口级别元数据
-在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 ```public``` 作为默认的命名空间。
-
-```properties
-Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
-```
-当 version 或者 group 不存在时`:` 依然保留:
-
-```properties
-Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
-```
-
-Providers接口元数据详情:
-
-
-
-Consumers接口元信息详情:
-
-
-
-
-### <a id="method3">API配置</a>
-同样,当Dubbo使用Nacos为注册中心,假设启动服务器IP为:10.20.153.10,端口号为:8848,则在Spring
Bean在XML文件中添加以下配置:
-
-```java
-public class ProviderBootstrap {
-
- @Bean
- public MetadataReportConfig metadataReportConfig() {
- MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
- // 使用 Nacos 元数据中心
-
metadataReportConfig.setAddress("nacos://10.20.153.10:8848?username=nacos&password=nacos");
-
- //如果要使用其他参数可以使用下面方式
- //作为地址参数传入
-
//metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos&namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932");
-
- //直接set值,如果set没有找到相关参数,可以放入parameters中
- //metadataReportConfig.setAddress("nacos://localhost:8848");
- //metadataReportConfig.setUsername("nacos");
- //metadataReportConfig.setPassword("nacos");
- //
- //Map<String, String> map = new HashMap();
- //map.put("namespace","5cbb70a5-xxx-xxx-xxx-d43479ae0932");
- //metadataReportConfig.setParameters(map);
-
- return metadataReportConfig;
- }
-
-}
-```
-可配置的参数参考完整配置项说明
-
->
Dubbo`3.0.0`版本以后,增加了是否注册消费者的元数据,如果需要将消费者元数据存放到nacos元数据中心上,需要将参数(report-consumer-definition)设置为true,默认是false。
-
-设置方式如下:
-
-> ```java
-> public class ConsumerBootstrap {
-> @Bean
-> public MetadataReportConfig metadataReportConfig() {
-> MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
->
metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos&report-consumer-definition=true");
-> return metadataReportConfig;
-> }
-> }
-> ```
-随后,重启Dubbo应用,在Nacos的控制台上可看到服务提供者和消费者的应用级别以及接口级别元数据信息:
-
-
-
-#### 应用级别元数据
-应用级别元数据只有当一个应用定义服务之后,才会进行暴露。会根据当前应用的自身信息,以及接口信息,去计算出该应用的 revision
修订值,用于保存应用级别元数据。
-
->
在Dubbo`3.0.0`及以上版本中,引入了应用元数据的概念,应用元数据描述的是整个应用的信息概览。如需暴露应用级别元数据,需要将配置参数metadata-type设置为remote(默认为local),或将参数reportMetadata设置为true(默认为false)。
-
-设置方式如下:
- ```java
- public class ProviderBootstrap {
-
- //设置是否暴露应用级别元数据,可以使用以下两种方式
- //第一种方式
- @Bean
- public MetadataReportConfig metadataReportConfig() {
- MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
-
metadataReportConfig.setAddress("nacos://localhost:8848?username=nacos&password=nacos");
- metadataReportConfig.setReportMetadata(true);
- return metadataReportConfig;
- }
-
- //第二种方式
- @Bean
- public ApplicationConfig applicationConfig() {
- ApplicationConfig applicationConfig = new ApplicationConfig();
- applicationConfig.setName("nacos-metadata-demo-provider-annotation");
- applicationConfig.setMetadataType(REMOTE_METADATA_STORAGE_TYPE);
- return applicationConfig;
- }
- }
- ```
-
-元数据信息详情:
-
-
-
-#### 接口级别元数据
-在 Nacos 中,本身就存在配置中心这个概念,正好用于元数据存储。在配置中心的场景下,存在命名空间- namespace 的概念,在 namespace
之下,还存在 group 概念。即通过 namespace 和 group 以及 dataId 去定位一个配置项,在不指定 namespace
的情况下,默认使用 `public` 作为默认的命名空间。
-
-```properties
-Provider: namespace: 'public', dataId: '{service
name}:{version}:{group}:provider:{application name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service
name}:{version}:{group}:consumer:{application name}', group: 'dubbo'
-```
-
-当 version 或者 group 不存在时`:` 依然保留:
-
-```properties
-Provider: namespace: 'public', dataId: '{service name}:::provider:{application
name}', group: 'dubbo'
-Consumer: namespace: 'public', dataId: '{service name}:::consumer:{application
name}', group: 'dubbo'
-```
-
-Providers接口元数据详情:
-
-
-
-Consumers接口元信息详情:
-
-
-
-
-
-# 服务自省映射 - Service Name Mapping
-
-Dubbo`3.0.0`及以上版本中,默认使用了服务自省机制去实现服务发现,关于服务自省可以查看[服务自省](https://mercyblitz.github.io/2020/05/11/Apache-Dubbo-服务自省架构设计/)
-
-简而言之,服务自省机制需要能够通过 interface name 去找到对应的 application name,这个关系可以是一对多的,即一个
service name 可能会对应多个不同的 application name。在 3.0 中,元数据中心提供此项映射的能力。
-
-在上面提到,service name 和 application name 可能是一对多的,在 nacos 中,使用单个 key-value 进行保存,多个
application name 通过英文逗号,隔开。由于是单个 key-value 去保存数据,在多客户端的情况下可能会存在并发覆盖的问题。因此,我们使用
nacos 中 publishConfigCas 的能力去解决该问题。在 nacos 中,使用 publishConfigCas 会让用户传递一个参数
casMd5,该值的含义是之前配置内容的 md5 值。不同客户端在更新之前,先去查一次 nacos 的 content 的值,计算出 md5
值,当作本地凭证。在更新时,把凭证 md5 传到服务端比对 md5 值,
如果不一致说明在次期间被其他客户端修改过,重新获取凭证再进行重试(CAS)。目前如果重试6次都失败的话,放弃本次更新映射行为。
-
-Nacos api:
-
-```properties
-ConfigService configService = ...
-configService.publishConfigCas(key, group, content, ticket);
-```
-
-映射信息位于 ```namespace: ‘public’, dataId: ‘{service name}’, group: ‘mapping’```.
-
-
-
-# 完整配置项
-
-参数名 | 中文描述| 默认值
----|---|---
-username|连接Nacos Server的用户名|空
-paasword|连接Nacos Server的密码|空
-backup|访问Nacos备用地址|空
-namespace|命名空间的ID|public
-group|分组名称|DEFAULT_GROUP
-timeout|请求元数据中心超时时间(ms)|
-retry-time|重试次数|100
-retry-period|重试间隔时间(ms)|3000
-cycle-report|是否每天上报元数据|true
-sync-report|是否同步上报元数据|false
-file|保存元数据中心动态列表的文件|空
-report-metadata|当metadataType为local时是否上报应用元数据|false
-report-definition|是否上报接口级别元数据|true
-report-consumer-definition|是否上报消费端|false
\ No newline at end of file
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/overview.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/overview.md
deleted file mode 100644
index c087fc3b6f..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/overview.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-type: docs
-title: "概述"
-linkTitle: "概述"
-weight: 1
----
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/guide.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/guide.md
deleted file mode 100644
index 37430b9214..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/guide.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-type: docs
-title: "使用说明"
-linkTitle: "使用说明"
-weight: 2
----
-
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/overview.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/overview.md
deleted file mode 100644
index c087fc3b6f..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/redis/overview.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-type: docs
-title: "概述"
-linkTitle: "概述"
-weight: 1
----
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/guide.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/guide.md
deleted file mode 100644
index 13dc994973..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/guide.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-type: docs
-title: "使用说明"
-linkTitle: "使用说明"
-weight: 2
----
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/overview.md
b/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/overview.md
deleted file mode 100644
index c087fc3b6f..0000000000
---
a/content/zh/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/overview.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-type: docs
-title: "概述"
-linkTitle: "概述"
-weight: 1
----
diff --git
a/content/zh/docs3-v2/java-sdk/reference-manual/registry/nacos/_index.md
b/content/zh/docs3-v2/java-sdk/reference-manual/registry/nacos/_index.md
index 5497d46504..ee2f41b1bb 100644
--- a/content/zh/docs3-v2/java-sdk/reference-manual/registry/nacos/_index.md
+++ b/content/zh/docs3-v2/java-sdk/reference-manual/registry/nacos/_index.md
@@ -22,23 +22,24 @@ description: "Nacos 注册中心的基本使用和工作原理。"
<artifactId>dubbo</artifactId>
<version>3.0.9</version>
</dependency>
- <!-- Introduce Nacos dependency, or you can add Nacos dependency directly
as shown blow-->
- <dependency>
- <groupId>org.apache.dubbo</groupId>
- <artifactId>dubbo-registry-nacos</artifactId>
- <version>3.0.9</version>
- </dependency>
- <!--
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
- <version></version>
+ <version>2.1.0</version>
</dependency>
- -->
+ <!-- Introduce Dubbo Nacos extension, or you can add Nacos dependency
directly as shown above-->
+ <!--
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-registry-nacos</artifactId>
+ <version>3.0.9</version>
+ </dependency>
+ -->
</dependencies>
```
增加 Dubbo 与 Nacos 依赖
->Dubbo `3.0.0`及以上版本,dubbo-registry-nacos引入nacos-client`2.0.0`及以上版本
+
+> Dubbo `3.0.0` 及以上版本需 nacos-client `2.0.0` 及以上版本
### 2.2 配置并启用 Nacos
diff --git a/content/zh/overview/whatsnew/triple.md
b/content/zh/overview/whatsnew/triple.md
index 331952d337..32a7d90f3f 100644
--- a/content/zh/overview/whatsnew/triple.md
+++ b/content/zh/overview/whatsnew/triple.md
@@ -14,10 +14,10 @@ Triple 是 Dubbo3 提出的基于 HTTP2 的开放协议,旨在解决 Dubbo2
目前 Java 和 Go 的 Dubbo SDK 已全面支持 Triple 协议。在阿里巴巴,Triple
协议广泛用于跨环境、跨语言、跨生态互通,已有数十万容器生产级使用。
-Java SDK 支持 [IDL 生成
Stub](../../../java-sdk/reference-manual/protocol/triple/idl)
-和 [Java Interface](../../../java-sdk/reference-manual/protocol/triple/idl)
两种方式,多语言、生态互通、流式需求推荐使用 IDL 方式,现有服务平滑升级推荐使用
+Java SDK 支持 [IDL 生成
Stub](../../../docs3-v2/java-sdk/reference-manual/protocol/triple/idl)
+和 [Java
Interface](../../../docs3-v2/java-sdk/reference-manual/protocol/triple/idl)
两种方式,多语言、生态互通、流式需求推荐使用 IDL 方式,现有服务平滑升级推荐使用
Interface 方式。
- Dubbo2 老用户如何[从现有协议升级至 Triple](TBD)
-- 新用户或业务参考[Dubbo3 Triple Quick Start](../../../docs3-v2/java-sdk/quick-start)
+- 新用户或业务参考[Dubbo3 Triple Quick
Start](../../../docs3-v2/java-sdk/quick-start/idl/)
- 深入了解 Triple 协议:[Dubbo3 Triple
协议设计与原理](https://github.com/apache/dubbo-awesome/blob/master/proposals/D0-triple.md)
diff --git a/static/imgs/v3/config-center/nacos-extenal-properties.png
b/static/imgs/v3/config-center/nacos-extenal-properties.png
new file mode 100644
index 0000000000..5c69bd9a9e
Binary files /dev/null and
b/static/imgs/v3/config-center/nacos-extenal-properties.png differ