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/21 08:24:53 UTC

[incubator-servicecomb-docs] branch master updated (d49c546 -> b64ccd5)

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 d49c546  modify table Regular expression
     new 8bba565  update components-for-spring-boot.md
     new 152f51f  update java-chassis-reference/en_US/question-and-answer/interface-compatibility.md
     new f1754b7  update java-chassis-reference/en_US/question-and-answer/question_answer.md
     new 0995bb7  update java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
     new 25a651c  question-and-answer correct translation  mistakes
     new b64ccd5  delete useless file question-and-answer service-center-error-diagnosis.md

The 6 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:
 .../question-and-answer/interface-compatibility.md |  42 +++---
 .../en_US/question-and-answer/question_answer.md   | 159 ++++++++++-----------
 .../service-center-error-diagnosis.md              |  81 -----------
 .../components-for-spring-boot.md                  |  13 +-
 .../service-center-error-diagnosis.md              |  81 -----------
 5 files changed, 105 insertions(+), 271 deletions(-)
 delete mode 100644 java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
 delete mode 100644 java-chassis-reference/zh_CN/question-and-answer/service-center-error-diagnosis.md


[incubator-servicecomb-docs] 06/06: delete useless file question-and-answer service-center-error-diagnosis.md

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 b64ccd562deec05f8a83aa28c1f9ea0ff3d40c91
Author: DeanLee <li...@huawei.com>
AuthorDate: Tue Aug 21 12:36:15 2018 +0800

    delete useless file question-and-answer service-center-error-diagnosis.md
---
 .../service-center-error-diagnosis.md              | 80 ---------------------
 .../service-center-error-diagnosis.md              | 81 ----------------------
 2 files changed, 161 deletions(-)

diff --git a/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md b/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
deleted file mode 100644
index 89fed6d..0000000
--- a/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
+++ /dev/null
@@ -1,80 +0,0 @@
-Developers can directly use the service center provided by Huawei Public Cloud for development work. To use the service center, the developer needs to register the Huawei cloud account and generate AK/SK information in "My Credentials" for access to the authentication control. For details on how to access Huawei cloud, see "[Huawei Public Cloud Deployment] (/start/deployment-on-cloud.md)."
-
-This chapter focuses on some common anomalies in the Connection Service Center and their Troubleshooting method.
-
-# \#1
-
-* Exception message
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Invalid request, header is invalid, ak sk or project is empty."}
-
-* Reason of problem
-
-AK, SK is not set correctly and carried into the request header.
-
-* Troubleshooting method
-
-Check if the following authentication modules are used in the project. (Indirect dependencies are also possible, such as relying on cse-solution-service-engine\)
-
-```
-<groupId>com.huawei.paas.cse</groupId>
-<artifactId>foundation-auth</artifactId>
-```
-
-Check if the ak/sk configuration in microservice.yaml is correct, whether the accessKey and secretKey are filled in incorrectly, and the length of the secretKey is longer than the accessKey.
-
-```
-servicecomb:
-  credentials:
-    accessKey: your access key
-    secretKey: your serect key
-    akskCustomCipher: default
-```
-
-You can log in to Huawei Cloud and query the accessKey information in "My Credentials". The secretKey is saved by the user and cannot be queried. If you forget the relevant credentials, you can delete the voucher information and generate new voucher information.
-
-# \#2
-
-* Exception message
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"validate ak sk error\"}"}
-
-* Reason of problem
-
-AK, SK are not correct.
-
-* Troubleshooting method
-
-Check if the ak/sk configuration in microservice.yaml is correct. You can log in to Huawei Cloud and query the accessKey information in "My Credentials". The secretKey is saved by the user and cannot be queried. If you forget the relevant credentials, you can delete the voucher information and generate new voucher information.
-
-# \#3
-
-* Exception message
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"get project token from iam failed. error:http post failed, statuscode: 400\"}"}
-
-* Reason of problem
-
-The Project name is incorrect.
-
-* Troubleshooting method
-
-Check if the value of the configuration item servicecomb.credentials.project is correct, and query the correct Project name in "My Credentials". If there is no such configuration item, the default will be based on the domain name of the service center. When the domain name does not contain a legal Project name, you need to add this configuration item to ensure that its name is the legal Project name in "My Credentials".
-
-# \#4
-
-* Exception message
-
-{"errorCode":"400001","errorMessage":"Invalid parameter\(s\)","detail":"Version validate failed, rule: {Length: 64,Length: ^\[a-zA-Z0-9\_
-
-[\\-.\]\*$}](\\-.]*$})
-
-"}
-
-* Reason of problem
-
-Use the new version of the SDK to connect to an older version of the Service Center.
-
-* Troubleshooting method
-
-Check the version of the service center. You can download the latest version of the service center from the Huawei Cloud official website, or download the latest version of the service center from ServiceComb's official website.
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/question-and-answer/service-center-error-diagnosis.md b/java-chassis-reference/zh_CN/question-and-answer/service-center-error-diagnosis.md
deleted file mode 100644
index 4a02e06..0000000
--- a/java-chassis-reference/zh_CN/question-and-answer/service-center-error-diagnosis.md
+++ /dev/null
@@ -1,81 +0,0 @@
-开发者可以直接使用华为公有云提供的服务中心进行开发工作。使用服务中心,开发者需要注册华为云账号,并在"我的凭据”里面生成AK/SK信息用于访问认证控制。如何接入华为云的详细信息请参考“[华为公有云上部署](/start/deployment-on-cloud.md)”。
-
-本章节重点介绍连接服务中心一些常见的异常及其排查方法。
-
-# \#1
-
-* 异常消息
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Invalid request, header is invalid, ak sk or project is empty."}
-
-* 问题原因
-
-AK、SK没有正确设置和携带到请求头里面。
-
-* 排查方法
-
-检查项目中是否依赖如下认证模块。(间接依赖也是可以的,比如依赖cse-solution-service-engine\)
-
-```
-<groupId>com.huawei.paas.cse</groupId>
-<artifactId>foundation-auth</artifactId>
-```
-
-检查microservice.yaml中的ak/sk配置是否正确,accessKey和secretKey是否填写错误,一般secretKey长度比accessKey长。
-
-```
-servicecomb:
-  credentials:
-    accessKey: your access key
-    secretKey: your serect key
-    akskCustomCipher: default
-```
-
-可以登陆华为云,在“我的凭证”里面查询到accessKey信息,secretKey由用户自己保存,无法查询。如果忘记相关凭证,可以删除凭证信息,生成新的凭证信息。
-
-# \#2
-
-* 异常消息
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"validate ak sk error\"}"}
-
-* 问题原因
-
-AK、SK不正确。
-
-* 排查方法
-
-检查microservice.yaml中的ak/sk配置是否正确。可以登陆华为云,在“我的凭证”里面查询到accessKey信息,secretKey由用户自己保存,无法查询。如果忘记相关凭证,可以删除凭证信息,生成新的凭证信息。
-
-# \#3
-
-* 异常消息
-
-{"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"get project token from iam failed. error:http post failed, statuscode: 400\"}"}
-
-* 问题原因
-
-Project名称不正确。
-
-* 排查方法
-
-检查配置项servicecomb.credentials.project的值是否正确,在“我的凭证”里面查询正确的Project名称。如果没有这个配置项,默认会根据服务中心的域名进行判断。当域名也不包含合法的Project名称的时候,需要增加这个配置项,保证其名称是“我的凭证”里面合法的Project名称。
-
-# \#4
-
-* 异常消息
-
-{"errorCode":"400001","errorMessage":"Invalid parameter\(s\)","detail":"Version validate failed, rule: {Length: 64,Length: ^\[a-zA-Z0-9\_
-
-[\\-.\]\*$}](\\-.]*$})
-
-"}
-
-* 问题原因
-
-使用新版本SDK连接服务中心的老版本。
-
-* 排查方法
-
-检查服务中心的版本。可以从华为云官网下载最新版本的服务中心,或者从ServiceComb官网下载最新版本的服务中心。
-


