You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/05/15 02:13:13 UTC

[servicecomb-docs] branch master updated: [SCB-1893]add documents on how to use service registry

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 737ca16  [SCB-1893]add documents on how to use service registry
737ca16 is described below

commit 737ca16655f6989d3f2c0401f46b9ba2eed2eb3b
Author: liubao <bi...@qq.com>
AuthorDate: Fri May 15 10:07:01 2020 +0800

    [SCB-1893]add documents on how to use service registry
---
 .../zh_CN/docs/general-development/catalog.md      |  1 -
 .../zh_CN/docs/general-development/visit-sc.md     | 27 ------------
 .../zh_CN/docs/registry/introduction.md            | 48 ++++++++++++++++++++++
 java-chassis-reference/zh_CN/docs/toc.md           |  3 +-
 java-chassis-reference/zh_CN/mkdocs.yml            |  2 +
 5 files changed, 52 insertions(+), 29 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/general-development/catalog.md b/java-chassis-reference/zh_CN/docs/general-development/catalog.md
index 83c6b5e..efaa442 100644
--- a/java-chassis-reference/zh_CN/docs/general-development/catalog.md
+++ b/java-chassis-reference/zh_CN/docs/general-development/catalog.md
@@ -1,6 +1,5 @@
 # 通用功能开发
 
-* [访问服务中心](visit-sc.md)
 * [应用性能监控](metrics.md)
 * [微服务调用链](microservice-invocation-chain.md)
 * [自定义调用链打点](customized-tracing.md)
