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/18 12:38:03 UTC

[servicecomb-docs] branch master updated: [SCB-1893]add using local registry and upgrading guide

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 5e38c61  [SCB-1893]add using local registry and upgrading guide
5e38c61 is described below

commit 5e38c617c098cf6ce91e9ac1e4fb25817580c485
Author: liubao <bi...@qq.com>
AuthorDate: Mon May 18 19:52:15 2020 +0800

    [SCB-1893]add using local registry and upgrading guide
---
 .../zh_CN/docs/featured-topics/upgrading.md        |  3 +-
 .../docs/featured-topics/upgrading/2_0_1T2_1_0.md  | 49 ++++++++++++++++++++++
 .../zh_CN/docs/registry/introduction.md            | 48 ++++++++++++++++++++-
 3 files changed, 98 insertions(+), 2 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/featured-topics/upgrading.md b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading.md
index 6dd4304..7bd83dd 100644
--- a/java-chassis-reference/zh_CN/docs/featured-topics/upgrading.md
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading.md
@@ -1,4 +1,5 @@
 # 升级指导系列文章
 
 * [1.3.0 升级 2.0.0指导](upgrading/1_3_0T2_0_0.md)
-* [2.0.0 升级 2.0.1指导](upgrading/2_0_0T2_0_1.md)
\ No newline at end of file
+* [2.0.0 升级 2.0.1指导](upgrading/2_0_0T2_0_1.md)
+* [2.0.1 升级 2.1.0指导](upgrading/2_0_1T2_1_0.md)
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md
new file mode 100644
index 0000000..08c91fb
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md
@@ -0,0 +1,49 @@
+# 2.0.1 升级 2.1.0指导
+
+## 服务注册发现的变化
+
+2.1.0 对服务注册发现进行了重构,提供了更好的接口 `Discovery` 和 `Registration` 方便开发者提供不同的实现。
+在2.0.1及其之前的版本,服务中心(servicecomb-service-center)作为唯一的服务注册发现,不支持扩展,服务中心
+还提供了一个本地版本的实现。具体有如下两种场景:
+
+* 使用服务中心: 这种场景不需要额外配置和引入依赖。
+* 使用本地注册发现
+  
+  需要调用
+        
+        System.setProperty(LocalServiceRegistryClientImpl.LOCAL_REGISTRY_FILE_KEY, "registry.yaml");
+  
+  启用本地注册发现,不需要额外配置依赖。
+  
+升级到 2.1.0 版本后, 这两种常见的使用方式调整如下:
+
+* 使用服务中心
+
+  引入依赖
+  
+        <dependency>
+          <groupId>org.apache.servicecomb</groupId>
+          <artifactId>registry-service-center</artifactId>
+        </dependency>
+        
+* 使用本地注册发现
+
+  引入依赖
+  
+        <dependency>
+          <groupId>org.apache.servicecomb</groupId>
+          <artifactId>registry-local</artifactId>
+        </dependency>
+   
+   不需要设置 `LOCAL_REGISTRY_FILE_KEY` 变量。 
+
+2.1.0 同时引入服务中心和本地注册发现也是允许的,可以通过配置项关闭其中的部分功能。 
+
+```yaml
+servicecomb.local.registry.registration.enabled: true
+servicecomb.local.registry.discovery.enabled: true
+servicecomb.service.registry.registration.enabled: true
+servicecomb.service.registry.discovery.enabled: true
+```
+
+详细开发指南参考[注册发现说明](../../registry/introduction.md)
diff --git a/java-chassis-reference/zh_CN/docs/registry/introduction.md b/java-chassis-reference/zh_CN/docs/registry/introduction.md
index 20b4180..0dc65ff 100644
--- a/java-chassis-reference/zh_CN/docs/registry/introduction.md
+++ b/java-chassis-reference/zh_CN/docs/registry/introduction.md
@@ -45,4 +45,50 @@
 | 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
+考 [Service Center Client 配置项](../config-reference/service-center-client.md)
+
+## 本地注册发现
+
+servicecomb 提供了本地注册发现机制。服务注册时, `Microservice` 和 `MicroserviceInstance` 信息、契约信息
+都注册到微服务本地内存。 服务发现时,从配置文件(registry.yaml)中读取其他服务的 `Microservice` 和 
+`MicroserviceInstance` 信息,从目录 `microservices/{serviceName}/{schemaId}.yaml` 或者 
+`applications/{appId}/{serviceName}/{schemaId}.yaml` 读取微服务的契约
+信息。本地注册发现主要用于一些小规模,组网确定的场景使用。由于一个微服务只有一个存放契约的目录,不能存放
+多个版本的微服务契约,本地注册发现不支持灰度场景。
+
+* registry.yaml 格式
+
+        ```yaml
+        ms1:
+          - id: "001"
+            version: "1.0"
+            appid: exampleApp
+            environment: development
+            schemaIds:
+              - hello
+            instances:
+              - endpoints:
+                  - rest://127.0.0.1:8080
+          - id: "002"
+            version: "2.0"
+            environment: development
+            appid: exampleApp
+            schemaIds:
+              - hello
+            instances:
+              - endpoints:
+                  - rest://127.0.0.2:8080
+        ms2:
+          - id: "003"
+            version: "1.0"
+            environment: development
+            appid: exampleApp
+            schemaIds:
+              - hello
+            instances:
+              - endpoints:
+                  - rest://127.0.0.1:8081
+        ``` 
+
+  `registry.yaml` 指定了微服务的基本信息:应用ID (appId), 微服务名称 (serviceName),
+  微服务版本(version),环境(environment) 和契约;微服务实例基本信息:网络地址(endpoints)。