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 2018/08/01 03:06:51 UTC

[incubator-servicecomb-docs] branch master updated (a45a206 -> 17e8980)

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-docs.git.


    from a45a206  update transparent rpc consumer
     new bd21d5e  update service-configuration.md default page
     new 17e8980  update  default page .md files of catalog dir

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 java-chassis-reference/LANGS.md                    |  3 +-
 .../zh_CN/build-provider/service-configuration.md  | 14 ++++
 .../zh_CN/catalog/build-consumer.md                | 27 ++++++++
 .../zh_CN/catalog/build-provider.md                | 47 +++++++++++++
 .../zh_CN/catalog/general-develop.md               | 81 ++++++++++++++++++++++
 java-chassis-reference/zh_CN/catalog/security.md   |  5 ++
 .../zh_CN/catalog/service-package-run.md           |  6 ++
 java-chassis-reference/zh_CN/catalog/start.md      | 13 +++-
 .../zh_CN/references-handlers/intruduction.md      |  1 +
 9 files changed, 194 insertions(+), 3 deletions(-)


[incubator-servicecomb-docs] 02/02: update default page .md files of catalog dir

Posted by li...@apache.org.
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/incubator-servicecomb-docs.git

commit 17e89803f9cd1ed90384d7bd07805b5135d0c521
Author: DeanLee <li...@huawei.com>
AuthorDate: Mon Jul 30 16:50:04 2018 +0800

    update  default page .md files of catalog dir
---
 .../zh_CN/catalog/build-consumer.md                | 27 ++++++++
 .../zh_CN/catalog/build-provider.md                | 47 +++++++++++++
 .../zh_CN/catalog/general-develop.md               | 81 ++++++++++++++++++++++
 java-chassis-reference/zh_CN/catalog/security.md   |  5 ++
 .../zh_CN/catalog/service-package-run.md           |  6 ++
 java-chassis-reference/zh_CN/catalog/start.md      | 13 +++-
 .../zh_CN/references-handlers/intruduction.md      |  1 +
 7 files changed, 179 insertions(+), 1 deletion(-)