diff --git a/java-chassis-reference/zh_CN/docs/general-development/visit-sc.md b/java-chassis-reference/zh_CN/docs/general-development/visit-sc.md
deleted file mode 100644
index 3858609..0000000
--- a/java-chassis-reference/zh_CN/docs/general-development/visit-sc.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## 概念阐述
-
-系统通过[服务中心](https://github.com/apache/servicecomb-service-center)实现服务之间的发现。服务启动过程中,会向服务中心进行注册。在调用其他服务的时候,会从服务中心查询其他服务的实例信息,比如访问地址、使用的协议以及其他参数。服务中心支持使用PULL和PUSH两种模式通知实例变化。
-
-开发者可以配置服务中心集群地址、连接参数以及心跳管理等。
-
-## 配置说明
-
-
-
-### 表1-1访问配置中心常用的配置项
-
-| 配置项 | 参考/默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
-| :--- | :--- | :--- | :--- | :--- | :--- |
-| servicecomb.service.registry.address | http://127.0.0.1:30100 |  | 是 | 服务中心的地址信息,可以配置多个,用逗号分隔。 |  |
-| servicecomb.service.registry.instance.watch | true |  | 否 | 是否采用PUSH模式监听实例变化。为false的时候表示使用PULL模式。 |  |
-| servicecomb.service.registry.autodiscovery | false |  | 否 | 是否自动发现服务中心的地址。当需要配置部分地址,其他地址由配置的服务中心实例发现的时候,开启这个配置。 |  |
-| servicecomb.service.registry.instance.healthCheck.interval | 30 |  | 否 | 心跳间隔。 |  |
-| servicecomb.service.registry.instance.healthCheck.times | 3 |  | 否 | 允许的心跳失败次数。当连续第times+1次心跳仍然失败时则实例被sc下线。即interval \* (times + 1)决定了实例被自动注销的时间。如果服务中心等待这么长的时间没有收取到心跳,会注销实例。 |  |
-| servicecomb.service.registry.instance.empty.protection | true |  | 否 | 当从服务中心查询到的地址为空的时候,是否覆盖本地缓存。这个是一种可靠性保护机制,避免实例异常批量下线导致的请求失败。 |  |
-| servicecomb.service.registry.client.timeout.connection | 30000 |  | 连接超时时间 | 单位毫秒 |  |
-| servicecomb.service.registry.client.timeout.request | 30000 |  | 请求超时时间 | 单位毫秒 |  |
-| servicecomb.service.registry.client.timeout.idle | 60 |  | 连接闲置超时时间 | 单位秒 |  |
-| servicecomb.service.registry.client.timeout.heartbeat | 3000 |  | 心跳超时时间 | 单位毫秒 |  |
-| servicecomb.service.registry.client.instances | 1 |  | 否 | Service Registry客户端Verticle部署实例的个数 |  |
-| servicecomb.service.registry.client.eventLoopPoolSize | 4 |  | 否 | Service Registry客户端Event Loop线程池大小 |  |
-| servicecomb.service.registry.client.workerPoolSize | 4 |  | 否 | Service Registry客户端Worker线程池大小 |  |
\ 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
new file mode 100644
index 0000000..20b4180
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/registry/introduction.md
@@ -0,0 +1,48 @@
+# 注册发现说明
+
+采用网络接口进行通信,并且支持多实例弹性扩缩容是微服务一个重要的特征。 一个微服务 A 需要和另外一个微服务 B 进行
+通信,首先需要知道微服务 B 的网络地址信息, 这个过程一般是通过注册发现实现的。 
+
+最常见的服务发现机制是引入一个中间件服务, 微服务 B 启动的过程中,向中间件服务注册自己的网络地址信息,微服务 A
+访问 B 的时候, 首先从中间件服务查询微服务 B 的网络地址信息。
+
+对于规模较小的系统,也可以不使用中间件服务,而是通过配置文件的方式,在微服务 A 中指定微服务 B 的地址。由于这种
+静态配置的方式,需要提前知道地址信息,比较适合很小规模的系统。
+
+在局域网环境下,还可以通过广播协议,比如 mDNS 发现其他的服务,这种方式不需要做额外的配置。
+
+## 注册发现信息
+
+* 微服务信息
+
+  servicecomb 的微服务信息在类 `Microservice` 中定义。 它主要包含应用ID (appId), 微服务名称 (serviceName),
+  微服务版本(version),环境(environment) 等信息, 还包括契约。 契约是 servicecomb 治理管控的基础,注册
+  发现的实现,需要包括契约。 
+
+* 实例信息
+
+  servicecomb 的实例信息在类 `MicroserviceInstance` 中定义。 它主要包含网络地址(endpoints) 信息。
+
+不同的注册发现机制,可能注册的信息和发现的信息不包括上述信息的全集,可以通过不同的注册发现机制,提供完整的信息。
+比如,可以通过 mDNS 的方式发现网络地址(endpoints)信息, 可以通过配置文件的方式,发现契约信息。
+
+## 使用服务中心 
+
+服务中心(servicecomb-service-center) 提供了完备的注册发现机制, 实现了所有 `Microservice` 和 `MicroserviceInstance` 信息的注册和发现,
+是 servicecomb 缺省使用的注册发现机制。 
+
+服务中心支持使用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 与服务中心采用 HTTP 进行交互, HTTP client 相关配置可以参
+考 [Service Center Client 配置项](../config-reference/service-center-client.md)
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/docs/toc.md b/java-chassis-reference/zh_CN/docs/toc.md
index 598eb9b..a893662 100644
--- a/java-chassis-reference/zh_CN/docs/toc.md
+++ b/java-chassis-reference/zh_CN/docs/toc.md
@@ -43,7 +43,6 @@
         * [故障注入](build-consumer/fault-injection.md)
     * [调用第三方REST服务](build-consumer/3rd-party-service-invoke.md)
 * [通用功能开发](general-development/catalog.md)
-    * [访问服务中心](general-development/visit-sc.md)
     * [应用性能监控](general-development/metrics.md)
     * [微服务调用链](general-development/microservice-invocation-chain.md)
     * [自定义调用链打点](general-development/customized-tracing.md)
@@ -69,6 +68,8 @@
     * [REST over Vertx](transports/rest-over-vertx.md)
     * [Highway](transports/highway-rpc.md)
     * [HTTP2](transports/http2.md)
+* 管理注册发现:
+    * [注册发现说明](registry/introduction.md)
 * 管理服务配置:
     * [通用配置说明](config/general-config.md)
     * [配置注入机制](config/inject-config.md)
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml b/java-chassis-reference/zh_CN/mkdocs.yml
index ef5a2b5..ad80a15 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -15,6 +15,8 @@ nav:
     - REST over Vertx: transports/rest-over-vertx.md
     - Highway: transports/highway-rpc.md
     - HTTP2: transports/http2.md
+- 管理注册发现:
+    - 注册发现说明: registry/introduction.md
 - 管理服务配置:
     - 通用配置说明: config/general-config.md
     - 配置注入机制: config/inject-config.md