[incubator-servicecomb-docs] 03/06: update java-chassis-reference/en_US/question-and-answer/question_answer.md

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 f1754b70f45ff1448aaf70531851c72f10cd0012
Author: DeanLee <li...@huawei.com>
AuthorDate: Mon Aug 20 11:54:08 2018 +0800

    update java-chassis-reference/en_US/question-and-answer/question_answer.md
---
 .../en_US/question-and-answer/question_answer.md   | 159 ++++++++++-----------
 1 file changed, 79 insertions(+), 80 deletions(-)

diff --git a/java-chassis-reference/en_US/question-and-answer/question_answer.md b/java-chassis-reference/en_US/question-and-answer/question_answer.md
index 56ad8d8..20356ff 100644
--- a/java-chassis-reference/en_US/question-and-answer/question_answer.md
+++ b/java-chassis-reference/en_US/question-and-answer/question_answer.md
@@ -1,8 +1,8 @@
-# 问题描述:如何自定义某个Java方法对应的REST接口里的HTTP Status Code?
+# Problem: How to customize the HTTP status code in the REST interface corresponding to a Java method?
 
-** 解决方法:**
+**Solution:**
 
-对于正常的返回值,可以通过SwaggerAnnotation实现,例如:
+For normal return values, this can be done with SwaggerAnnotation, for example:
 
 ```java
 @ApiResponse(code = 300, response = String.class, message = "")
@@ -11,7 +11,7 @@ public int test(int x) {
 }
 ```
 
-对于异常的返回值,可以通过抛出自定义的InvocationException实现,例如:、
+For the return value of the exception, you can do this by throwing a custom InvocationException, for example:
 
 ```java
     public String testException(int code) {
@@ -33,33 +33,32 @@ public int test(int x) {
     }
 ```
 
-# 问题描述: 如何定制自己微服务的日志配置
+# Problem: How to customize the log configuration of your own microservice
 
-** 解决方法:**  
-ServiceComb不绑定日志器,只是使用了slf4j,用户可以自由选择log4j/log4j2/logback等等。ServiceComb提供了一个log4j的扩展,在标准log4j的基础上,支持log4j的properties文件的增量配置。
+** Solution:**
+ServiceComb does not bind the logger, use slf4j, users can freely choose log4j/log4j2/logback and so on.
+ServiceComb provides a log4j extension that supports incremental configuration of log4j's properties files on a standard log4j basis.
 
-* 默认以规则:"classpath\*:config/log4j.properties"加载配置文件
-* 实际会搜索出classpath中所有的`config/log4j.properties和config/log4j.*.properties`, 从搜索出的文件中切出`\*`的部分,进行alpha排序,然后按顺序加载,最后合成的文件作为log4j的配置文件。
-* 如果要使用ServiceComb的log4j扩展,则需要调用Log4jUtils.init,否则完全按标准的日志器的规则使用。
+* By default, the configuration file is loaded from the path: "classpath\*:config/log4j.properties"
+* It will actually search all the `config/log4j.properties and config/log4j.*.properties` in the classpath, cut out the `\*` part from the searched file, sort the alpha, then load it in order, and finally compose The file is used as the log4j configuration file.
+* If you want to use ServiceComb's log4j extension, you need to call Log4jUtils.init, otherwise it will be used according to the rules of the standard logger.
 