diff --git a/java-chassis-reference/zh_CN/catalog/build-consumer.md b/java-chassis-reference/zh_CN/catalog/build-consumer.md
index e69de29..278ee24 100644
--- a/java-chassis-reference/zh_CN/catalog/build-consumer.md
+++ b/java-chassis-reference/zh_CN/catalog/build-consumer.md
@@ -0,0 +1,27 @@
+## 使用RestTemplate开发服务消费者
+RestTemplate是Spring提供的RESTful访问接口,ServiceComb提供该接口的实现类用于服务的调用。
+
+## 使用AsynRestTemplate开发服务消费者
+AsyncRestTemplate 开发方式允许用户异步的进行服务调用。具体的业务流程和 restTemplate 类似,只是这里以异步的形式进行服务的调用。
+
+## 使用透明RPC方式开发服务消费者
+
+透明RPC开发模式允许用户通过简单的java interface像本地调用一样进行服务调用。
+
+## 使用服务契约
+当服务消费者调用服务提供者的服务时,需要注册服务契约。消费者有两种方式获取提供者的服务契约,一种是从服务的提供方离线获取契约文件,手工配置到项目中;另一种是从服务中心自动下载契约。
+
+## 调用控制
+
+### 实例级故障隔离
+实例级故障隔离功能允许在微服务的部分实例调用失败时,停止向故障实例发送请求,从而达到隔离故障实例的功能。
+
+### 熔断策略
+熔断策略是对ServiceComb熔断功能的设置,用户通过配置熔断策略可以指定在何种条件下ServiceComb框架将终止发送请求。
+
+### 限流策略
+用户在consumer端使用限流策略,可以限制发往指定微服务的请求的频率。
+
+### 故障注入
+用户在consumer端使用故障注入,可以设置发往指定微服务的请求的时延和错误及其触发概率。
+
diff --git a/java-chassis-reference/zh_CN/catalog/build-provider.md b/java-chassis-reference/zh_CN/catalog/build-provider.md
index e69de29..21118ef 100644
--- a/java-chassis-reference/zh_CN/catalog/build-provider.md
+++ b/java-chassis-reference/zh_CN/catalog/build-provider.md
@@ -0,0 +1,47 @@
+## [服务定义](/build-provider/definition/service-definition.html)
+• 服务定义信息是微服务的身份标识,它定义了服务从属于哪个应用,以及名字和版本。服务定义信息中也可以有扩展信息,用于定义服务的属性元数据。
+ 
+
+## [定义服务契约](/build-provider/define-contract.html) 
+• 服务契约,指基于OpenAPI规范的微服务接口契约,是服务端与消费端对于接口的定义。java chassis提供了两种方式定义契约:code first和contract first。
+
+
+## [使用隐式契约](/build-provider/code-first.html)  
+• 降级策略是当服务请求异常时,微服务所采用的异常处理策略。
+
+
+## [使用 Swagger 注解](/build-provider/swagger-annotation.html)
+• Swagger提供了一套注解用于描述接口契约,用户使用注解,可以在代码中增加对于契约的描述信息。ServiceComb支持其中的部分注解。
+
+
+## [用SpringMVC 开发微服务](/build-provider/springmvc.html)
+• ServiceComb支持SpringMVC注解,允许使用SpringMVC风格开发微服务。建议参照着项目 SpringMVC进行详细阅读。
+
+## [用JAX-RS开发微服务](/build-provider/jaxrs.html)
+• ServiceComb支持开发者使用JAX-RS注解,使用JAX-RS模式开发服务。
+
+## [使用 Swagger 注解](/build-provider/swagger-annotation.html)
+• Swagger提供了一套注解用于描述接口契约,用户使用注解,可以在代码中增加对于契约的描述信息。ServiceComb支持其中的部分注解。
+
+## [使用 Swagger 注解](/build-provider/swagger-annotation.html)
+• Swagger提供了一套注解用于描述接口契约,用户使用注解,可以在代码中增加对于契约的描述信息。ServiceComb支持其中的部分注解。
+
+## [用透明RPC开发微服务](/build-provider/transparent-rpc.html)
+• 透明RPC开发模式是一种基于接口和接口实现的开发模式,服务的开发者不需要使用Spring MVC和JAX-RS注解。
+
+## [接口定义和数据类型](/build-provider/swagger-annotation.html)
+• ServiceComb-Java-Chassis建议接口定义遵循一个简单的原则:接口定义即接口使用说明,不用通过查看代码实现,就能识别如何调用这个接口。可以看出,这个原则站在使用者这边,以更容易被使用作为参考。ServiceComb会根据接口定义生成接口契约,符合这个原则的接口,生成的契约也是用户容易阅读的。
+
+## [服务监听地址和发布地址](/build-provider/listen-address-and-publish-address.html)
+•在JavaChassis中,服务的监听地址和发布地址是两个独立的概念,可以独立配置:
+
+	监听地址:指微服务实例启动时监听的地址。该配置项决定了可以通过哪些IP访问此服务。
+	发布地址:指微服务实例注册到服务中心的地址。其他的微服务实例会通过服务中心获取此实例的信息,根据发布地址访问此服务实例,所以该配置项决定了其他服务实际上会使用哪个IP访问此服务。
+
+## [服务配置](/build-provider/service-configuration.html)
+
+• [负载均衡策略](/build-provider/configuration/lb-strategy.html)  
+• [限流策略](/build-provider/configuration/ratelimite-strategy.html)  
+• [降级策略](/build-provider/configuration/downgrade-strategy.html)  
+• [参数教研](/build-provider/configuration/parameter-validator.html)  
+
diff --git a/java-chassis-reference/zh_CN/catalog/general-develop.md b/java-chassis-reference/zh_CN/catalog/general-develop.md
index e69de29..4c95230 100644
--- a/java-chassis-reference/zh_CN/catalog/general-develop.md
+++ b/java-chassis-reference/zh_CN/catalog/general-develop.md
@@ -0,0 +1,81 @@
+## 访问服务中心  
+系统通过服务中心实现服务之间的发现。服务启动过程中,会向服务中心进行注册。在调用其他服务的时候,会从服务中心查询其他服务的实例信息,比如访问地址、使用的协议以及其他参数。服务中心支持使用PULL和PUSH两种模式通知实例变化。
+
+
+## 使用动态配置
+ServiceComb提供了分层次的配置机制。按照优先级,分为:
+• 配置中心(动态配置)
+• Java System Property(-D参数)
+• 环境变量
+• 配置文件,microservice.yaml。microservice.yaml文件从classpath扫描,可以允许存在很多份。通过servicecomb-config-order指定优先级。
+
+## 应用性能监控
+ 一、Metrics介绍  
+ 二、统计项汇总  
+ 三、使用方法  
+
+
+## 微服务调用链  
+微服务架构解决了很多单体应用带来的问题,但同时也需要我们付出额外的代价。由于网络的不稳定性带来的请求处理延迟就是代价之一。  
+
+在单体应用中,所有模块都在同一个进程中运行,所以并没有模块间互通的问题。但微服务架构中,服务间通过网络沟通,因此我们不得不处理和网络有关的 问题,例如:延迟、超时、网络分区等。  
+
+另外,随着业务的扩展服务增多,我们很难洞察数据如何在蛛网般复杂的服务结构中流转。我们如何才能有效的监控网络延迟并且可视化服务中的数据流转呢?  
+
+分布式调用链追踪用于有效地监控微服务的网络延时并可视化微服务中的数据流转。  
+
+## 自定义调用链打点
+分布式调用链追踪提供了服务间调用的时序信息,但服务内部的链路调用信息对开发者同样重要,如果能将两者合二为一,就能提供更完整的调用链,更容易定位错误和潜在性能问题。
+  
+## 本地开发和测试  
+本小节介绍如何在开发者本地进行消费者/提供者应用的开发调试。开发服务提供者请参考3 开发服务提供者章节,开发服务消费者请参考4 开发服务消费者。服务提供者和消费提供者均需要连接到在远程的服务中心,为了本地微服务的开发和调试,本小节介绍了两种搭建本地服务中心的方法进行本地微服务调试:  
+
+
+## Http Filter 
+某些场景中,业务使用http而不是https,作为网络传输通道,此时为了防止被伪造或篡改请求,需要提供consumer、producer之间对http码流的签名功能。
+
+ 
+## 文件上传  
+文件上传,当前支持在vertx rest通道和servlet rest中使用。  
+文件上传使用标准的http form格式,可与浏览器的上传直接对接。  
+
+## 文件下载  
+文件下载,当前在vertx rest通道和servlet rest中可用。
+
+
+## Reactive
+简单同步模式、嵌套同步调用、纯Reactive机制、混合Reactive机制之间的对比及说明。
+
+
+## DNS自定义配置
+用户使用域名连接华为公有云或者三方系统时,需要使用到域名解析系统。在不同的系统、不同的框架使用的域名解析机制都可能不太一样。所以我们有必要提供一个统一的配置入口,以便开发运维人员可以自定义DNS解析机制,而不完全受制于系统配置。  
+
+## 代理设置
+作为一名开发者,在公司开发环境,可能是通过公司代理网络接入到因特网。如果调试服务时还必须依赖网上资源,比如直接连接华为共有云服务中心,那么就必须配置代理。
+
+
+## 框架上报版本号
+为方便治理,使用ServiceComb进行开发,会将当前使用的ServiceComb版本号上报至服务中心,并且支持其他框架集成ServiceComb时上报其他框架的版本号。
+
+## 跨应用调用
+应用是微服务实例隔离层次中的一层,一个应用包含多个微服务。默认情况下,只允许同应用的微服务实例相互调用。
+
+
+## 定制序列化和反序列化方法
+由于HTTP协议的非安全性,在网络中传输的数据能轻易被各种抓包工具监听。在实际应用中,业务对应用或服务间传输的敏感数据有较高的安全要求,这类数据需要特别的加密保护(业务不同对算法要求不同),这样即使内容被截获,也可以保护其中的敏感数据不被轻易获取。
+
+
+## 使用Context传递控制消息
+ServiceComb提供了Context在微服务之间传递数据。Context是key/value对,只能够使用String类型的数据。由于Context会序列化为json格式并通过HTTP Header传递,因此也不支持ASCII之外的字符,其他字符需要开发者先自行编码再传递。Context在一次请求中,会在请求链上传递,不需要重新设置。access log的trace id等功能都基于这个特性实现的。
+
+
+## 返回值序列化扩展
+当前REST通道返回值支持application/json和text/plain两种格式,支持开发人员扩展和重写,服务提供者通过produces声明可提供序列化能力,服务消费者通过请求的Accept头指明返回值序列化方式,默认返回application/json格式的数据。
+
+
+## CORS机制
+跨域资源共享(CORS, Cross-Origin Resource Sharing)允许Web服务器进行跨域访问控制,使浏览器可以更安全地进行跨域数据传输。
+
+
+## 获取熔断与实例隔离告警事件信息
+在微服务运行期间熔断或实例隔离状态发生变化时,需要监听到相关事件,获取相关信息并进行处理
diff --git a/java-chassis-reference/zh_CN/catalog/security.md b/java-chassis-reference/zh_CN/catalog/security.md
index e69de29..de45733 100644
--- a/java-chassis-reference/zh_CN/catalog/security.md
+++ b/java-chassis-reference/zh_CN/catalog/security.md
@@ -0,0 +1,5 @@
+##使用TLS通信  
+用户通过简单的配置即可启用TLS通信,以保障数据的传输安全。  
+
+## 使用RSA认证  
+用户通过简单的配置即可启用服务间RSA认证,以保障服务接口的安全性。详细介绍参考公钥认证  
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/catalog/service-package-run.md b/java-chassis-reference/zh_CN/catalog/service-package-run.md
index e69de29..e4191a1 100644
--- a/java-chassis-reference/zh_CN/catalog/service-package-run.md
+++ b/java-chassis-reference/zh_CN/catalog/service-package-run.md
@@ -0,0 +1,6 @@
+## 以standalone模式打包
+一个Standalone的容器,以简单的Main加载Spring启动,因为服务通常不需要Tomcat/JBoss等Web容器的特性,没必要用Web容器去加载服务。微框架提供了standalone部署运行模式,服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。
+
+## 以WEB容器模式打包
+如果需要将该微服务加载到web容器中启动运行时,需要新建一个servlet工程包装一下,该servlet工程,根据需要,可以不写或写少量的引导代码即可。
+
diff --git a/java-chassis-reference/zh_CN/catalog/start.md b/java-chassis-reference/zh_CN/catalog/start.md
index 297cfe0..8d5fba1 100644
--- a/java-chassis-reference/zh_CN/catalog/start.md
+++ b/java-chassis-reference/zh_CN/catalog/start.md
@@ -1,4 +1,15 @@
-# 
+### [术语表](/start/terminology.html)
+ 
 
