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/04/03 11:11:54 UTC

[servicecomb-docs] branch master updated: [SCB-1845]add TOC for java-chassis documents to make easier to search

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 09aa0a8  [SCB-1845]add TOC for java-chassis documents to make easier to search
09aa0a8 is described below

commit 09aa0a8125f4a54914b90c08444e3db2f0b89562
Author: liubao <bi...@qq.com>
AuthorDate: Fri Apr 3 16:23:07 2020 +0800

    [SCB-1845]add TOC for java-chassis documents to make easier to search
---
 .../build-consumer/3rd-party-service-invoke.md     | 155 +++++++++++----------
 java-chassis-reference/zh_CN/docs/index.md         |  10 +-
 java-chassis-reference/zh_CN/docs/toc.md           |  95 +++++++++++++
 java-chassis-reference/zh_CN/mkdocs.yml            |   1 +
 4 files changed, 181 insertions(+), 80 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/build-consumer/3rd-party-service-invoke.md b/java-chassis-reference/zh_CN/docs/build-consumer/3rd-party-service-invoke.md
index 18707c6..f8508eb 100644
--- a/java-chassis-reference/zh_CN/docs/build-consumer/3rd-party-service-invoke.md
+++ b/java-chassis-reference/zh_CN/docs/build-consumer/3rd-party-service-invoke.md
@@ -9,94 +9,99 @@ ServiceComb允许用户注册第三方REST服务的endpoint、接口契约等信
 ## 示例代码
 
 1. 假设用户在本地开发了一个REST服务作为第三方REST服务,监听端口号为8080,其REST接口如契约所示:
-  ```yaml
-  ---
-  swagger: "2.0"
-  info:
-    version: "0.0.1"
-    title: "3rd party REST service for example"
-  basePath: "/rest"
-  consumes:
-  - "application/json"
-  produces:
-  - "text/plain"
-  paths:
-    /{pathVar}:
-      get:
-        operationId: "testPathVar"
-        parameters:
-        - name: "pathVar"
-          in: "path"
-          required: true
-          type: "string"
-        responses:
-          200:
-            description: "response of 200, return \"Received, OK. [${pathVar}]\""
-            schema:
+
+        ```yaml
+        ---
+        swagger: "2.0"
+        info:
+        version: "0.0.1"
+        title: "3rd party REST service for example"
+        basePath: "/rest"
+        consumes:
+        - "application/json"
+        produces:
+        - "text/plain"
+        paths:
+        /{pathVar}:
+          get:
+            operationId: "testPathVar"
+            parameters:
+            - name: "pathVar"
+              in: "path"
+              required: true
               type: "string"
-  ```
+            responses:
+              200:
+                description: "response of 200, return \"Received, OK. [${pathVar}]\""
+                schema:
+                  type: "string"
+        ```
 
 2. 为调用此服务,需要先根据其REST接口编写一个Java接口类,并打上参数注解。
-  Java接口类的编写方式参照使用隐式契约开发SpringMVC和JAX-RS风格的provider方式。
-  接口代码示例如下:
-  ```java
-  @Path("/rest")
-  @Api(produces = MediaType.TEXT_PLAIN)
-  public interface VertxServerIntf {
-    @Path("/{pathVar}")
-    @GET
-    String testPathVar(@PathParam("pathVar") String pathVar);
-  }
-  ```
+    Java接口类的编写方式参照使用隐式契约开发SpringMVC和JAX-RS风格的provider方式。
+    接口代码示例如下:
+
+        ```java
+        @Path("/rest")
+        @Api(produces = MediaType.TEXT_PLAIN)
+        public interface VertxServerIntf {
+        @Path("/{pathVar}")
+        @GET
+        String testPathVar(@PathParam("pathVar") String pathVar);
+        }
+        ```
 
 3. 在consumer服务中调用ServiceComb提供的方法将其进行注册:
