This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git
The following commit(s) were added to refs/heads/master by this push:
new 3b3e53e update registry and config documents (#293)
3b3e53e is described below
commit 3b3e53ed7a1ccf958c9e47577e23a9262e5929e9
Author: liubao68 <[email protected]>
AuthorDate: Mon Oct 23 16:23:04 2023 +0800
update registry and config documents (#293)
---
.../zh_CN/docs/config/config-service.md | 52 +++++++++++++++-------
.../zh_CN/docs/registry/distributed.md | 6 +--
.../zh_CN/docs/registry/introduction.md | 50 +++++++++------------
.../zh_CN/docs/registry/nacos.md | 28 ++++++++++++
.../zh_CN/docs/registry/service-center.md | 30 +++++--------
java-chassis-reference/zh_CN/mkdocs.yml | 9 ++--
6 files changed, 104 insertions(+), 71 deletions(-)
diff --git a/java-chassis-reference/zh_CN/docs/config/config-service.md
b/java-chassis-reference/zh_CN/docs/config/config-service.md
index d5a8e18..e7506de 100644
--- a/java-chassis-reference/zh_CN/docs/config/config-service.md
+++ b/java-chassis-reference/zh_CN/docs/config/config-service.md
@@ -62,9 +62,13 @@
## 使用 nacos
-[nacos](https://github.com/alibaba/nacos) 是 alibaba 提供的配置中心。 java-chassis 从
2.1.0 版本支持 nacos。
-nacos的下载安装请参考官网介绍。
+* 下载安装
+
+ 可以通过 [nacos官网](https://github.com/alibaba/nacos) 下载和安装 Nacos。
+
+ <br/>
+* 开发使用
使用nacos,需要在项目中引入如下依赖:
```xml
@@ -80,18 +84,36 @@ nacos的下载安装请参考官网介绍。
servicecomb:
nacos:
serverAddr: http://127.0.0.1:8848
- group: jaxrstest
- dataId: jaxrsclient
- namespace: public
- # contentType 可以为 properties, yaml, raw.
- # raw: 只增加一个配置项 [group].[dataId]=value. nacos 的 JSON/TEXT/HTML等都对应这种类型
- # properties: 增加多个配置项。 配置项前缀为 [group].[dataId]
- # yaml: 增加多个配置项。 配置项前缀为 [group].[dataId]
- contentType: properties
- # if true [group].[dataId] will added as properties/yaml
- # items prefix. Will not influence raw.
- addPrefix: true
```
+ <br/>
+
+* 使用配置中心增加配置
+
+ Nacos的namespace对应于Java Chassis Environment, group对应于application。
客户端默认会读取下面几个层次的配置:
+
+ * 应用级配置:group为application名称,data-id为application名称,并且类型为yaml的配置。
+ * 服务级配置:group为application名称,data-id为微服务名称,并且类型为yaml的配置。
+ * 版本级配置:group为application名称,data-id为微服务名称+版本号,并且类型为yaml的配置, 比如: service-0.1
+ * Profile级配置:group为application名称,data-id为微服务名称+Profile名称,并且类型为yaml的配置, 比如:
service-dev
+ * 自定义配置:可以通过配置项定义group、data-id、类型等信息,详情参考配置项。。
+
+ 上述的配置级别,优先级从低到高。
+
+ <br/>
+
+* 配置项参考
+
+ |配置项名| 含义 | 缺省值 |
+ |-------------------------------------------------|--------|---|
+ |servicecomb.nacos.serverAddr|
NACOS访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址 | 空 |
+ |servicecomb.nacos.group| 自定义group |
空 |
+ |servicecomb.nacos.dataId| 自定义data-id |
空 |
+ |servicecomb.nacos.addPrefix| 是否使用group+data-id作为配置项前缀
| false |
+ |servicecomb.nacos.contentType| 自定义类型
| _yaml_ |
+ |servicecomb.nacos.username| 连接Nacos的用户名
| 空 |
+ |servicecomb.nacos.password| 连接Nacos的密码
| 空 |
+ |servicecomb.nacos.accessKey| 连接Nacos的Access Key
| 空 |
+ |servicecomb.nacos.secretKey| 连接Nacos的Secret Key
| 空 |
## 使用 Apollo
@@ -119,9 +141,9 @@ apollo:
firstRefreshInterval: 0
```
-## 华为云配置中心
+## 华为云CSE1.0配置中心
-华为云配置中心是华为云CSE产品的一个部件,java-chassis 最早使用它作为配置中心。 对接这个配置中心的代码在 config-cc 模块实现。
+华为云CSE1.0配置中心是华为云CSE产品的一个部件,java-chassis 最早使用它作为配置中心。 对接这个配置中心的代码在 config-cc
模块实现。
可以从[轻量化微服务引擎](https://cse-bucket.obs.myhwclouds.com/LocalCSE/Local-CSE-1.0.3.zip)下载本地使用的版本。也可以
直接访问华为云 [ServiceStage](https://console.huaweicloud.com/servicestage)
产品,使用在线的版本。
diff --git a/java-chassis-reference/zh_CN/docs/registry/distributed.md
b/java-chassis-reference/zh_CN/docs/registry/distributed.md
index 12b7e91..ed52ead 100644
--- a/java-chassis-reference/zh_CN/docs/registry/distributed.md
+++ b/java-chassis-reference/zh_CN/docs/registry/distributed.md
@@ -21,7 +21,7 @@ zero-config支持多种工作模式:
## zero-config 相关配置
-配置前缀: `servicecomb.service.zero-config`
+配置前缀: `servicecomb.registry.zero-config`
| 配置项 | 默认值 | 含义 |
| :--- | :--- | :--- |
@@ -37,7 +37,7 @@ zero-config支持多种工作模式:
```
servicecomb:
- service:
+ registry:
zero-config:
enable: true
mode: multicast
@@ -48,4 +48,4 @@ servicecomb:
multicast:
address: 0.0.0.0:6666
group: 225.6.7.8
-```
\ No newline at end of file
+```
diff --git a/java-chassis-reference/zh_CN/docs/registry/introduction.md
b/java-chassis-reference/zh_CN/docs/registry/introduction.md
index 8b2dbaf..a6a4653 100644
--- a/java-chassis-reference/zh_CN/docs/registry/introduction.md
+++ b/java-chassis-reference/zh_CN/docs/registry/introduction.md
@@ -13,47 +13,39 @@
## 注册发现信息
-* 微服务信息
+Java Chassis定了了几个维度的核心概念,注册发现和配置管理都围绕这几个核心概念来组织。
- servicecomb 的微服务信息在类 `Microservice` 中定义。 它主要包含应用 ID (appId), 微服务名称
(serviceName),
- 微服务版本(version),环境(environment) 等信息, 还包括契约。 契约是 servicecomb 治理管控的基础。
+* 环境 environment
+* 应用 application
+* 微服务名称 name
+* 微服务版本 version
+* 实例地址信息 Endpoints,一个实例可以包含多个协议的 Endpoint。
+
+此外还包括契约(schema)。 契约是Java Chassis治理管控的基础。
-* 实例信息
+这些基本信息通过 yaml 文件进行配置:
- servicecomb 的实例信息在类 `MicroserviceInstance` 中定义。 它主要包含网络地址(endpoints) 信息。
+```yaml
+servicecomb:
+ service:
+ application: basic-application
+ name: gateway
+ version: 0.0.1
-不同的注册发现机制,可能注册的信息和发现的信息不包括上述信息的全集,可以通过组合不同的注册发现机制,提供完整的信息。
-比如,可以通过 mDNS 的方式发现网络地址(endpoints)信息, 可以通过配置文件的方式,发现契约信息。
+ rest:
+ address: 0.0.0.0:9090?sslEnabled=false
+```
## 同时使用多个注册发现
-从 2.1.0 版本开始,可以同时使用多个注册发现的实现。组合不同的注册发现的实现,能够满足一些非常重要场景的需求。
+可以同时使用多个注册发现的实现。组合不同的注册发现的实现,能够满足一些非常重要场景的需求。
### 使用多个服务中心的约束和行为
* 服务注册
-使用多个服务中心,同时往多个服务中心注册。 当需要获取本服务 `Microservice` 和 `MicroserviceInstance`
-信息的时候,不同的注册中心的 `Microservice` ID 和 `MicroserviceInstance` ID 是不同的。
-`RegistrationManager` 接口返回的实例是优先级最高的 `Registration` 实现的实例。
+可以往多个不同的注册中心注册,不同的实例在注册的时候,需要保证每个实例(进程)具备唯一的实例ID,如果实例重启,需要生成新的实例ID,即使是在同一个物理主机。
* 服务发现
-如果多个注册中心都存在同一个微服务信息, 这些微服务信息必须满足 java chassis 的接口兼容性策略。 比如微服务
-A 存在 v1, v2, v3 三个版本, 在不同的注册中心注册的同一个版本 v3, 必须契约一样;v1, v2,v3 并存的情况下,
-v2 的接口需要兼容 v1, v3 的接口需要兼容 v2 (接口可以多,不能少, 要求开发的时候, 只增加接口,不删除接口)。
-
-如果不能满足上述约束, 请求过程中可能出现 404 找不到接口的错误。 这种错误在使用单个注册发现的情况下极少
-出现,参考[微服务接口兼容常见问题](../question-and-answer/interface-compatibility.md)。 在多个
-注册中心的情况下,使用不恰当就容易出现,比如通过 `本地服务注册发现` 定义了微服务 A 的信息, 只包含 2 个
-schema, 同时往 `服务中心` 注册了全量的 5 个 schema , 并且本地服务注册发现的版本 v3 高于 服务中心
-的 v1 版本, 那么这种情况就可能出现调用接口提示 404 的错误。
-
-因此建议在使用多个注册中心的时候, 满足下面的约束:
-
- 1. 一个微服务只在一个注册中心有信息,比如 本地注册中心只定义三方服务,服务中心用于 java chassis 服务注册发现。 或者,
- 2. 一个微服务在多个注册中心的信息是一样的,比如 使用多个 region 的服务中心,他们注册发现流程一样,可以保证信息一样。
-
-这样能够避免违背接口兼容性策略。
-
-
+实例ID相同的微服务实例,会被作为同一个实例进行管理。如果不同的注册中心实例ID相同,那么必须保证这些实例是同一个,否则会出现实例丢失或者覆盖的情况。
diff --git a/java-chassis-reference/zh_CN/docs/registry/nacos.md
b/java-chassis-reference/zh_CN/docs/registry/nacos.md
new file mode 100644
index 0000000..977610c
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/registry/nacos.md
@@ -0,0 +1,28 @@
+# 使用 nacos
+
+可以通过 [nacos官网](https://github.com/alibaba/nacos) 下载和安装 Nacos。
+
+Nacos的namespace对应于环境Environment, group对应于application, service对应于微服务名称。
+
+* 表1-1 访问Nacos常用的配置项
+
+| 配置项 | 默认值 | 是否必选 | 含义
|
+|:-----------------------------------------|:----------------------| :---
|:-----------------------|
+| servicecomb.registry.nacos.enabled | true | 是 | 是否启用。
|
+| servicecomb.registry.nacos.serverAddr | http://127.0.0.1:8848 | 是 |
服务中心的地址信息,可以配置多个,用逗号分隔。 |
+| servicecomb.registry.nacos.metadata | 空 | 否 |
配置String的键值对。 |
+| servicecomb.registry.nacos.username | 空 | 否 |
Nacos用户名 |
+| servicecomb.registry.nacos.password | 空 | 否 |
Nacos密码 |
+| servicecomb.registry.nacos.accessKey | 空 | 否 |
Nacos Access Key |
+| servicecomb.registry.nacos.secretKey | 空 | 否 |
Nacos Secret Key |
+| servicecomb.registry.nacos.clusterName | DEFAULT |
否 | Nacos Cluster Name |
+
+
+使用Nacos需要确保下面的软件包引入:
+
+```
+ <dependency>
+ <groupId>org.apache.servicecomb</groupId>
+ <artifactId>registry-nacos</artifactId>
+ </dependency>
+```
diff --git a/java-chassis-reference/zh_CN/docs/registry/service-center.md
b/java-chassis-reference/zh_CN/docs/registry/service-center.md
index 2bc20a0..5145a27 100644
--- a/java-chassis-reference/zh_CN/docs/registry/service-center.md
+++ b/java-chassis-reference/zh_CN/docs/registry/service-center.md
@@ -1,20 +1,19 @@
-# 使用服务中心
+# 使用 service-center
-服务中心(servicecomb-service-center) 提供了完备的注册发现机制, 实现了所有 `Microservice` 和
`MicroserviceInstance` 信息的注册和发现,
-是 servicecomb 缺省使用的注册发现机制。
+ServcieComb service-center 提供了完备的注册发现机制, 是 Java Chassis 缺省使用的注册发现机制。
服务中心支持使用 `PULL` 和 `PUSH` 两种模式通知实例变化, 开发者可以配置服务中心集群地址、连接参数以及心跳管理等。
* 表1-1 访问服务中心常用的配置项
-| 配置项 | 默认值 | 是否必选 | 含义 |
-| :--- | :--- | :--- | :--- |
-| servicecomb.service.registry.</p>address | http://127.0.0.1:30100 | 是 |
服务中心的地址信息,可以配置多个,用逗号分隔。 |
-| servicecomb.service.registry.</p>instance.watch | true | 否 |
是否采用PUSH模式监听实例变化。为false的时候表示使用PULL模式。 |
-| servicecomb.service.registry.</p>autodiscovery | false | 否 |
是否自动发现服务中心的地址。当需要配置部分地址,其他地址由配置的服务中心实例发现的时候,开启这个配置。 |
-| servicecomb.service.registry.</p>instance.healthCheck.interval | 30 | 否 |
心跳间隔。 |
-| servicecomb.service.registry.</p>instance.healthCheck.times | 3 | 否 |
允许的心跳失败次数。当连续第times+1次心跳仍然失败时则实例被sc下线。即interval \* (times +
1)决定了实例被自动注销的时间。如果服务中心等待这么长的时间没有收取到心跳,会注销实例。 |
-| servicecomb.service.registry.</p>instance.empty.protection | true | 否 |
当从服务中心查询到的地址为空的时候,是否覆盖本地缓存。这个是一种可靠性保护机制,避免实例异常批量下线导致的请求失败。 |
+| 配置项 | 默认值
| 是否必选 | 含义
|
+|:----------------------------------------------------------|:-----------------------|
:---
|:---------------------------------------------------------------------------------------------------------|
+| servicecomb.registry.sc.enabled | true
| 是 | 是否启用。
|
+| servicecomb.registry.sc.address |
http://127.0.0.1:30100 | 是 | 服务中心的地址信息,可以配置多个,用逗号分隔。
|
+| servicecomb.registry.sc.watch | false
| 否 | 是否采用PUSH模式监听实例变化。为false的时候表示使用PULL模式。
|
+| servicecomb.registry.sc.autodiscovery | false
| 否 | 是否自动发现服务中心的地址。当需要配置部分地址,其他地址由配置的服务中心实例发现的时候,开启这个配置。
|
+| servicecomb.registry.sc.healthCheckIntervalInSeconds | 30
| 否 | 心跳间隔。
|
+| servicecomb.registry.sc.healthCheckTimes | 3 | 否 |
允许的心跳失败次数。当连续第times+1次心跳仍然失败时则实例被sc下线。即interval \* (times +
1)决定了实例被自动注销的时间。如果服务中心等待这么长的时间没有收取到心跳,会注销实例。 |
servicecomb 与服务中心采用 HTTP 进行交互, HTTP client 相关配置可以参
考 [Service Center Client 配置项](../config-reference/service-center-client.md)
@@ -28,15 +27,6 @@ servicecomb 与服务中心采用 HTTP 进行交互, HTTP client 相关配置
</dependency>
```
-也可以直接依赖:
-
-```
- <dependency>
- <groupId>org.apache.servicecomb</groupId>
- <artifactId>solution-basic</artifactId>
- </dependency>
-```
-
## 使用 RBAC 认证
服务中心支持[RBAC认证](https://service-center.readthedocs.io/en/latest/user-guides/rbac.html),服务中心开启RBAC认证之
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml
b/java-chassis-reference/zh_CN/mkdocs.yml
index ee045f8..b757aa6 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -12,18 +12,19 @@ nav:
- 开发服务消费者: build-consumer/catalog.md
- 通用功能开发: general-development/catalog.md
-- 多样化的通信协议功能参考:
+- 多样化的通信协议功能:
- 多协议介绍: transports/introduction.md
- REST over Servlet: transports/rest-over-servlet.md
- REST over Vertx: transports/rest-over-vertx.md
- REST over HTTP2: transports/http2.md
- Highway: transports/highway-rpc.md
-- 多样化的服务注册与发现功能参考:
+- 多样化的服务注册与发现功能:
- 注册发现说明: registry/introduction.md
- - 使用服务中心: registry/service-center.md
+ - 使用service-center: registry/service-center.md
+ - 使用nacos: registry/nacos.md
- 本地注册发现: registry/local-registry.md
- 去中心化注册发现: registry/distributed.md
-- 管理服务配置:
+- 多样化的配置管理功能:
- 服务配置介绍: config/general-config.md
- 在程序中读取配置信息: config/read-config.md
- 配置中心参考: config/config-service.md