-# 问题描述: 当服务配置了多个transport的时候,在运行时是怎么选择使用哪个transport的?
+# Problem: When the service is configured with multiple transports, how do you choose which transport to use at runtime?
 
-** 解决方法:**
+** Solution:**
 
-* ServiceComb的consumer、transport、handler、producer之间是解耦的,各功能之间通过契约定义联合在一起工作的,即:  
-  consumer使用透明rpc,还是springmvc开发与使用highway,还是RESTful在网络上传输没有关系与producer是使用透明rpc,还是jaxrs,或者是springmvc开发,也没有关系handler也不感知,业务开发方式以及传输方式
+* ServiceComb's consumer, transport, handler, and producer are decoupled. The functions work together through contract definitions, that is, whether the consumer uses transparent rpc, or springmvc develops and uses a highway, or RESTful does not transmit on the network. Relationships and producers use transparent rpc, or jaxrs, or springmvc development, and there is no relationship between the receiver and the perception, business development methods and transmission methods.
 
-* consumer访问producer,在运行时的transport选择上,总规则为:  
-  consumer的transport与producer的endpoint取交集,如果交集后,还有多个transport可选择,则轮流使用
+* Consumer access producer, in the runtime transport selection, the general rule is: the consumer's transport and producer's endpoint intersection, if there are multiple transports after the intersection, then use in turn
 
-分解开来,存在以下场景:
+Decomposed, there are the following scenarios:
 
-* 当一个微服务producer同时开放了highway以及RESTful的endpoint
-  * consumer进程中只部署了highway transport jar,则只会访问producer的highway endpoint
-  * consumer进程中只部署了RESTful transport jar,则只会访问producer的RESTful endpoint
-  * consumer进程中,同时部署了highway和RESTful transport jar,则会轮流访问producer的highway、RESTful endpoint
+* When a microservice producer opens both the highway and the RESTful endpoint
+  * Only the highway transport jar is deployed in the consumer process, only the producer's highway endpoint is accessed.
+  * Only the RESTful transport jar is deployed in the consumer process, only the RESTful endpoint of the producer is accessed.
+  * The consumer process, while deploying the highway and RESTful transport jar, will take turns accessing the producer's highway, RESTful endpoint
 
-如果,此时consumer想固定使用某个transport访问producer,可以在consumer进程的microservice.yaml中配置,指定transport的名称:
+If at this time, the consumer wants to use a transport to access the producer, it can be configured in the microservice.yaml of the consumer process, specifying the name of the transport:
 
 ```
 servicecomb:
@@ -68,23 +67,23 @@ servicecomb:
       transport: highway
 ```
 
-* 当一个微服务producer只开放了highway的endpoint
+* When a microservice producer only opens the endpoint of the highway
 
-  * consumer进程只部署了highway transport jar,则正常使用higway访问
-  * consumer进程只部署了RESTful transport jar,则无法访问
-  * consumer进程同时部署了highway和RESTful transport jar,则正常使用highway访问
+  * The consumer process only deploys the highway transport jar, and normally uses higway access.
+  * The consumer process can only be accessed if only the RESTful transport jar is deployed
+  * The consumer process deploys both the highway and the RESTful transport jar, and the highway access is normally used.
 
-* 当一个微服务producer只开放了RESTful的endpoint
+* When a microservice producer only opens RESTful endpoints
 
-  * consumer进程只部署了highway transport jar,则无法访问
-  * consumer进程只部署了RESTful transport jar,则正常使用RESTful访问
-  * consumer进程同时部署了highway和RESTful transport jar,则正常使用RESTful访问
+  * The consumer process only deploys the highway transport jar and cannot access it.
+  * The consumer process only deploys RESTful transport jars, which normally use RESTful access
+  * The consumer process deploys both the highway and the RESTful transport jar, and the RESTful access is normally used.
 
-# 问题描述: swagger body参数类型定义错误,导致服务中心注册的内容没有类型信息
+# Problem: The swagger body parameter type is incorrectly defined, resulting in no content information for the content registered by the service center.
 
-**现象描述:**
+**Symptom:**
 
-定义如下接口,将参数放到body传递
+Define the following interface, put the parameters into the body to pass
 
 ```
 /testInherate:
@@ -102,7 +101,7 @@ servicecomb:
             $ref: "#/definitions/ReponseImpl"
 ```
 
-采用上面方式定义接口。在服务注册以后,从服务中心查询下来的接口type: string 丢失,变成了:
+Define the interface in the above way. After the service is registered, the interface type: a string that is queried from the service center is lost and becomes:
 
 ```
 /testInherate:
@@ -119,13 +118,13 @@ servicecomb:
             $ref: "#/definitions/ReponseImpl"
 ```
 
-如果客户端没有放置swagger,还会报告如下异常:
+If the client does not place a swagger, the following exception is also reported:
 
-Caused by: java.lang.ClassFormatError: Method "testInherate" in class ? has illegal signature "
+Caused by: java.lang.ClassFormatError: Method "testInherate" in class ? has illegal signature. "
 
-**解决方法:**
+**Solution:**
 
-定义body参数的类型的时候,需要使用schema,不能直接使用type。
+When defining the type of the body parameter, you can't use type directly instead use the schema.
 
 ```
 /testInherate:
@@ -144,47 +143,47 @@ Caused by: java.lang.ClassFormatError: Method "testInherate" in class ? has ille
             $ref: "#/definitions/ReponseImpl"
 ```
 