-  ```java
-  String endpoint = "rest://127.0.0.1:8080";
-  RegistryUtils.getServiceRegistry().registerMicroserviceMappingByEndpoints(
-      // 3rd party rest service name, you can specify the name on your need as long as you obey the microservice naming rule
-      "thirdPartyService",
-      // service version
-      "0.0.1",
-      // list of endpoints
-      Collections.singletonList(endpoint),
-      // java interface class to generate swagger schema
-      ThirdPartyRestServiceInterface.class
-  );
-  ```
+
+        ```java
+        String endpoint = "rest://127.0.0.1:8080";
+        RegistryUtils.getServiceRegistry().registerMicroserviceMappingByEndpoints(
+          // 3rd party rest service name, you can specify the name on your need as long as you obey the microservice naming rule
+          "thirdPartyService",
+          // service version
+          "0.0.1",
+          // list of endpoints
+          Collections.singletonList(endpoint),
+          // java interface class to generate swagger schema
+          ThirdPartyRestServiceInterface.class
+        );
+        ```
 
 4. 调用第三方服务,声明和调用方式与调用ServiceComb provider服务相同,此处以RPC调用方式为例。
-  ```java
-  // declare rpc reference to 3rd party rest service, schemaId is the same as microservice name
-  @RpcReference(microserviceName = "thirdPartyService", schemaId = "thirdPartyService")
-  ThirdPartyRestServiceInterface thirdPartyRestService;
 
-  @RequestMapping(path = "/{pathVar}", method = RequestMethod.GET)
-  public String testInvoke(@PathVariable(name = "pathVar") String pathVar) {
-    LOGGER.info("testInvoke() is called, pathVar = [{}]", pathVar);
-    // invoke 3rd party rest service
-    String response = thirdPartyRestService.testPathVar(pathVar);
-    LOGGER.info("testInvoke() response = [{}]", response);
-    return response;
-  }
-  ```
+        ```java
+        // declare rpc reference to 3rd party rest service, schemaId is the same as microservice name
+        @RpcReference(microserviceName = "thirdPartyService", schemaId = "thirdPartyService")
+        ThirdPartyRestServiceInterface thirdPartyRestService;
+        
+        @RequestMapping(path = "/{pathVar}", method = RequestMethod.GET)
+        public String testInvoke(@PathVariable(name = "pathVar") String pathVar) {
+        LOGGER.info("testInvoke() is called, pathVar = [{}]", pathVar);
+        // invoke 3rd party rest service
+        String response = thirdPartyRestService.testPathVar(pathVar);
+        LOGGER.info("testInvoke() response = [{}]", response);
+        return response;
+        }
+        ```
 
-5. 使用治理功能
+5. 使用治理功能。使用治理功能的方法与普通的consumer调用provider场景类似。以限流策略为例,在consumer服务的microservice.yaml文件中进行如下配置:
 
-  使用治理功能的方法与普通的consumer调用provider场景类似。以限流策略为例,在consumer服务的microservice.yaml文件中进行如下配置:
-  ```yaml
-    servicecomb:
-      flowcontrol:
-        Consumer:
-          qps:
-            enabled: true
-            limit:
-              thirdPartyService: 1
-  ```
-  此时即将consumer调用名为`thirdPartyService`的第三方REST服务的QPS设置为1。当consumer调用`thirdPartyService`的流量高于1QPS时,
-  将会得到`429 Too Many Requests`的`InvocationException`异常。
+        ```yaml
+        servicecomb:
+          flowcontrol:
+            Consumer:
+              qps:
+                enabled: true
+                limit:
+                  thirdPartyService: 1
+        ```
+        
+    此时即将consumer调用名为`thirdPartyService`的第三方REST服务的QPS设置为1。当consumer调用`thirdPartyService`的流量高于1QPS时,
+    将会得到`429 Too Many Requests`的`InvocationException`异常。
 
 > ***注意:***
 - endpoint信息是以`rest`开头的,而非`http`,可以参照ServiceComb微服务注册到服务中心的endpoint样式进行编写。
 - 当第三方服务有多个实例(地址)时,可以在endpoint list中指定多个地址,ServiceComb支持对多个地址进行负载均衡处理,处理方式和对待ServiceComb
  provider服务相同。
 - 当前仅支持一次性注册第三方服务及其实例信息,不支持增加、删除和修改操作。