+### [微服务系统架构](/start/architecture.html) 
 
+### [安装本地开发环境](/build-provider/definition/service-definition.html)
+• 服务定义信息是微服务的身份标识,它定义了服务从属于哪个应用,以及名字和版本。服务定义信息中也可以有扩展信息,用于定义服务的属性元数据。
+ 
 
+### [开发第一个微服务](/start/first-sample.html) 
+
+开发者可以通过两种方式快速构建一个项目:  
+
+• 下载samples项目。建议把整个项目都下载下来,按照例子 SpringMVC 或者 JAX RS进行初始化配置。  
+• 使用archetypes生成项目  
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/references-handlers/intruduction.md b/java-chassis-reference/zh_CN/references-handlers/intruduction.md
index 3d99502..1a3131f 100644
--- a/java-chassis-reference/zh_CN/references-handlers/intruduction.md
+++ b/java-chassis-reference/zh_CN/references-handlers/intruduction.md
@@ -1,3 +1,4 @@
+## 处理链参考
 处理链(Handlers)是ServiceComb的核心组成部分,它们构成服务运行管控的基础。ServiceComb通过处理链来处理负载均衡、熔断容错、流量控制等。
 
 ## 开发处理链


[incubator-servicecomb-docs] 01/02: update service-configuration.md default page