-# 问题描述:微服务框架服务调用是否使用长连接
+# Problem: Does the microservices framework service call use long connections?
 
-** 解决方法:**
+** Solution:**
 
-http使用的是长连接(有超时时间),highway方式使用的是长连接(一直保持)。
+Http uses a long connection (with a timeout), and the highway mode uses a long connection (always on).
 
-# 问题描述:服务断连服务中心注册信息是否自动删除
+# Problem: Whether the service disconnection service's center registration information is automatically deleted
 
-** 解决方法:**
+** Solution:**
 
-服务中心心跳检测到服务实例不可用,只会移除服务实例信息,服务的静态数据不会移除。
+The service center heartbeat detects that the service instance is unavailable, only the service instance information is removed, and the static data of the service is not removed.
 
 
-# 问题描述:微服务框架如何实现数据多个微服务间透传
+# Problem: How does the microservices framework achieve transparent transmission of data between multiple microservices?
 
-** 解决方法:**
+** Solution:**
 
-透传数据塞入:
+Transmitting data into:
 
 ```java
 CseHttpEntity<xxxx.class> httpEntity = new CseHttpEntity<>(xxx);
-//透传内容
+//Transparent content
 httpEntity.addContext("contextKey","contextValue");
 ResponseEntity<String> responseEntity = RestTemplateBuilder.create().exchange("cse://springmvc/springmvchello/sayhello",HttpMethod.POST,httpEntity,String.class);
 ```
 
-透传数据获取:
+Transparent data acquisition:
 
 ```java
 @Override
 @RequestMapping(path="/sayhello",method = RequestMethod.POST)
 public String sayHello(@RequestBody Person person,InvocationContext context){
-    //透传数据获取
+    //Transparent data acquisition
     context.getContext();
     return "Hello person " + person.getName();
 }
 ```
 
-# 问题描述:微服务框架服务如何自定义返回状态码
+# Problem: How the microservices framework service customizes the return status code
 
-** 解决方法:**
+** Solution:**
 
 ```java
 @Override
@@ -197,48 +196,48 @@ public String sayHello(@RequestBody Person person){
 }
 ```
 
-# 问题描述: body Model部分暴露
+# Problem: Partial exposure of body Model
 
-** 解决方法:**
+** Solution:**
 
-一个接口对应的body对象中,可能有一些属性是内部的,不想开放出去,生成schema的时候不要带出去,使用:
+In the body object corresponding to an interface, there may be some attributes that are internal. Do not want to open it. Do not bring it out when generating the schema. Use:
 
 ```java
 @ApiModelProperty(hidden = true)
 ```
 
-# 问题描述:框架获取远端consumer的地址
+# Problem: The framework obtains the address of the remote consumer
 
-** 解决方法:**
+** Solution:**
 
-如果使用http rest方式(使用transport-rest-vertx依赖)可以用下面这种方式获取:
+If you use the http rest method (using the transport-rest-vertx dependency) you can get it in the following way:
 
 ```java
 HttpServletRequest request = (HttpServletRequest) invocation.getHandlerContext().get(RestConst.REST_REQUEST);
 String host = request.getRemoteHost();
 ```
 
-实际场景是拿最外层的地址,所以应该是LB传入到edgeservice,edgeService再放到context外下传递。
+The actual scene is to take the external address, so it should be LB passed to edgeservice, and edgeService is then passed to the context and passed.
 
 
-# 问题描述:对handler描述
+# Problem: Description of the handler
 
-** 解决方法:**
+** Solution:**
 
-consumer默认的handler是simpleLB,没有配置的时候handler链会使用这个,如果配置了handler,里面一定要包含lb的handler,否则调用报错,需要在文档里面进行说明。
+Consumer default handler is simpleLB, and the handler chain will use this when there is no configuration, if the handler is configured, it must contain the lb handler. Otherwise the call error, need to be described in the document.
 
 
-# 问题描述:netty版本问题
+# Problem: Netty version problem
 
-** 解决方法:**
+** Solution:**
 
-netty3和netty4是完全不同的三方件,因为坐标跟package都不相同,所以可以共存,但是要注意小版本问题,小版本必须使用的版本。
+Netty3 and netty4 are completely different tripartites because the coordinates are not the same as the package, so they can coexist, but pay attention to the minor version problem, the version that the small version must use.
 
-# 问题描述:服务超时设置
+# Problem: Service Timeout Settings
 
-** 解决方法:**
+** Solution:**
 
-在微服务描述文件(microservice.yaml)中添加如下配置:
+Add the following configuration to the microservice description file (microservice.yaml):
 
 ```
 servicecomb:
@@ -246,30 +245,30 @@ servicecomb:
     timeout: 30000
 ```
 
-# 问题描述:服务治理的处理链顺序是否有要求?
+# Problem: Is there a requirement for the processing chain of service governance?
 
-**解决方法:**
+**Solution:**
 
-处理链的顺序不同,那么系统工作行为也不同。 下面列举一下常见问题。
+The order of the processing chains is different, and the system works differently. List the common questions below.
 
-1、loadbalance和bizkeeper-consumer
+1, loadbalance and bizkeeper-consumer
 
-这两个顺序可以随机组合。但是行为是不一样的。
+These two sequences can be combined randomly. But the behavior is different.
 
-当loadbalance在前面的时候,那么loadbalance提供的重试功能会在bizkeeper-consumer抛出异常时发生,比如超时等。但是如果已经做了fallbackpolicy配置,比如returnnull,那么loadbalance则不会重试。
+When loadbalance is in the front, the retry function provided by loadbalance will occur when bizkeeper-consumer throws an exception, such as timeout. But if you have done a fallback policy configuration, such as return null, then loadbalance will not retry.
 