+
diff --git a/java-chassis-reference/zh_CN/docs/index.md b/java-chassis-reference/zh_CN/docs/index.md
index 11d6ea0..2391afb 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。它包含如下特性:
+Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的 JAVA SDK 。它包含如下特性:
 
-* 多种开发风格,REST(JAX-RS、Spring MVC)和RPC
-* 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway等
+* 多种开发风格,REST(JAX-RS、Spring MVC)和 RPC
+* 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway 等
 * 统一一致的服务提供者、服务消费者处理链,以及基于契约的开箱即用的服务治理能力
 
-开发者可以通过[Apache ServiceComb 的开放性设计](http://servicecomb.apache.org/cn/docs/open-design/)了解更多特性和设计原理。
+开发者可以通过[设计选型参考](start/design.md)了解 Java Chassis 的设计思路。
 
 开发者可以通过下面的链接获取其他版本的帮助文档。
 
@@ -15,4 +15,4 @@ Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的
 | 最新(2.0.0) | [中文](http://liubao68.gitee.io/servicecomb-java-chassis-doc/java-chassis/zh_CN/), [English](http://liubao68.gitee.io/servicecomb-java-chassis-doc/java-chassis/en_US/)| 由 gitee pages 托管,适合中国用户|
 | 最新(2.0.0) | [中文](http://1v96us.coding-pages.com/docs/java-chassis/zh_CN/), [English](http://1v96us.coding-pages.com/docs/java-chassis/en_US/)| 由 coding pages 托管,适合中国用户|
 | 1.3.0 | [中文](https://docs.servicecomb.io/java-chassis/1.x/zh_CN/), [English](https://docs.servicecomb.io/java-chassis/1.x/en_US/)| |
-| 1.2.1 | [中文](https://docs.servicecomb.io/java-chassis/1.x/zh_CN/), [English](https://docs.servicecomb.io/java-chassis/1.x/en_US/)| |
\ No newline at end of file
+| 1.2.1 | [中文](https://docs.servicecomb.io/java-chassis/1.x/zh_CN/), [English](https://docs.servicecomb.io/java-chassis/1.x/en_US/)| |
diff --git a/java-chassis-reference/zh_CN/docs/toc.md b/java-chassis-reference/zh_CN/docs/toc.md
new file mode 100644
index 0000000..ebaec45
--- /dev/null
+++ b/java-chassis-reference/zh_CN/docs/toc.md
@@ -0,0 +1,95 @@
+
+# 目录
+
+* [概述](index.md)
+* [快速入门](start/catalog.md)
+    * [术语表](start/terminology.md)
+    * [微服务系统架构](start/architecture.md)
+    * [安装本地开发环境](start/development-environment.md)
+    * [开发第一个微服务](start/first-sample.md)
+    * [完整例子-bmi应用](featured-topics/application-bmi.md)
+    * [完整例子-porter应用](featured-topics/application-porter.md)
+* [设计选型参考](start/design.md)
+* [开发服务提供者](build-provider/catalog.md)
+    * [服务定义](build-provider/definition/service-definition.md)
+    * [定义服务契约](build-provider/define-contract.md)
+    * [使用隐式契约](build-provider/code-first.md)
+    * [使用Swagger注解](build-provider/swagger-annotation.md)
+    * [用SpringMVC开发微服务](build-provider/springmvc.md)
+    * [用JAX-RS开发微服务](build-provider/jaxrs.md)
+    * [用透明RPC开发微服务](build-provider/transparent-rpc.md)
+    * [接口定义和数据类型](build-provider/interface-constraints.md)
+    * [服务监听地址和发布地址](build-provider/listen-address-and-publish-address.md)
+    * [线程池](build-provider/thread-pool.md)
+    * 服务配置 
+        * [限流策略](build-provider/configuration/ratelimite-strategy.md)
+        * [参数效验](build-provider/configuration/parameter-validator.md)
+        * [程序启动逻辑](build-provider/bootup.md)
+    * [Access Log配置](build-provider/access-log-configuration.md)
+* [开发服务消费者](build-consumer/catalog.md)
+    * [消费者通用配置项](build-consumer/common-configuration.md)
+    * [使用RestTemplate开发服务消费者](build-consumer/using-resttemplate.md)
+    * [使用AsynRestTemplate开发服务消费者](build-consumer/using-AsyncRestTemplate.md)
+    * [使用RPC方式开发服务消费者](build-consumer/develop-consumer-using-rpc.md)
+    * [使用服务契约](build-consumer/with-contract.md)
+    * 调用控制
+        * [限流策略](build-consumer/flow-control.md)
+        * [故障注入](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)
+    * [本地开发和测试](general-development/local-develop-test.md)
+    * [Http Filter](general-development/http-filter.md)
+    * [文件上传下载](general-development/upload-download.md)
+    * [Reactive](general-development/reactive.md)
+    * [DNS自定义配置](general-development/dnsconfig.md)
+    * [代理设置](general-development/dai-li-she-zhi.md)
+    * [框架上报版本号](general-development/report-framework-version.md)
+    * [跨应用调用](general-development/cross-app-invocation.md)
+    * [定制序列化和反序列化方法](general-development/secret-field.md)
+    * [使用Context传递控制消息](general-development/context.md)
+    * [返回值序列化扩展](general-development/produceprocess.md)
+    * [CORS机制](general-development/CORS.md)
+    * [获取熔断与实例隔离告警事件信息](general-development/AlarmEvent.md)
+    * [优雅停机](general-development/shutdown.md)
+    * [异常处理](general-development/error-handling.md)
+    * [微服务实例间多环境隔离](general-development/multienvironment.md)
+    * [线程模型](general-development/thread-model.md)
+* Transports:
+    * [REST over Servlet](transports/rest-over-servlet.md)
+    * [REST over Vertx](transports/rest-over-vertx.md)
+    * [Highway](transports/highway-rpc.md)
+    * [HTTP2](transports/http2.md)
+* 管理服务配置:
+    * [通用配置说明](config/general-config.md)
+    * [配置注入机制](config/inject-config.md)
+- 服务能力开放:
+    - [介绍](edge/open-service.md)
+    - [使用Edge Service做边缘服务](edge/by-servicecomb-sdk.md)
+    - [使用confd和Nginx做边缘服务](edge/nginx.md)
+    - [使用zuul做边缘服务](edge/zuul.md)
+- 服务打包和运行: 
+    - [以standalone模式打包](packaging/standalone.md)
+    - [以WEB容器模式打包](packaging/web-container.md)
+- 微服务安全: 
+    - [使用TLS通信](security/tls.md)
+    - [使用RSA认证](security/shi-yong-rsa-ren-zheng.md)
+- 专题文章:
+    - [在Spring Boot中使用java chassis](using-java-chassis-in-spring-boot/using-java-chassis-in-spring-boot.md)
+    - [使用 inspector 模块查看契约](featured-topics/using-inspector.md)
+    - [新功能介绍系列文章](featured-topics/features.md)
+    - [升级指导系列文章](featured-topics/upgrading.md)
+- 处理链参考: 
+    - [处理链介绍](references-handlers/intruduction.md)
+    - [负载均衡](references-handlers/loadbalance.md)
+    - [隔离熔断容错](references-handlers/bizkeeper.md)
+    - [公钥认证](references-handlers/publickey.md)
+- 常用配置项参考:
+    - [REST Transport Client 配置项](config-reference/rest-transport-client.md)
+- 常见问题:
+    - [Q & A](question-and-answer/question_answer.md)
+    - [FAQ](question-and-answer/faq.md)
+    - [微服务接口兼容常见问题](question-and-answer/interface-compatibility.md)
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml b/java-chassis-reference/zh_CN/mkdocs.yml
index 18fc09a..39a03c0 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -2,6 +2,7 @@ site_name: ServiceComb Java Chassis 开发指南
 
 nav:
 
+- 目录: toc.md
 - 概述 : index.md
 - 快速入门: start/catalog.md
 - 设计选型参考: start/design.md