Posted by li...@apache.org.
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/incubator-servicecomb-docs.git

commit bd21d5ee6c0675f934e2f80065635aef2cf4eae5
Author: DeanLee <li...@huawei.com>
AuthorDate: Sat Jul 28 19:00:57 2018 +0800

    update service-configuration.md default page
---
 java-chassis-reference/LANGS.md                            |  3 +--
 .../zh_CN/build-provider/service-configuration.md          | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/java-chassis-reference/LANGS.md b/java-chassis-reference/LANGS.md
index b9c8e33..4b11b96 100644
--- a/java-chassis-reference/LANGS.md
+++ b/java-chassis-reference/LANGS.md
@@ -1,2 +1 @@
-* [中文](zh_CN/)
-* [English](en_US/)
\ No newline at end of file
+* [中文](zh_CN/)
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/build-provider/service-configuration.md b/java-chassis-reference/zh_CN/build-provider/service-configuration.md
index e69de29..bf7f433 100644
--- a/java-chassis-reference/zh_CN/build-provider/service-configuration.md
+++ b/java-chassis-reference/zh_CN/build-provider/service-configuration.md
@@ -0,0 +1,14 @@
+## [负载均衡策略](/build-provider/configuration/lb-strategy.html)
+• ServiceComb提供了基于Ribbon的负载均衡方案,用户可以通过配置文件配置负载均衡策略,当前支持随机、顺序、基于响应时间的权值等多种负载均衡路由策略## [Service Center](https://github.com/apache/incubator-servicecomb-saga){:target="_blank"}  
+
+## [限流策略](/build-provider/configuration/ratelimite-strategy.html) 
+• 用户在provider端使用限流策略,可以限制指定微服务向其发送请求的频率,达到限制每秒钟最大请求数量的效果。  
+
+
+## [降级策略](/build-provider/configuration/parameter-validator.html)  
+• 降级策略是当服务请求异常时,微服务所采用的异常处理策略。
+
+
+## [参数效验](/build-provider/configuration/parameter-validator.html)
+• 用户在provider端使用参数效验,可以对相应的参数输入要求预先进行设置,在接口实际调用前进行效验处理,达到控制参数输入标准的效果。
+