-如果loadbalance在后面,那么loadbalance的重试会延长超时时间,即使重试成功,如果bizkeeper-consumer设置的超时时间不够,那么最终的调用结果也是失败。
+If loadbalance is behind, the retry will extend the timeout. Even if the retry is successful, if the timeout period set by bizkeeper-consumer is not enough, the final call result will also fail.
 
-2、tracing-consumer,sla-consumer,tracing-provider,sla-provider
+2, tracing-consumer, sla-consumer, tracing-provider, sla-provider
 
-这些处理链建议放到处理链的最开始位置,保证成功、失败的情况都可以记录日志(由于记录日志需要IP等信息,对于消费者,只能放到loadbalance后面)。
+These processing chains are recommended to be placed at the very beginning of the processing chain to ensure that the success and failure of the log can be recorded (because the log requires IP and other information, for consumers, can only be placed behind the loadbalance).
 
-如果不需要记录客户端返回的异常,则可以放到末尾,只关注网络层返回的错误。但是如果bizkeeper-consumer等超时提前返回的话,则可能不会记录日志。
+If you do not need to record the exception returned by the client, you can put it to the end and only pay attention to the error returned by the network layer. However, if the bizkeeper-consumer timeout returns earlier, the log may not be logged.
 
-3、建议的顺序
+3. Suggested order
 
 Consumer: loadbalance, tracing-consumer, sla-consumer, bizkeeper-consumer
 
 Provider: tracing-provider, sla-provider, bizkeeper-provider
 
-这种顺序能够满足大多数场景,并且不容易出现不可理解的错误。
+This order is sufficient for most scenarios and is not prone to incomprehensible errors.
\ No newline at end of file


[incubator-servicecomb-docs] 02/06: update java-chassis-reference/en_US/question-and-answer/interface-compatibility.md

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 152f51f684eb61868a7ebb1083151a216125f9bc
Author: DeanLee <li...@huawei.com>
AuthorDate: Mon Aug 20 11:53:53 2018 +0800

    update java-chassis-reference/en_US/question-and-answer/interface-compatibility.md
---
 .../question-and-answer/interface-compatibility.md | 42 +++++++++++-----------
 1 file changed, 20 insertions(+), 22 deletions(-)

diff --git a/java-chassis-reference/en_US/question-and-answer/interface-compatibility.md b/java-chassis-reference/en_US/question-and-answer/interface-compatibility.md
index 2ef0fed..4d11828 100644
--- a/java-chassis-reference/en_US/question-and-answer/interface-compatibility.md
+++ b/java-chassis-reference/en_US/question-and-answer/interface-compatibility.md
@@ -1,39 +1,37 @@
-在进行微服务持续迭代开发的过程中,由于新特性在不停的加入,一些过时的特性在不停的修改,接口兼容问题面临巨大的挑战,特别是在运行环境多版本共存(灰度发布)的情况下。本章节主要描述接口兼容管理的一些实践建议,以及在使用过程中碰到了兼容性问题的解决办法。由于微服务一般都通过REST接口对外提供服务,没有特殊说明的情况下,这里的接口都指REST接口。
+In the process of continuous iterative development of microservices, due to the continuous addition of new features, some old features are continually being modified, and interface compatibility issues face enormous challenges, especially in the running environment multi-version coexistence (grayscale release) ). This chapter mainly describes some practical suggestions for interface compatibility management and solutions to compatibility problems during use. Since microservices generally [...]
 
-# 保证接口兼容的实践
+# Practice of ensuring interface compatibility
 
-为了防止接口兼容问题,开发者在进行接口变更(新增、修改、删除等)的时候,建议遵循下面的一些原则。
+To prevent interface compatibility problems, developers are advised to follow the following principles when making interface changes (add, modify, delete, etc.).
 
-1. 只增加接口,不修改、不删除接口。
-2. 作为Provider,增加接口的时候,相应的将微服务版本号递增。比如将2.1.2修改为2.1.3。
-3. 作为Consumer,使用Provider的新接口时候,指定Provider的最小版本号。比如:servicecomb.references.\[serviceName\].version-rule=2.1.3+,其中serviceName为Provider的微服务名称。
-4. 在服务中心,定期清理不再使用的老版本的微服务信息。
+1. Only add interfaces, do not modify or delete interfaces.
+2. As a Provider, when adding an interface, the microservice version number is incremented accordingly. For example, change 2.1.2 to 2.1.3.
+3. As a Consumer, when using the new interface of the Provider, specify the minimum version number of the Provider. For example: servicecomb.references.\[serviceName\].version-rule=2.1.3+, The serviceName is the Provider's microservice name.
+4. In the service center, regularly clean up the old version of microservice information that is no longer used.
 
-ServiceComb还有如下一些注意事项:
-1. 修改微服务信息,必须升级版本号,因为服务注册的时候,不会覆盖已经注册的微服务信息。
+ServiceComb also has the following considerations:
+1. When modifying the microservice information, you must upgrade the version number, because the service will not overwrite the registered microservice information.
 
-# 接口兼容常见问题及其解决办法
+# interface compatibility common problems and their solutions
 
-开发阶段,由于存在频繁的接口修改,也不会清理服务中心的数据,容易出现调试的时候接口调用失败的情况。建议开发者可以安装下载一个[服务中心的frontend](http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-service-center/1.0.0-m1/), 可以随时清理服务中心数据。
+During the development phase, due to various interface modification, the data of the service center would not be cleaned up, and the interface call fails when debugging. Developers are advised to install and download a [frontend] of the service center (http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-service-center/1.0.0-m1/), anytime Clean up service center data.
 
