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 78c503a update config docs (#292)
78c503a is described below
commit 78c503a84df57348a1176d68ba824d01e2fc3bac
Author: liubao68 <[email protected]>
AuthorDate: Thu Oct 19 16:06:39 2023 +0800
update config docs (#292)
---
.../zh_CN/docs/config/config-service.md | 159 ++++++++++++++++++
.../zh_CN/docs/config/general-config.md | 183 +++------------------
.../zh_CN/docs/config/read-config.md | 58 +++----
java-chassis-reference/zh_CN/docs/index.md | 10 +-
java-chassis-reference/zh_CN/docs/start/design.md | 12 +-
java-chassis-reference/zh_CN/mkdocs.yml | 3 +-
6 files changed, 221 insertions(+), 204 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
new file mode 100644
index 0000000..d5a8e18
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/config/config-service.md
@@ -0,0 +1,159 @@
+# 配置中心参考
+
+配置中心是微服务架构下一个非常重要的中间件,通过配置中心用户可以增加和删除配置信息,配置信息会通过不同的通知机制, 将配置的变化推送到微服务实例。 Java
Chassis 允许用户使用不同的配置中心, 并支持多个配置中心共存。
+
+## 使用 Kie
+
+* 下载安装
+
+ 可以通过 [Kie官网](https://kie.readthedocs.io/en/latest/get-started.html)
下载和安装Kie。华为云提供了一个集成注册中心的本地版本,并提供了友好的界面,可以通过
[华为云](https://support.huaweicloud.com/devg-cse/cse_04_0046.html) 下载和使用。
+
+ <br/>
+* 开发使用
+
+ 在 java-chassis 中使用 Kie, 需要引入下面的依赖:
+
+ ```xml
+ <dependency>
+ <groupId>org.apache.servicecomb</groupId>
+ <artifactId>config-kie</artifactId>
+ </dependency>
+ ```
+
+ 然后在配置文件 microservice.yaml 中增加如下配置项:
+
+ ```yaml
+ servicecomb:
+ kie:
+ serverUri: http://127.0.0.1:30110
+ ```
+
+ <br/>
+* 使用配置中心增加配置
+
+ 客户端默认会读取下面几个层次的配置:
+
+ * 应用级配置:Label只包含environment、app,并且与微服务的环境、应用匹配的配置。
+ * 服务级配置:Label只包含environment、app、service,并且与微服务的环境、应用、微服务名称匹配的配置。
+ * 版本级配置:Label只包含environment、app、service、version,并且与微服务的环境、应用、微服务名称、版本匹配的配置。
+ * 自定义配置:Label包含custom-label, 并且与 custom-value匹配的配置。
+
+ 上述的配置级别,优先级从低到高。 Kie 的 yaml 和 properties 类型会映射为多个配置项, 其他类型,比如 json, text,
只会映射为一个配置项。开发者需要读取配置项自己解析内容。
+
+ <br/>
+* 配置项参考
+
+ |配置项名| 含义 | 缺省值 |
+ |------------------------|---------|---|
+ |servicecomb.kie.serverUri|
servicecomb-kie访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址 | 空 |
+ |servicecomb.kie.enableLongPolling| Long Polling 模式是否开启
| true |
+ |servicecomb.kie.pollingWaitTime| Long Polling 模式下等待时间,单位为秒
| 10 |
+ |servicecomb.kie.firstPullRequired| 启动的时候第一次查询配置失败,是否终止启动。
| true |
+ |servicecomb.kie.domainName| 区域名称
| default |
+ |servicecomb.kie.refresh_interval| Pull 模式下刷新配置项的时间间隔,单位为毫秒。
| 15000 |
+ |servicecomb.kie.firstRefreshInterval| Pull 模式下启动过程中首次刷新时间间隔,单位为毫秒。
| 3000 |
+ |servicecomb.kie.enableAppConfig| 是否开启应用配置 | true |
+ |servicecomb.kie.enableServiceConfig| 是否开启服务配置 | true |
+ |servicecomb.kie.enableVersionConfig| 是否开启版本配置 | true |
+ |servicecomb.kie.enableVersionConfig| 是否开启自定义配置 | true |
+ |servicecomb.kie.customLabel| 自定义配置的Label | public |
+ |servicecomb.kie.customLabelValue| 自定义配置的Value | 空 |
+
+
+## 使用 nacos
+
+[nacos](https://github.com/alibaba/nacos) 是 alibaba 提供的配置中心。 java-chassis 从
2.1.0 版本支持 nacos。
+nacos的下载安装请参考官网介绍。
+
+使用nacos,需要在项目中引入如下依赖:
+
+```xml
+<dependency>
+ <groupId>org.apache.servicecomb</groupId>
+ <artifactId>config-nacos</artifactId>
+</dependency>
+```
+
+然后在配置文件 microservice.yaml 中增加如下配置项:
+
+```yaml
+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
+```
+
+## 使用 Apollo
+
+[Apollo](https://github.com/ctripcorp/apollo) 是携程框架部门研发的分布式配置中心。
Apollo的下载安装请参考官网介绍。
+
+```xml
+<dependency>
+ <groupId>org.apache.servicecomb</groupId>
+ <artifactId>config-apollo</artifactId>
+</dependency>
+```
+
+然后在配置文件 microservice.yaml 中增加如下配置项:
+
+```yaml
+apollo:
+ config:
+ serverUri: http://127.0.0.1:8070
+ serviceName: apollo-test
+ env: DEV
+ clusters: test-cluster
+ namespace: application
+ token: xxx
+ refreshInterval: 30
+ firstRefreshInterval: 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)
产品,使用在线的版本。
+
+使用华为云配置中心,需要在项目中引入如下依赖:
+
+```xml
+<dependency>
+ <groupId>org.apache.servicecomb</groupId>
+ <artifactId>config-cc</artifactId>
+</dependency>
+```
+
+然后在配置文件 microservice.yaml 中增加如下配置项:
+
+```yaml
+servicecomb:
+ config:
+ client:
+ serverUri: http://127.0.0.1:30113
+ refreshMode: 0
+ refresh_interval: 5000
+ refreshPort: 30114
+```
+
+华为云配置中心的其他配置项含义如下:
+
+|配置项名|描述|
+|---|---|
+|servicecomb.config.client.refreshMode|应用配置的刷新方式,`0`为config-center主动push,`1`为client周期pull,默认为`0`|
+|servicecomb.config.client.refreshPort|config-center推送配置的端口|
+|servicecomb.config.client.tenantName|应用的租户名称|
+|servicecomb.config.client.serverUri|config-center访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址|
+|servicecomb.config.client.refresh_interval|pull模式下刷新配置项的时间间隔,单位为毫秒,默认值为15000|
+|servicecomb.config.client.fileSource|指定该配置项的内容为yaml文件,多个配置文件可以用`,`分隔|
diff --git a/java-chassis-reference/zh_CN/docs/config/general-config.md
b/java-chassis-reference/zh_CN/docs/config/general-config.md
index 7c82532..cb5f9fb 100644
--- a/java-chassis-reference/zh_CN/docs/config/general-config.md
+++ b/java-chassis-reference/zh_CN/docs/config/general-config.md
@@ -1,200 +1,67 @@
-# 通用配置说明
+# 服务配置介绍
-应用程序一般通过配置文件、环境变量等管理配置信息。微服务架构对统一配置提出了更高的要求,很多配置信息需要在不启停服务的
-情况下实现动态修改。 java-chassis 对不同的配置源进行了抽象, 开发者可以不关心配置项具体的配置源,采用统一的接口读取配置。
+应用程序一般通过配置文件、环境变量等管理配置信息。微服务架构对统一配置提出了更高的要求,很多配置信息需要在不启停服务的情况下实现动态修改。 Java
Chassis 支持丰富的配置源,对不同的配置源进行了抽象, 开发者可以不关心配置项具体的配置源,采用统一的接口读取配置。
## 配置源层级
-ServiceComb提供了分层次的配置机制。按照优先级从高到低,分为:
+Java 提供了分层次的配置机制。按照优先级从高到低,分为:
* 配置中心(动态配置)
* Java System Property(-D参数)
* 环境变量
* 配置文件
-### 配置文件
+## 配置文件
* microservice.yaml
-在使用Spring启动Java Chassis的场景下, 配置文件默认是classpath下的microservice.yaml文件。Java
Chassis启动时会从classpath的各个jar包、磁盘
-目录中加载microservice.yaml文件,并将这些文件合并为一份microservice.yaml配置。位于磁盘上的microservice.yaml
-文件优先级高于jar包中的microservice.yaml文件。用户还可以通过在配置文件中指定`servicecomb-config-order`来指定优先级,
-如果不同路径下的 microservice.yaml 包含一样的配置项,文件中 `servicecomb-config-order`
值大的配置项会覆盖值小的配置项。
+microservice.yaml 文件是优先级最低的配置文件。Java Chassis 启动时会从 classpath 的各个 jar 包、磁盘目录中加载
microservice.yaml 文件,并将这些文件合并为一份 microservice.yaml 配置。位于磁盘上的 microservice.yaml
文件优先级高于jar包中的microservice.yaml 文件。用户还可以通过在配置文件中指定
`servicecomb-config-order`来指定优先级, 如果不同路径下的 microservice.yaml 包含一样的配置项,文件中
`servicecomb-config-order` 值大的配置项会覆盖值小的配置项。
> Tips:由于磁盘上的microservice.yaml文件优先级较高,我们可以在打包时在服务可执行jar包的classpath里加上`.`目录,这样就可以在服务jar包所在的目录里放置一份microservice.yaml来覆盖jar包内的配置文件。
-默认的配置文件名为microservice.yaml,但是我们可以通过设置Java System
Property来增加其他的配置文件,或修改默认的配置文件名:
+* Spring Boot 默认配置文件 application.yaml 等
-|Java System Property变量名|描述|
-|---|---|
-|servicecomb.configurationSource.additionalUrls|配置文件的列表,以`,`分隔的多个包含具体位置的完整文件名|
-|servicecomb.configurationSource.defaultFileName|默认配置文件名|
+Java Chassis 继承了 Spring Boot 的配置机制,可以使用Spring Boot 默认配置文件。 microservice.yaml
的优先级比 application.yaml 低。
-* application.yaml
+## 环境变量
-在使用Spring Boot启动Java Chassis的场景下,可以使用Spring
Boot提供的配置机制。通常会通过application.yaml等文件定义配置。在Spring Boot
-场景下,microservice.yaml的配置依然有效,优先级比application.yaml低。
+Linux的环境变量名不允许带`.`符号,因此某些配置项无法直接配置在环境变量里。可以将配置项key的`.`符号改为下划线`_`,将转换后的配置项配在环境变量里,Java
Chassis 可以自动将环境变量匹配到原配置项上。
-### 环境变量
+例如:对于 microservice.yaml 中配置的
-Linux的环境变量名不允许带`.`符号,因此某些配置项无法直接配置在环境变量里。可以将配置项key的`.`符号改为下划线`_`,将转换后的配置项配在环境变量里,ServiceComb-Java-Chassis可以自动将环境变量匹配到原配置项上。
-
-例如:对于microservice.yaml中配置的
```yaml
servicecomb:
rest:
address: 0.0.0.0:8080
```
-可以在环境变量中设置`servicecomb_rest_address=0.0.0.0:9090`来将服务监听的端口覆写为9090。这种下划线转点号的机制也适用于其他的配置层级。
-
-### 配置中心(动态配置)
-配置中心是微服务架构下一个非常重要的中间件,通过配置中心用户可以增加和删除配置信息,配置信息会通过不同的通知机制(通常包括
-PULL 和 PUSH), 将配置的变化推送到微服务实例。 java-chassis 允许用户使用不同的配置中心, 目前支持用户使用如下几种配置中心:
+可以在环境变量中设置 `servicecomb_rest_address=0.0.0.0:9090`
来将服务监听的端口覆写为9090。这种下划线转点号的机制也适用于其他的配置层级。
-* 华为云配置中心
+由于上述限制,最好的方式是在启动参数里面使用 Java System Property。 比如
`-Dservicecomb.rest.address=${LISTEN_ADDRESS}`, 设置的环境变量 LISTEN_ADDRESS
符合操作系统的命名规范。
-华为云配置中心是华为云CSE产品的一个部件,java-chassis 最早使用它作为配置中心。 对接这个配置中心的代码在 config-cc 模块实现。
-可以从[轻量化微服务引擎](https://cse-bucket.obs.myhwclouds.com/LocalCSE/Local-CSE-1.0.3.zip)下载本地使用的版本。也可以
-直接访问华为云 [ServiceStage](https://console.huaweicloud.com/servicestage)
产品,使用在线的版本。
+## 配置中心(动态配置)
-使用华为云配置中心,需要在项目中引入如下依赖:
+Java Chassis支持多个不同的配置中心实现,并支持同时使用多个配置中心。 配置中心的优先级高于文件配置。
-```xml
-<dependency>
- <groupId>org.apache.servicecomb</groupId>
- <artifactId>config-cc</artifactId>
-</dependency>
-```
+## 进行配置项映射
-然后在配置文件 microservice.yaml 中增加如下配置项:
+配置项映射可以用于给配置项取一个别名,在使用环境变量覆盖业务配置、兼容性场景广泛使用。
+进行配置项映射通过 classpath 下的 mapping.yaml 定义:
```yaml
-servicecomb:
- config:
- client:
- serverUri: http://127.0.0.1:30113
- refreshMode: 0
- refresh_interval: 5000
- refreshPort: 30114
+PAAS_CSE_SC_ENDPOINT:
+ - servicecomb.registry.sc.address
```
-华为云配置中心的其他配置项含义如下:
-
-|配置项名|描述|
-|---|---|
-|servicecomb.config.client.refreshMode|应用配置的刷新方式,`0`为config-center主动push,`1`为client周期pull,默认为`0`|
-|servicecomb.config.client.refreshPort|config-center推送配置的端口|
-|servicecomb.config.client.tenantName|应用的租户名称|
-|servicecomb.config.client.serverUri|config-center访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址|
-|servicecomb.config.client.refresh_interval|pull模式下刷新配置项的时间间隔,单位为毫秒,默认值为15000|
-|servicecomb.config.client.fileSource|指定该配置项的内容为yaml文件,多个配置文件可以用`,`分隔|
-
-* 使用 servicecomb-kie
+假设 `PAAS_CSE_SC_ENDPOINT` 是环境变量,应用程序读取 `servicecomb.service.registry.address`
的地方, 会取到环境变量`PAAS_CSE_SC_ENDPOINT`的值。
-[servicecomb-kie](https://github.com/apache/servicecomb-kie) 是全新设计的配置中心。 从
2.0.0 版本开始, java-chassis 支持使用 servicecomb-kie。
-servicecomb-kie 的安装指导可以参考官网文档。 在 java-chassis 中使用 servicecomb-kie, 需要引入下面的依赖:
-
-```xml
-<dependency>
- <groupId>org.apache.servicecomb</groupId>
- <artifactId>config-kie</artifactId>
-</dependency>
-```
-
-然后在配置文件 microservice.yaml 中增加如下配置项:
+使用配置项映射也可以使用 Spring Boot 的 place holder 机制, 上述的解决方案可以替换为在 application.yaml
文件中使用:
```yaml
servicecomb:
- kie:
- serverUri: http://127.0.0.1:30110
- refresh_interval: 5000
- firstRefreshInterval: 5000
- enableLongPolling: true
- domainName: default
-```
-
-servicecomb-kie 的配置项及其含义如下:
-
-|配置项名|描述|
-|---|---|
-|servicecomb.kie.domainName| 区域名称,默认为default |
-|servicecomb.kie.serverUri|servicecomb-kie访问地址,格式为`http(s)://{ip}:{port}`,以`,`分隔多个地址|
-|servicecomb.kie.refresh_interval|interval pull模式下刷新配置项的时间间隔,单位为毫秒,默认值为15000|
-|servicecomb.kie.firstRefreshInterval|interval
pull模式下启动过程中首次刷新时间间隔,单位为毫秒,默认值为3000|
-|servicecomb.kie.enableLongPolling|long pulling模式是否开启,默认值为true|
-
-***说明:*** kie 的 yaml 和 properties 类型会映射为多个配置项, 其他类型,比如 json, text,
-只会映射为一个配置项。开发者需要读取配置项自己解析内容。
-
-* 使用 nacos
-
-[nacos](https://github.com/alibaba/nacos) 是 alibaba 提供的配置中心。 java-chassis 从
2.1.0 版本支持 nacos。
-nacos的下载安装请参考官网介绍。
-
-使用nacos,需要在项目中引入如下依赖:
-
-```xml
-<dependency>
- <groupId>org.apache.servicecomb</groupId>
- <artifactId>config-nacos</artifactId>
-</dependency>
-```
-
-然后在配置文件 microservice.yaml 中增加如下配置项:
-
-```yaml
-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
-```
-
-* 使用 Apollo
-
-[Apollo](https://github.com/ctripcorp/apollo) 是携程框架部门研发的分布式配置中心。
Apollo的下载安装请参考官网介绍。
-
-```xml
-<dependency>
- <groupId>org.apache.servicecomb</groupId>
- <artifactId>config-apollo</artifactId>
-</dependency>
-```
-
-然后在配置文件 microservice.yaml 中增加如下配置项:
-
-```yaml
-apollo:
- config:
- serverUri: http://127.0.0.1:8070
- serviceName: apollo-test
- env: DEV
- clusters: test-cluster
- namespace: application
- token: xxx
- refreshInterval: 30
- firstRefreshInterval: 0
-```
-
-## 进行配置项映射
-
-配置项映射可以用于给配置项取一个别名,在使用环境变量覆盖业务配置、兼容性场景广泛使用。
-进行配置项映射通过classpath下的mapping.yaml定义:
-
-```yaml
-PAAS_CSE_SC_ENDPOINT:
- - servicecomb.service.registry.address
+ registry:
+ sc:
+ address: ${PAAS_CSE_SC_ENDPOINT:http://localhost:30100}
```
-假设`PAAS_CSE_SC_ENDPOINT`是环境变量,应用程序读取`servicecomb.service.registry.address`的地方,
-会取到环境变量`PAAS_CSE_SC_ENDPOINT`的值。
+推荐使用 Spring Boot 的 place holder 机制, 更加简洁和容易理解。
diff --git a/java-chassis-reference/zh_CN/docs/config/read-config.md
b/java-chassis-reference/zh_CN/docs/config/read-config.md
index a3c4171..cad0781 100644
--- a/java-chassis-reference/zh_CN/docs/config/read-config.md
+++ b/java-chassis-reference/zh_CN/docs/config/read-config.md
@@ -3,38 +3,40 @@
Java Chassis支持使用一致的API获取配置,开发者不需要关注从哪里读取配置项的
值,Java Chassis会自动从各处读取配置,并按照优先级进行合并以保证用户取到的是优先级最高的配置值。读取配置信息支持下面几种不同的方式。
-## 使用 archaius API
+## 使用 Spring Boot 的配置机制读取配置
-```java
-DynamicDoubleProperty myprop = DynamicPropertyFactory.getInstance()
- .getDoubleProperty("trace.handler.sampler.percent", 0.1);
-```
-
-以上例子表示声明了一个key为`trace.handler.sampler.percent`的动态配置对象,默认值为`0.1`。
+Java Chassis的配置信息,可以通过Spring和Spring Boot的配置机制进行读取,比如
`@Value`、`@ConfigurationProperties`、 `Environment` 等。 Java Chassis
+将配置层次应用于Spring Environment中,Spring和Spring
Boot读取配置的方式,也能够读取到`microservice.yaml`和动态配置的值。
-关于配置项API的具体方法可参考[archaius API][archaius]。
+>>> 注意: `@Value`、`@ConfigurationProperties` 两种使用方式,在动态配置变化的时候,值不会变化。 使用
`Environment`, 在动态配置变化的时候,值会实时变化。
-[archaius]:
https://netflix.github.io/archaius/archaius-core-javadoc/com/netflix/config/DynamicPropertyFactory.html
+## 使用 `DymamicProperties` 监听配置变化
-archaius API 支持callback处理配置变更:
+注入 `DymamicProperties`, 通过其 API 读取配置和监听配置变化。
```java
- myprop.addCallback(new Runnable() {
- public void run() {
- // 当配置项的值变化时,该回调方法会被调用
- System.out.println("trace.handler.sampler.percent is changed!");
- }
- });
+@RestSchema(schemaId = "ProviderController")
+@RequestMapping(path = "/")
+public class ProviderController {
+ private DynamicProperties dynamicProperties;
+
+ private String example;
+
+ @Autowired
+ public ProviderController(DynamicProperties dynamicProperties) {
+ this.dynamicProperties = dynamicProperties;
+ this.example = this.dynamicProperties.getStringProperty("basic.example",
+ value -> this.example = value, "not set");
+ }
+}
```
-## 使用Java Chassis配置注入机制
+## 使用 Java Chassis 优先级配置
-配置注入提供了一种简单的管理大量复杂配置的机制,开发者不需要使用 DynamicPropertyFactory 逐个读取配置项,增加配置监听,
-而是定义一个简单的 JAVA Bean, 定义这个 Bean 的属性对应的配置项, 当配置信息变化的时候, Bean 的属性会自动刷新,极大
+优先级配置提供了一种简单的管理大量复杂配置的机制,开发者定义一个简单的 JAVA Bean, 定义这个 Bean 的属性对应的配置项,
当配置信息变化的时候, Bean 的属性会自动刷新,极大
的简化了用户管理大量复杂配置的复杂度。
-Bean 属性对应的配置项名称支持通配符, 一个属性可以关联若干配置项,可以声明这些配置项的优先级。 Java对象可以是一个
-Java Bean,或是一个拥有public字段的类。
+Bean 属性对应的配置项名称支持通配符, 一个属性可以关联若干配置项,可以声明这些配置项的优先级。 Java对象可以是一个 Java
Bean,或是一个拥有public字段的类。
* 配置注入对象
@@ -162,20 +164,6 @@ Java Bean,或是一个拥有public字段的类。
ConfigNoAnnotation 对象的 strValue 字段会查找已配置的属性 strValue,没有前缀和优先级。
-
- ***注意事项:*** 2.1.0 之前的版本, 如果系统中存在大量调用createConfigObject的情况, 需要调用
-
- ```Java
- priorityPropertyManager.unregisterConfigObject(config)
- ```
-
- 进行显示回收。 2.1.0 及其之后的版本, 不需要调用这个接口,系统创建的对象是 WeakReference, 在未被
- 业务引用以后,会自动回收。
-
更多关于配置注入的用法,建议下载 java-chassis 的源码, 查看 TestConfigObjectFactory 类里面的示例。
-## 使用Spring 和 Spring Boot的配置机制读取配置
-
-Java Chassis的配置信息,也可以通过Spring和Spring
Boot的配置机制进行读取,比如@Value、@ConfigurationProperties等。 Java Chassis
-将配置层次应用于Spring Environment中,Spring和Spring
Boot读取配置的方式,也能够读取到`microservice.yaml`和动态配置的值。
diff --git a/java-chassis-reference/zh_CN/docs/index.md
b/java-chassis-reference/zh_CN/docs/index.md
index 1216ec2..4dc2430 100644
--- a/java-chassis-reference/zh_CN/docs/index.md
+++ b/java-chassis-reference/zh_CN/docs/index.md
@@ -1,11 +1,11 @@
# 概述
-Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的 JAVA SDK 。它包含如下特性:
+Java Chassis 给开发者提供一个快速构建微服务的 JAVA SDK 。它包含如下特性:
* 多种开发风格,REST(JAX-RS、Spring MVC)和 RPC
* 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway 等
* 统一一致的服务提供者、服务消费者处理链,以及基于契约的开箱即用的服务治理能力
-开发者可以通过[设计选型参考](start/design.md)了解 Java Chassis 的设计思路。
+开发者可以通过[Java Chassis设计参考](start/design.md)了解 Java Chassis 的设计思路。
开发者可以通过下面的链接获取其他版本的帮助文档。
@@ -15,6 +15,8 @@ Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的
| 2.8.x | [中文][apache.zh_CN.2.8.x], [English][apache.en_US.2.8.x] |
[中文][preview.zh_CN.2.8.x], [English][preview.en_US.2.8.x] |
| 1.3.x | [中文][apache.zh_CN.1.3.x], [English][apache.en_US.1.3.x] |
[中文][preview.zh_CN.1.3.x], [English][preview.en_US.1.3.x] |
+>>> 备注:当前Java Chassis 2.8.x 和 3.x.x 英文文档缺少翻译,非常期待您的帮助支持。
+
[apache.zh_CN]: https://servicecomb.apache.org/references/java-chassis/zh_CN/
[apache.en_US]: https://servicecomb.apache.org/references/java-chassis/en_US/
[apache.zh_CN.2.8.x]:
https://servicecomb.apache.org/references/java-chassis/2.x/zh_CN/
@@ -29,6 +31,6 @@ Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的
[preview.zh_CN.1.3.x]:
https://huaweicse.github.io/servicecomb-java-chassis-doc/java-chassis/1.x/zh_CN/
[preview.en_US.1.3.x]:
https://huaweicse.github.io/servicecomb-java-chassis-doc/java-chassis/1.x/en_US/
-## 如何使用本文档
+## 帮助改善
-*
访问[文档源代码](https://github.com/apache/servicecomb-docs/tree/master/java-chassis-reference)
,采用 mkdocs 编译后本地使用。
并在[issue](https://github.com/apache/servicecomb-docs/issues) 提交改进建议。
+* Java Chassis的
[文档源代码](https://github.com/apache/servicecomb-docs/tree/master/java-chassis-reference)
托管在Github, 可以下载后 ,采用 MkDocs 本地使用。 也可以在
[issue](https://github.com/apache/servicecomb-docs/issues) 提交改进建议。
diff --git a/java-chassis-reference/zh_CN/docs/start/design.md
b/java-chassis-reference/zh_CN/docs/start/design.md
index 2701ea2..3fdfab1 100644
--- a/java-chassis-reference/zh_CN/docs/start/design.md
+++ b/java-chassis-reference/zh_CN/docs/start/design.md
@@ -1,4 +1,4 @@
-# Java Chassis设计参考
+# Java Chassis 设计参考
Java Chassis
结合大量微服务开发实践,实现[微服务架构模式](https://microservices.io/patterns/microservice-chassis.html)
, 帮
助开发者更加简单、快速的构建微服务应用。
@@ -13,7 +13,7 @@ Java Chassis主要实现了如下微服务架构模式功能:
此外还有性能监控、日志管理、健康检查等功能。 Java Chassis 采用优雅的设计模式,实现了上述所有的核心部件的功能,并且使得这些功能开箱即用。使用
Java Chassis , 开发者能够更加聚焦于业务功能开发,快速的构建商业可用的微服务应用。
-## Java Chassis 的软件工程实践 <a name="h1"></a>
+## Java Chassis 软件工程实践 <a name="h1"></a>
Java Chassis 在设计的时候, 不仅考虑了如何更好的使用微服务架构模式, 还把优秀的软件工程思想融合进来, 帮助开发者更好的管理信息
资产, 提升软件工程管理能力。
@@ -27,7 +27,7 @@ Java Chassis 在设计的时候, 不仅考虑了如何更好的使用微服务
可以阅读 [基于CSE的微服务工程实践-以契约为中心](https://bbs.huaweicloud.com/blogs/113640)
了解契约如何应用的更多内容。 工程
实践不是 Java Chassis 的强制约束, 开发者可以结合实际情况进行选择。
-## Java Chassis 的运行时架构 <a name="h2"></a>
+## Java Chassis 运行时架构 <a name="h2"></a>
为了支持软件工程实践, Java Chassis 的运行时架构是一个哑铃结构, 两端分别是“编程模型” 和 “通信模型”, 中间是“运行模型”。
@@ -59,19 +59,19 @@ Java Chassis 在设计的时候, 不仅考虑了如何更好的使用微服务
Java 语言拥有庞大的技术体系和标准, 并且广泛的应用到业务的系统的各个方面。 和 Java Chassis 有紧密关系的技术包括 JSP/Servlet
标准
和容器, Spring 和 Spring Boot 技术, 以及 Spring Boot 提供的 REST 开发框架 Spring MVC。
-### Java Chassis 和 JSP/Servlet 标准
+### Java Chassis 和 Servlet 标准
Java Chassis 基于 Vert.x 实现了 REST 和 HIGHWAY 等 RPC 协议的实现, 在性能要求高的核心业务场景,
使用这种轻量级的技术非常合适。 这种场景下, 没有完整的实现 JSP/Servlet 相关接口, 比如 HttpServletRequest,
HttpServletResponse 等。
[servicecomb-samples](https://github.com/apache/servicecomb-samples/tree/master/porter_lightweight)
提供了一个完整的使用这种部署模式的例子。
[基于CSE的微服务架构实践-轻量级架构技术选型](https://bbs.huaweicloud.com/blogs/101875) 提供了
一些常见的组件的选型参考。
-Java Chassis 支持 JSP/Servlet 标准的容器。 在这个场景下, Java Chassis 的核心部件就是一个 Servlet ,
在这个 Servlet 里面
+Java Chassis 支持 Servlet 标准的容器。 在这个场景下, Java Chassis 的核心部件就是一个 Servlet , 在这个
Servlet 里面
实现了 Java Chassis 的核心 RPC 系统。 采用 JSP/Servlet 容器运行 Java Chassis, 业务请求首先经过容器的
HTTP 实现, 然后经过 Filter,
进入 Java Chassis 的 RestServlet , 运行 Java Chassis 的运行时模型, 进入业务接口处理。 可以参考
[REST over Servlet](../transports/rest-over-servlet.md) 了解如何在 Servlet 容器中加载
Java Chassis 的 Servlet。
-### Java Chassis 和 Spring、Spring Boot
+### Java Chassis 和 Spring Boot
Java Chassis 建立在 Spring Boot技术之上,核心部件都通过Spring Boot技术提供实现和扩展。
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml
b/java-chassis-reference/zh_CN/mkdocs.yml
index c952fb4..ee045f8 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -24,8 +24,9 @@ nav:
- 本地注册发现: registry/local-registry.md
- 去中心化注册发现: registry/distributed.md
- 管理服务配置:
- - 通用配置说明: config/general-config.md
+ - 服务配置介绍: config/general-config.md
- 在程序中读取配置信息: config/read-config.md
+ - 配置中心参考: config/config-service.md
- 服务治理功能参考:
- 处理链介绍: references-handlers/intruduction.md
- 负载均衡: references-handlers/loadbalance.md