-如果使用华为公有云在线的服务中心,可以直接登录使用微服务引擎提供的管理功能进行删除。
+If you use Huawei's public cloud online service center, you can log in directly using the management functions provided by the microservice engine to delete.
 
-发布阶段,需要审视下接口兼容的实践的步骤,确保不在线上引入接口兼容问题。
+During the release phase, you need to review the steps of the interface-compatible practices to ensure that interface compatibility issues are not online.
 
-如果不小心漏了其中的某个步骤,则可能导致如下一些接口兼容问题:
+If you accidentally miss one of these steps, it may lead to the following interface compatibility issues:
 
-1. 如果修改、删除接口:导致一些老的Consumer将请求路由到新的Provider,调用失败。
-2. 如果忘记修改微服务版本号:导致一些新的Consumer将请求路由到老的Provider,调用失败。
-3. 如果忘记配置Consumer的最小依赖版本:当部署顺序为先停止Consumer,再启动Consumer,再停止Provider,再启动Provider的情况,Consumer无法获取到新接口信息,就采用了老接口,当Provider启动以后,Consumer发起对新接口的调用会失败;或者在Provider没启动前,调用新接口失败等。
+1. If the interface is modified or deleted: some old Consumers will fail to request the new route of the new Provider.
+2. If you forget to modify the microservice version number: some new Consumers will fail to request the route of the old Provider.
+3. If you forget to configure the minimum dependent version of the Consumer: when the deployment order is to stop the Consumer first, then start the Consumer, then stop the Provider, and then start the Provider. The Consumer cannot obtain the new interface information, and the old interface is used. When the Provider starts, The Consumer initiates a call to the new interface that fails; or fails to call the new interface before the Provider started.
 
-出现问题的规避措施:出现的接口兼容问题不同,处理方式会有差异。极端情况,只需要清理Provider、Consumer的微服务信息,然后重启微服务即可。当服务调用关系复杂的情况下,接口兼容问题影响范围会更加广泛,同时清理Provider、Consumer数据会变得复杂,因此建议遵循上面的规范,避免不兼容的情况发生。
+Workarounds for problems: There are different interface compatibility issues and different handling methods. In extreme cases, you only need to clean up the Provider and Consumer microservices, and then restart the microservice. When the service call relationship is complexed, the interface compatibility problem will be more extensive and clean the Provider, and Consumer data will become complicated. Therefore, it is recommended to follow the above specifications to avoid incompatibility.
 
 
 
-# 常见的接口不兼容情况的日志
+# Common interface incompatibility log
 
 * consumer method \[Method Name\] not exist in swagger
 
-可能是Provider增加了接口,但是没有更新版本号。需要删除微服务数据或者更新版本号后重新启动Provider,并重启Consumer。
-
-
+It may be that the Provider has added an interface, but there is no update version number. You need to delete the microservice data or update the version number, restart the Provider, and restart the Consumer.
\ No newline at end of file


[incubator-servicecomb-docs] 01/06: update components-for-spring-boot.md

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 8bba56585a98d0c6fa6cfc7e726de3715ffa73a5
Author: DeanLee <li...@huawei.com>
AuthorDate: Mon Aug 20 11:17:39 2018 +0800

    update components-for-spring-boot.md
---
 .../components-for-spring-boot.md                           | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md b/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
index fb085df..32a287f 100644
--- a/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
+++ b/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
@@ -1,30 +1,29 @@
-针对Spring Boot、Spring Cloud,提供了如下几个组件:
+For Spring Boot, Spring Cloud, the following components are provided:
 
 * spring-boot-starter-configuration
 
-接入配置中心。当需要在Spring Boot、Spring Cloud应用中,使用配置中心作为动态配置管理工具的时候,需要依赖。
+Access the configuration center. When you need to use the Configuration Center as a dynamic configuration management tool in Spring Boot and Spring Cloud applications, you need dependence of them.
 
 
 
 * spring-boot-starter-registry
 
-接入服务中心。当需要在Spring Boot、Spring Cloud应用中,使用服务中心作为服务注册、发现管理工具的时候,需要依赖。
+Access to the service center. When you need to use the service center as a service registration and discovery management tool in Spring Boot and Spring Cloud applications, you need dependence of them.
 
 
 
 * spring-boot-starter-discovery
 
-适配Spring Cloud的DiscoveryClient接口。当在Spring Cloud中使用@EnableDiscoveryClient时,需要依赖。
+Adapt to the Spring Cloud's DiscoveryClient interface. When using @EnableDiscoveryClient in Spring Cloud, you need dependence of them.
 
 
 
 * spring-boot-starter-provider
 
-在Spring Boot中通过@EnableServiceComb启用java chassis的核心功能。这个功能可以用于“JAVA应用方式”和”Web开发方式“。 在”Web开发方式”中,通过spring.main.web-environment=false禁用了Web环境。因此,这个模块主要是解决”JAVA应用方式“的问题。
+Enable the core functionality of java chassis via @EnableServiceComb in Spring Boot. This feature can be used for "JAVA application mode" and "Web development mode". In the "Web development method", the web environment is disabled by spring.main.web-environment=false. Therefore, this module is mainly to solve the problem of "JAVA application mode".
 
 
 
 * spring-boot-starter-transport
 
-在Spring Boot中通过@EnableServiceComb启用java chassis的核心功能,并启用java chassis的RestServlet。用于” Web开发方式“。
-
+Enable the core functionality of the java chassis via @EnableServiceComb in Spring Boot and enable the RestServlet for the java chassis. Used in "Web development mode".
\ No newline at end of file


[incubator-servicecomb-docs] 04/06: update java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md

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 0995bb7acb3d0dc2575094328183af6d2c7caf56
Author: DeanLee <li...@huawei.com>
AuthorDate: Mon Aug 20 11:54:24 2018 +0800

    update java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
---
 .../service-center-error-diagnosis.md              | 49 +++++++++++-----------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md b/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
index 4a02e06..89fed6d 100644
--- a/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
+++ b/java-chassis-reference/en_US/question-and-answer/service-center-error-diagnosis.md
@@ -1,27 +1,27 @@
-开发者可以直接使用华为公有云提供的服务中心进行开发工作。使用服务中心,开发者需要注册华为云账号,并在"我的凭据”里面生成AK/SK信息用于访问认证控制。如何接入华为云的详细信息请参考“[华为公有云上部署](/start/deployment-on-cloud.md)”。
+Developers can directly use the service center provided by Huawei Public Cloud for development work. To use the service center, the developer needs to register the Huawei cloud account and generate AK/SK information in "My Credentials" for access to the authentication control. For details on how to access Huawei cloud, see "[Huawei Public Cloud Deployment] (/start/deployment-on-cloud.md)."
 
-本章节重点介绍连接服务中心一些常见的异常及其排查方法。
+This chapter focuses on some common anomalies in the Connection Service Center and their Troubleshooting method.
 
 # \#1
 
-* 异常消息
+* Exception message
 
 {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Invalid request, header is invalid, ak sk or project is empty."}
 
-* 问题原因
+* Reason of problem
 
-AK、SK没有正确设置和携带到请求头里面。
+AK, SK is not set correctly and carried into the request header.
 
-* 排查方法
+* Troubleshooting method
 
-检查项目中是否依赖如下认证模块。(间接依赖也是可以的,比如依赖cse-solution-service-engine\)
+Check if the following authentication modules are used in the project. (Indirect dependencies are also possible, such as relying on cse-solution-service-engine\)
 
 ```
 <groupId>com.huawei.paas.cse</groupId>
 <artifactId>foundation-auth</artifactId>
 ```
 
-检查microservice.yaml中的ak/sk配置是否正确,accessKey和secretKey是否填写错误,一般secretKey长度比accessKey长。
+Check if the ak/sk configuration in microservice.yaml is correct, whether the accessKey and secretKey are filled in incorrectly, and the length of the secretKey is longer than the accessKey.
 
 ```
 servicecomb:
@@ -31,39 +31,39 @@ servicecomb:
     akskCustomCipher: default
 ```
 
-可以登陆华为云,在“我的凭证”里面查询到accessKey信息,secretKey由用户自己保存,无法查询。如果忘记相关凭证,可以删除凭证信息,生成新的凭证信息。
+You can log in to Huawei Cloud and query the accessKey information in "My Credentials". The secretKey is saved by the user and cannot be queried. If you forget the relevant credentials, you can delete the voucher information and generate new voucher information.
 
 # \#2
 
-* 异常消息
+* Exception message
 
 {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"validate ak sk error\"}"}
 
-* 问题原因
+* Reason of problem
 
-AK、SK不正确。
+AK, SK are not correct.
 
-* 排查方法
+* Troubleshooting method
 
-检查microservice.yaml中的ak/sk配置是否正确。可以登陆华为云,在“我的凭证”里面查询到accessKey信息,secretKey由用户自己保存,无法查询。如果忘记相关凭证,可以删除凭证信息,生成新的凭证信息。
+Check if the ak/sk configuration in microservice.yaml is correct. You can log in to Huawei Cloud and query the accessKey information in "My Credentials". The secretKey is saved by the user and cannot be queried. If you forget the relevant credentials, you can delete the voucher information and generate new voucher information.
 
 # \#3
 
-* 异常消息
+* Exception message
 
 {"errorCode":"401002","errorMessage":"Request unauthorized","detail":"Get service token from iam proxy failed,{\"error\":\"get project token from iam failed. error:http post failed, statuscode: 400\"}"}
 
-* 问题原因
+* Reason of problem
 
-Project名称不正确。
+The Project name is incorrect.
 
-* 排查方法
+* Troubleshooting method
 
-检查配置项servicecomb.credentials.project的值是否正确,在“我的凭证”里面查询正确的Project名称。如果没有这个配置项,默认会根据服务中心的域名进行判断。当域名也不包含合法的Project名称的时候,需要增加这个配置项,保证其名称是“我的凭证”里面合法的Project名称。
+Check if the value of the configuration item servicecomb.credentials.project is correct, and query the correct Project name in "My Credentials". If there is no such configuration item, the default will be based on the domain name of the service center. When the domain name does not contain a legal Project name, you need to add this configuration item to ensure that its name is the legal Project name in "My Credentials".
 
 # \#4
 
-* 异常消息
+* Exception message
 
 {"errorCode":"400001","errorMessage":"Invalid parameter\(s\)","detail":"Version validate failed, rule: {Length: 64,Length: ^\[a-zA-Z0-9\_
 
@@ -71,11 +71,10 @@ Project名称不正确。
 
 "}
 
-* 问题原因
+* Reason of problem
 
-使用新版本SDK连接服务中心的老版本。
+Use the new version of the SDK to connect to an older version of the Service Center.
 
-* 排查方法
-
-检查服务中心的版本。可以从华为云官网下载最新版本的服务中心,或者从ServiceComb官网下载最新版本的服务中心。
+* Troubleshooting method
 
+Check the version of the service center. You can download the latest version of the service center from the Huawei Cloud official website, or download the latest version of the service center from ServiceComb's official website.
\ No newline at end of file


[incubator-servicecomb-docs] 05/06: question-and-answer correct translation mistakes

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 25a651cb10856d75a149293978c9480d8019c1a1
Author: DeanLee <li...@huawei.com>
AuthorDate: Tue Aug 21 12:34:18 2018 +0800

    question-and-answer correct translation  mistakes
---
 .../en_US/question-and-answer/question_answer.md     | 20 ++++++++++----------
 .../components-for-spring-boot.md                    |  2 +-
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/java-chassis-reference/en_US/question-and-answer/question_answer.md b/java-chassis-reference/en_US/question-and-answer/question_answer.md
index 20356ff..32c66ce 100644
--- a/java-chassis-reference/en_US/question-and-answer/question_answer.md
+++ b/java-chassis-reference/en_US/question-and-answer/question_answer.md
@@ -43,7 +43,7 @@ ServiceComb provides a log4j extension that supports incremental configuration o
 * It will actually search all the `config/log4j.properties and config/log4j.*.properties` in the classpath, cut out the `\*` part from the searched file, sort the alpha, then load it in order, and finally compose The file is used as the log4j configuration file.
 * If you want to use ServiceComb's log4j extension, you need to call Log4jUtils.init, otherwise it will be used according to the rules of the standard logger.
 
-# Problem: When the service is configured with multiple transports, how do you choose which transport to use at runtime?
+# Problem: When the service is configured with multiple types of transport, What are the mechanisms for ServiceComb choose which transport to use at runtime?
 
 ** Solution:**
 
@@ -53,7 +53,7 @@ ServiceComb provides a log4j extension that supports incremental configuration o
 
 Decomposed, there are the following scenarios:
 
-* When a microservice producer opens both the highway and the RESTful endpoint
+* When a microservice producer provided both the highway and the RESTful endpoint
   * Only the highway transport jar is deployed in the consumer process, only the producer's highway endpoint is accessed.
   * Only the RESTful transport jar is deployed in the consumer process, only the RESTful endpoint of the producer is accessed.
   * The consumer process, while deploying the highway and RESTful transport jar, will take turns accessing the producer's highway, RESTful endpoint
@@ -67,13 +67,13 @@ servicecomb:
       transport: highway
 ```
 
-* When a microservice producer only opens the endpoint of the highway
+* When a microservice producer only provided the endpoint of the highway
 
-  * The consumer process only deploys the highway transport jar, and normally uses higway access.
+  * The consumer process only deploys the highway transport jar, and normally uses higway endpoint.
   * The consumer process can only be accessed if only the RESTful transport jar is deployed
   * The consumer process deploys both the highway and the RESTful transport jar, and the highway access is normally used.
 
-* When a microservice producer only opens RESTful endpoints
+* When a microservice producer only provided RESTful endpoints
 
   * The consumer process only deploys the highway transport jar and cannot access it.
   * The consumer process only deploys RESTful transport jars, which normally use RESTful access
@@ -143,13 +143,13 @@ When defining the type of the body parameter, you can't use type directly instea
             $ref: "#/definitions/ReponseImpl"
 ```
 
-# Problem: Does the microservices framework service call use long connections?
+# Problem: Does the microservices framework service call use long live connection?
 
 ** Solution:**
 
 Http uses a long connection (with a timeout), and the highway mode uses a long connection (always on).
 
-# Problem: Whether the service disconnection service's center registration information is automatically deleted
+# Problem: When the service is disconnected from the service center, will the registration information be deleted automatically?
 
 ** Solution:**
 
@@ -164,7 +164,7 @@ Transmitting data into:
 
 ```java
 CseHttpEntity<xxxx.class> httpEntity = new CseHttpEntity<>(xxx);
-//Transparent content
+//Transmission content
 httpEntity.addContext("contextKey","contextValue");
 ResponseEntity<String> responseEntity = RestTemplateBuilder.create().exchange("cse://springmvc/springmvchello/sayhello",HttpMethod.POST,httpEntity,String.class);
 ```
@@ -245,7 +245,7 @@ servicecomb:
     timeout: 30000
 ```
 
-# Problem: Is there a requirement for the processing chain of service governance?
+# Problem: Is there a required for the processing chain's sequence of service governance?
 
 **Solution:**
 
@@ -271,4 +271,4 @@ Consumer: loadbalance, tracing-consumer, sla-consumer, bizkeeper-consumer
 
 Provider: tracing-provider, sla-provider, bizkeeper-provider
 
-This order is sufficient for most scenarios and is not prone to incomprehensible errors.
\ No newline at end of file
+This order is sufficient for most scenarios and is not easy to cause errors.
diff --git a/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md b/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
index 32a287f..ff1e7b7 100644
--- a/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
+++ b/java-chassis-reference/en_US/using-java-chassis-in-spring-boot/components-for-spring-boot.md
@@ -20,7 +20,7 @@ Adapt to the Spring Cloud's DiscoveryClient interface. When using @EnableDiscove
 
 * spring-boot-starter-provider
 
-Enable the core functionality of java chassis via @EnableServiceComb in Spring Boot. This feature can be used for "JAVA application mode" and "Web development mode". In the "Web development method", the web environment is disabled by spring.main.web-environment=false. Therefore, this module is mainly to solve the problem of "JAVA application mode".
+Enable the core functionality of java chassis via @EnableServiceComb in Spring Boot. This feature can be used for "JAVA application mode" and "Web development mode". In the "Web development mode", the web environment is disabled by spring.main.web-environment=false. Therefore, this module is mainly to solve the problem of "JAVA application mode".