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

ningjiang pushed a commit to branch asf-site
in repository 
https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git

commit fefae492a77a0fb21c09937f91586b205d0ef0ad
Author: Willem Jiang <[email protected]>
AuthorDate: Wed Jun 20 15:43:16 2018 +0800

    Publish the website
---
 content/cn/users/service-configurations/index.html | 305 ++++++++++++++------
 content/feed.xml                                   |   2 +-
 content/users/service-configurations/index.html    | 311 +++++++++++++++------
 3 files changed, 446 insertions(+), 172 deletions(-)

diff --git a/content/cn/users/service-configurations/index.html 
b/content/cn/users/service-configurations/index.html
index dc357e4..a7502ac 100644
--- a/content/cn/users/service-configurations/index.html
+++ b/content/cn/users/service-configurations/index.html
@@ -663,6 +663,13 @@
       <li><a href="#配置说明-1" id="markdown-toc-配置说明-1">配置说明</a></li>
     </ul>
   </li>
+  <li><a href="#降级策略" id="markdown-toc-降级策略">降级策略</a>    <ul>
+      <li><a href="#概念阐述" id="markdown-toc-概念阐述">概念阐述</a></li>
+      <li><a href="#场景描述-2" id="markdown-toc-场景描述-2">场景描述</a></li>
+      <li><a href="#配置说明-2" id="markdown-toc-配置说明-2">配置说明</a></li>
+    </ul>
+  </li>
+  <li><a href="#示例代码-1" id="markdown-toc-示例代码-1">示例代码</a></li>
 </ul>
 
   </nav>
@@ -850,92 +857,222 @@
 
 <p>  
限流策略配置在microservice.yaml文件中,相关配置项见表2。要开启服务提供者端的限流策略,还需要在处理链中配置服务端限流handler,并添加pom依赖。</p>
 
-<ul>
-  <li>microservice.yaml配置示例如下:
-    <div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
-<span class="s">handler</span><span class="pi">:</span>
-  <span class="s">chain</span><span class="pi">:</span>
-    <span class="s">Provider</span><span class="pi">:</span>
-      <span class="s">default</span><span class="pi">:</span> <span 
class="s">qps-flowcontrol-provider</span>
+<p>  microservice.yaml配置示例如下:</p>
+
+<div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
+  <span class="s">handler</span><span class="pi">:</span>
+    <span class="s">chain</span><span class="pi">:</span>
+      <span class="s">Provider</span><span class="pi">:</span>
+        <span class="s">default</span><span class="pi">:</span> <span 
class="s">qps-flowcontrol-provider</span>
 </code></pre>
-    </div>
-  </li>
-  <li>添加handler-flowcontrol-qps的pom依赖:
-```yaml</li>
+</div>
+
+<p>  添加handler-flowcontrol-qps的pom依赖:</p>
+
+<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.servicecomb<span 
class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>handler-flowcontrol-qps<span 
class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>1.0.0-m1<span 
class="nt">&lt;/version&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</code></pre>
+</div>
+
+<p>  <strong>表2 QPS流控配置项说明</strong></p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">配置项</th>
+      <th style="text-align: left">默认值</th>
+      <th style="text-align: left">取值范围</th>
+      <th style="text-align: left">是否必选</th>
+      <th style="text-align: left">含义</th>
+      <th style="text-align: left">注意</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.enabled</td>
+      <td style="text-align: left">true</td>
+      <td style="text-align: left">true/false</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">是否启用Provider流控</td>
+      <td style="text-align: left">-</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.limit.[ServiceName]</td>
+      <td style="text-align: left">2147483647(max int)</td>
+      <td style="text-align: left">(0,2147483647],整形</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">每秒钟允许的请求数</td>
+      <td style="text-align: left">仅支持microservice一个级别的配置</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.global.limit</td>
+      <td style="text-align: left">2147483647(max int)</td>
+      <td style="text-align: left">(0,2147483647],整形</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">provider接受请求流量的全局配置</td>
+      <td style="text-align: left">没有具体到微服务的配置时,此配置生效</td>
+    </tr>
+  </tbody>
+</table>
+
+<h2 id="降级策略">降级策略</h2>
+<h3 id="概念阐述">概念阐述</h3>
+
+<p>降级策略是当服务请求异常时,微服务所采用的异常处理策略。降级策略有三个相关的技术概念:“隔离”、“熔断”、“容错”:</p>
+
+<p>降级策略有三个相关的技术概念:“隔离”、“熔断”、“容错”:</p>
+<ul>
+  <li>“隔离”是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、同时并发请求个数等。</li>
+  <li>“熔断”是一种异常反应机制,“熔断”依赖于“隔离”。熔断通常基于错误率来实现。一般的设置参数包括统计请求的个数、错误率等。</li>
+  <li>“容错”是一种异常处理机制,“容错”依赖于“熔断”。熔断以后,会调用“容错”的方法。一般的设置参数包括调用容错方法的次数等。</li>
 </ul>
-<dependency>
-    <groupId>org.apache.servicecomb</groupId>
-    <artifactId>handler-flowcontrol-qps</artifactId>
-    <version>1.0.0-m1</version>
-</dependency>
-<div class="highlighter-rouge"><pre class="highlight"><code>
-  **表2 QPS流控配置项说明**
-
-| 配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
-| :--- | :--- | :--- | :--- | :--- | :--- |
-| servicecomb.flowcontrol.Provider.qps.enabled | true | true/false | 否 | 
是否启用Provider流控 | - |
-| servicecomb.flowcontrol.Provider.qps.limit.\[ServiceName\] | 2147483647(max 
int) | \(0,2147483647\],整形 | 否 | 每秒钟允许的请求数 | 仅支持microservice一个级别的配置 |
-| servicecomb.flowcontrol.Provider.qps.global.limit | 2147483647(max int) | 
(0,2147483647\],整形 | 否 | provider接受请求流量的全局配置 | 没有具体到微服务的配置时,此配置生效 |
-
-## 降级策略
-### 概念阐述
-
-降级策略是当服务请求异常时,微服务所采用的异常处理策略。降级策略有三个相关的技术概念:“隔离”、“熔断”、“容错”:
-
-降级策略有三个相关的技术概念:“隔离”、“熔断”、“容错”:
-* “隔离”是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、同时并发请求个数等。
-* “熔断”是一种异常反应机制,“熔断”依赖于“隔离”。熔断通常基于错误率来实现。一般的设置参数包括统计请求的个数、错误率等。
-* “容错”是一种异常处理机制,“容错”依赖于“熔断”。熔断以后,会调用“容错”的方法。一般的设置参数包括调用容错方法的次数等。
-
-把这些概念联系起来:当"隔离"措施检测到N次请求中共有M次错误的时候,"熔断"不再发送后续请求,调用"容错"处理函数。这个技术上的定义,是和Netflix 
Hystrix一致的,通过这个定义,非常容易理解它提供的配置项,参考:[https://github.com/Netflix/Hystrix/wiki/Configuration](https://github.com/Netflix/Hystrix/wiki/Configuration)。当前ServiceComb提供两种容错方式,分别为返回null值和抛出异常。
-
-### 场景描述
-
-用户通过配置降级策略,可以设置微服务的异常处理策略。
-
-### 配置说明
-
-  配置项如表所示。
-
-  **表3 降级策略相关配置项说明**
-
-| 配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
-| :--- | :--- | :--- | :--- | :--- | :--- |
-| servicecomb.isolation.timeout.enabled | FALSE | - | 否 | 是否启用超时检测 |  |
-| servicecomb.isolation.timeoutInMilliseconds | 30000 | - | 否 | 超时时间阈值 |  |
-| servicecomb.isolation.maxConcurrentRequests | 10 | - | 否 | 最大并发数阈值 |  |
-| servicecomb.circuitBreaker.enabled | TRUE | - | 否 | 是否启用熔断措施 |  |
-| servicecomb.circuitBreaker.forceOpen | FALSE | - | 否 | 不管失败次数,都进行熔断 |  |
-| servicecomb.circuitBreaker.forceClosed | FALSE | - | 否 | 任何时候都不熔断 | 
当与forceOpen同时配置时,forceOpen优先。 |
-| servicecomb.circuitBreaker.sleepWindowInMilliseconds | 15000 | - | 否 | 
熔断后,多长时间恢复 | 恢复后,会重新计算失败情况。注意:如果恢复后的调用立即失败,那么会立即重新进入熔断。 |
-| servicecomb.circuitBreaker.requestVolumeThreshold | 20 | - | 否 | 
10s内统计错误发生次数阈值,超过阈值则触发熔断 | 
由于10秒还会被划分为10个1秒的统计周期,经过1s中后才会开始计算错误率,因此从调用开始至少经过1s,才会发生熔断。 |
-| servicecomb.circuitBreaker.errorThresholdPercentage | 50 | - | 否 | 
错误率阈值,达到阈值则触发熔断 |  |
-| servicecomb.fallback.enabled | TRUE | - | 否 | 是否启用出错后的故障处理措施 |  |
-| servicecomb.fallback.maxConcurrentRequests | 10 | - | 否 | 
并发调用容错处理措施(servicecomb.fallbackpolicy.policy)的请求数,超过这个值则不再调用处理措施,直接返回异常 |  |
-| servicecomb.fallbackpolicy.policy | throwexception | returnnulll \| 
throwexception | 否 | 出错后的处理策略 |  |
-
-**注意:** 
谨慎使用cse.isolation.timeout.enabled=true。因为系统处理链都是异步执行,中间处理链的返回,会导致后面处理链的逻辑处理效果丢失。尽可能将cse.isolation.timeout.enabled保持默认值false,并且正确设置网络层超时时间cse.request.timeout=30000。
-{: .notice--warning}
-
-## 示例代码
-
-```yaml
-servicecomb:
-  handler:
-    chain:
-      Consumer:
-        default: bizkeeper-consumer
-  isolation:
-    Consumer:
-      timeout:
-        enabled: true
-      timeoutInMilliseconds: 30000
-  circuitBreaker:
-    sleepWindowInMilliseconds: 15000
-    requestVolumeThreshold: 20
-  fallback:
-    enabled: true
-    policy: throwexception
+
+<p>把这些概念联系起来:当”隔离”措施检测到N次请求中共有M次错误的时候,”熔断”不再发送后续请求,调用”容错”处理函数。这个技术上的定义,是和Netflix
 Hystrix一致的,通过这个定义,非常容易理解它提供的配置项,参考:<a 
href="https://github.com/Netflix/Hystrix/wiki/Configuration";>https://github.com/Netflix/Hystrix/wiki/Configuration</a>。当前ServiceComb提供两种容错方式,分别为返回null值和抛出异常。</p>
+
+<h3 id="场景描述-2">场景描述</h3>
+
+<p>用户通过配置降级策略,可以设置微服务的异常处理策略。</p>
+
+<h3 id="配置说明-2">配置说明</h3>
+
+<p>  配置项如表所示。</p>
+
+<p>  <strong>表3 降级策略相关配置项说明</strong></p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">配置项</th>
+      <th style="text-align: left">默认值</th>
+      <th style="text-align: left">取值范围</th>
+      <th style="text-align: left">是否必选</th>
+      <th style="text-align: left">含义</th>
+      <th style="text-align: left">注意</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">servicecomb.isolation.timeout.enabled</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">是否启用超时检测</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.isolation.timeoutInMilliseconds</td>
+      <td style="text-align: left">30000</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">超时时间阈值</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.isolation.maxConcurrentRequests</td>
+      <td style="text-align: left">10</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">最大并发数阈值</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.enabled</td>
+      <td style="text-align: left">TRUE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">是否启用熔断措施</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.forceOpen</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">不管失败次数,都进行熔断</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.forceClosed</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">任何时候都不熔断</td>
+      <td style="text-align: left">当与forceOpen同时配置时,forceOpen优先。</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.sleepWindowInMilliseconds</td>
+      <td style="text-align: left">15000</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">熔断后,多长时间恢复</td>
+      <td style="text-align: 
left">恢复后,会重新计算失败情况。注意:如果恢复后的调用立即失败,那么会立即重新进入熔断。</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.requestVolumeThreshold</td>
+      <td style="text-align: left">20</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">10s内统计错误发生次数阈值,超过阈值则触发熔断</td>
+      <td style="text-align: 
left">由于10秒还会被划分为10个1秒的统计周期,经过1s中后才会开始计算错误率,因此从调用开始至少经过1s,才会发生熔断。</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.errorThresholdPercentage</td>
+      <td style="text-align: left">50</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">错误率阈值,达到阈值则触发熔断</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.fallback.enabled</td>
+      <td style="text-align: left">TRUE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">是否启用出错后的故障处理措施</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.fallback.maxConcurrentRequests</td>
+      <td style="text-align: left">10</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: 
left">并发调用容错处理措施(servicecomb.fallbackpolicy.policy)的请求数,超过这个值则不再调用处理措施,直接返回异常</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.fallbackpolicy.policy</td>
+      <td style="text-align: left">throwexception</td>
+      <td style="text-align: left">returnnulll | throwexception</td>
+      <td style="text-align: left">否</td>
+      <td style="text-align: left">出错后的处理策略</td>
+      <td style="text-align: left"> </td>
+    </tr>
+  </tbody>
+</table>
+
+<p class="notice--warning"><strong>注意:</strong> 
谨慎使用cse.isolation.timeout.enabled=true。因为系统处理链都是异步执行,中间处理链的返回,会导致后面处理链的逻辑处理效果丢失。尽可能将cse.isolation.timeout.enabled保持默认值false,并且正确设置网络层超时时间cse.request.timeout=30000。</p>
+
+<h2 id="示例代码-1">示例代码</h2>
+
+<div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
+  <span class="s">handler</span><span class="pi">:</span>
+    <span class="s">chain</span><span class="pi">:</span>
+      <span class="s">Consumer</span><span class="pi">:</span>
+        <span class="s">default</span><span class="pi">:</span> <span 
class="s">bizkeeper-consumer</span>
+  <span class="s">isolation</span><span class="pi">:</span>
+    <span class="s">Consumer</span><span class="pi">:</span>
+      <span class="s">timeout</span><span class="pi">:</span>
+        <span class="s">enabled</span><span class="pi">:</span> <span 
class="s">true</span>
+      <span class="s">timeoutInMilliseconds</span><span class="pi">:</span> 
<span class="s">30000</span>
+  <span class="s">circuitBreaker</span><span class="pi">:</span>
+    <span class="s">sleepWindowInMilliseconds</span><span class="pi">:</span> 
<span class="s">15000</span>
+    <span class="s">requestVolumeThreshold</span><span class="pi">:</span> 
<span class="s">20</span>
+  <span class="s">fallback</span><span class="pi">:</span>
+    <span class="s">enabled</span><span class="pi">:</span> <span 
class="s">true</span>
+    <span class="s">policy</span><span class="pi">:</span> <span 
class="s">throwexception</span>
 </code></pre>
 </div>
 
diff --git a/content/feed.xml b/content/feed.xml
index 8e04ccb..c59efa0 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?><feed 
xmlns="http://www.w3.org/2005/Atom"; ><generator uri="https://jekyllrb.com/"; 
version="3.4.3">Jekyll</generator><link href="/feed.xml" rel="self" 
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" 
/><updated>2018-06-19T14:34:14+08:00</updated><id>/</id><title 
type="html">Apache ServiceComb (incubating)</title><subtitle>The homepage of 
ServiceComb</subtitle><author><name>{&quot;name&quot;=&gt;nil, 
&quot;avatar&quot;=&gt; [...]
+<?xml version="1.0" encoding="utf-8"?><feed 
xmlns="http://www.w3.org/2005/Atom"; ><generator uri="https://jekyllrb.com/"; 
version="3.4.3">Jekyll</generator><link href="/feed.xml" rel="self" 
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" 
/><updated>2018-06-20T15:41:55+08:00</updated><id>/</id><title 
type="html">Apache ServiceComb (incubating)</title><subtitle>The homepage of 
ServiceComb</subtitle><author><name>{&quot;name&quot;=&gt;nil, 
&quot;avatar&quot;=&gt; [...]
 
 &lt;p&gt;本次开放日将主要聚焦在以下几个方面,和企业、用户及开发者一同探讨微服务技术及方向。&lt;/p&gt;
 
diff --git a/content/users/service-configurations/index.html 
b/content/users/service-configurations/index.html
index b8d2532..d3aa7bc 100644
--- a/content/users/service-configurations/index.html
+++ b/content/users/service-configurations/index.html
@@ -638,6 +638,13 @@
       <li><a href="#configuration-1" 
id="markdown-toc-configuration-1">Configuration</a></li>
     </ul>
   </li>
+  <li><a href="#fallback-policy" id="markdown-toc-fallback-policy">Fallback 
Policy</a>    <ul>
+      <li><a href="#concept-description" 
id="markdown-toc-concept-description">Concept Description</a></li>
+      <li><a href="#scenario-2" id="markdown-toc-scenario-2">Scenario</a></li>
+      <li><a href="#configuration-2" 
id="markdown-toc-configuration-2">Configuration</a></li>
+    </ul>
+  </li>
+  <li><a href="#sample-code-1" id="markdown-toc-sample-code-1">Sample 
Code</a></li>
 </ul>
 
   </nav>
@@ -824,95 +831,225 @@
 
 <p>  Rate limiting policies are configured in the microservice.yaml file. For 
related configuration items, see Table 2. To enable the rate limiting policy at 
the provider end, you also need to configure the rate limiting handler on the 
server in the processing chain and add dependencies in the pom.xml file.</p>
 
-<ul>
-  <li>An example of microservice.yaml file configuration is as follows,
-    <div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
-<span class="s">handler</span><span class="pi">:</span>
-  <span class="s">chain</span><span class="pi">:</span>
-    <span class="s">Provider</span><span class="pi">:</span>
-      <span class="s">default</span><span class="pi">:</span> <span 
class="s">qps-flowcontrol-provider</span>
+<p>  An example of microservice.yaml file configuration is as follows,</p>
+
+<div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
+  <span class="s">handler</span><span class="pi">:</span>
+    <span class="s">chain</span><span class="pi">:</span>
+      <span class="s">Provider</span><span class="pi">:</span>
+        <span class="s">default</span><span class="pi">:</span> <span 
class="s">qps-flowcontrol-provider</span>
 </code></pre>
-    </div>
-  </li>
-  <li>Add dependencies of handler-flowcontrol-qps in the pom.xml file,
-```yaml</li>
+</div>
+
+<p>  Add dependencies of handler-flowcontrol-qps in the pom.xml file,</p>
+
+<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span 
class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.servicecomb<span 
class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>handler-flowcontrol-qps<span 
class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>1.0.0-m1<span 
class="nt">&lt;/version&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</code></pre>
+</div>
+
+<p>  <strong>Table2 Configuration items of the QPS rate limit</strong></p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Configuration Item</th>
+      <th style="text-align: left">Default Value</th>
+      <th style="text-align: left">Value Range</th>
+      <th style="text-align: left">Mandatory</th>
+      <th style="text-align: left">Description</th>
+      <th style="text-align: left">Remarks</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.enabled</td>
+      <td style="text-align: left">true</td>
+      <td style="text-align: left">true/false</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies whether to enable traffic control 
 at the provider end.</td>
+      <td style="text-align: left">-</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.limit.[ServiceName]</td>
+      <td style="text-align: left">2147483647(max int)</td>
+      <td style="text-align: left">(0,2147483647],Integer</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the number of requests allowed 
per second.</td>
+      <td style="text-align: left">This parameter can only be configured for 
microservice</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.flowcontrol.Provider.qps.global.limit</td>
+      <td style="text-align: left">2147483647(max int)</td>
+      <td style="text-align: left">(0,2147483647],Integer</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the total number of requests 
allowed per second at the provider end</td>
+      <td style="text-align: left">If no configuration is set for any specific 
microservices, this parameter takes effect</td>
+    </tr>
+  </tbody>
+</table>
+
+<p>##</p>
+<h2 id="fallback-policy">Fallback Policy</h2>
+
+<h3 id="concept-description">Concept Description</h3>
+
+<p>A fallback policy is used when a service request is abnormal.</p>
+
+<p>There are three key concepts in fallback: isolation, fallbreak, and fault 
tolerance:</p>
+
+<ul>
+  <li>Isolation is an exception detection mechanism. Two common items that 
need to be detected are timeout duration and the number of concurrent 
requests.</li>
+  <li>Fallbreak is an exception response mechanism, and it depends on 
isolation. Fallbreak is triggered based on the error rate. Two common items 
need to set are the number of requests to collect and error rate.</li>
+  <li>Fault tolerance is an exception handling mechanism that depends on 
fallbreak. Fault tolerance is called after a fallbreak. For fault tolerance, 
you need to set the number of fault tolerance call items.</li>
 </ul>
-<dependency>
-    <groupId>org.apache.servicecomb</groupId>
-    <artifactId>handler-flowcontrol-qps</artifactId>
-    <version>1.0.0-m1</version>
-</dependency>
-<div class="highlighter-rouge"><pre class="highlight"><code>
-  **Table2 Configuration items of the QPS rate limit**
-
-| Configuration Item                       | Default Value       | Value Range 
             | Mandatory | Description                              | Remarks   
                               |
-| :--------------------------------------- | :------------------ | 
:----------------------- | :-------- | :--------------------------------------- 
| :--------------------------------------- |
-| servicecomb.flowcontrol.Provider.qps.enabled     | true                | 
true/false               | No        | Specifies whether to enable traffic 
control  at the provider end. | -                                        |
-| servicecomb.flowcontrol.Provider.qps.limit.\[ServiceName\] | 2147483647(max 
int) | \(0,2147483647\],Integer | No        | Specifies the number of requests 
allowed per second. | This parameter can only be configured for microservice |
-| servicecomb.flowcontrol.Provider.qps.global.limit | 2147483647(max int) | 
(0,2147483647\],Integer  | No        | Specifies the total number of requests 
allowed per second at the provider end | If no configuration is set for any 
specific microservices, this parameter takes effect |
-
-## 
-## Fallback Policy
-
-### Concept Description
-
-A fallback policy is used when a service request is abnormal.
-
-There are three key concepts in fallback: isolation, fallbreak, and fault 
tolerance:
-
-* Isolation is an exception detection mechanism. Two common items that need to 
be detected are timeout duration and the number of concurrent requests.
-* Fallbreak is an exception response mechanism, and it depends on isolation. 
Fallbreak is triggered based on the error rate. Two common items need to set 
are the number of requests to collect and error rate.
-* Fault tolerance is an exception handling mechanism that depends on 
fallbreak. Fault tolerance is called after a fallbreak. For fault tolerance, 
you need to set the number of fault tolerance call items.
-
-During fallback, if M(the threshold) errors are detected in N requests, the 
consumer will no longer send requests  and the fault tolerance mechanism will 
be enabled. The preceding fallback process is accepted in Netflix Hystrix and 
helps you configure the parameters. Obtain information about the parameter 
configuration at 
[https://github.com/Netflix/Hystrix/wiki/Configuration](https://github.com/Netflix/Hystrix/wiki/Configuration).
 Currently, ServiceComb provides two types of fault toler [...]
-
-### Scenario
-
-By configuring a fallback policy, you can handler microservice exceptions.
-
-### Configuration
-
-  Configuration items of fallback policies are as follows:
-
-  **Table 3 Configuration items of the fallback policy**
-
-| Configuration Item                       | Default value  | Value Range      
             | Mandatory | Description                              | Remarks   
                               |
-| :--------------------------------------- | :------------- | 
:---------------------------- | :-------- | 
:--------------------------------------- | 
:--------------------------------------- |
-| servicecomb.isolation.timeout.enabled            | FALSE          | -        
                     | No        | Specifies whether to enable timeout 
detection. |                                          |
-| servicecomb.isolation.timeoutInMilliseconds      | 30000          | -        
                     | No        | Specifies the timeout duration threshold. |  
                                        |
-| servicecomb.isolation.maxConcurrentRequests      | 10             | -        
                     | No        | Specifies the maximum number of concurrent 
requests. |                                          |
-| servicecomb.circuitBreaker.enabled               | TRUE           | -        
                     | No        | Specifies whether to enable fallbreak.   |   
                                       |
-| servicecomb.circuitBreaker.forceOpen             | FALSE          | -        
                     | No        | Specifies that fallbreak is enable 
regardless of the number of failed requests or the error rate. |                
                          |
-| servicecomb.circuitBreaker.forceClosed           | FALSE          | -        
                     | No        | Specifies that fallbreak can be implemented 
at any time. | If this parameter and servicecomb.circuitBreaker.forceOpen both 
need to be configured, servicecomb.circuitBreaker.forceOpen has priority. |
-| servicecomb.circuitBreaker.sleepWindowInMilliseconds | 15000          | -    
                         | No        | Specifies the duration needed to recover 
from fallbreak. | After the recovery, the number of failed requests will be 
recalculated. Not: If the consumer fails to send a request to the provider 
after the recovery, fallbreak is enabled again. |
-| servicecomb.circuitBreaker.requestVolumeThreshold | 20             | -       
                      | No        | Specifies the threshold of failed requests 
sent within 10 seconds. If the threshold is reached, fallbreak is triggered. | 
Ten seconds will be divided into ten 1 seconds, and the error rate is 
calculated 1 second later after an error occurred. Therefore, fallbreak can be 
implemented at least 1 second after the call. |
-| servicecomb.circuitBreaker.errorThresholdPercentage | 50             | -     
                        | No        | Specifies the threshold of error rate. If 
the threshold is reached, fallbreak is triggered. |                             
             |
-| servicecomb.fallback.enabled                     | TRUE           | -        
                     | No        | Specifies whether to enable troubleshooting 
measures after an error occurred. |                                          |
-| servicecomb.fallback.maxConcurrentRequests       | 10             | -        
                     | No        | Specifies the number of fault 
tolerance(servicecomb.fallbackpolicy.policy) requests concurrently called. If 
the value exceeds 10, the measures will no longer be called, and exception are 
returned. |                                          |
-| servicecomb.fallbackpolicy.policy                | throwexception | 
returnnulll \| throwexception | No        | Specifies the error handling 
policies after an error occurred. |                                          |
-
-**NOTE:** Be cautions when setting servicecomb.isolation.timeout.enabled to 
TRUE, All processes are asynchronously processed in the system, and any error 
value returned by an intermediate process because the set timeout duration is 
reached can cause failure of the follow-up processes. Therefore, you are 
advised to keep the default value FALSE for 
servicecomb.isolation.timeout.enabled. For timeout duration from the network 
aspect, you are advised to set servicecomb.request.timeout=30000.
-{: .notice--warning}
-
-## Sample Code
-
-```yaml
-servicecomb:
-  handler:
-    chain:
-      Consumer:
-        default: bizkeeper-consumer
-  isolation:
-    Consumer:
-      timeout:
-        enabled: true
-      timeoutInMilliseconds: 30000
-  circuitBreaker:
-    sleepWindowInMilliseconds: 15000
-    requestVolumeThreshold: 20
-  fallback:
-    enabled: true
-    policy: throwexception
+
+<p>During fallback, if M(the threshold) errors are detected in N requests, the 
consumer will no longer send requests  and the fault tolerance mechanism will 
be enabled. The preceding fallback process is accepted in Netflix Hystrix and 
helps you configure the parameters. Obtain information about the parameter 
configuration at <a 
href="https://github.com/Netflix/Hystrix/wiki/Configuration";>https://github.com/Netflix/Hystrix/wiki/Configuration</a>.
 Currently, ServiceComb provides two types  [...]
+
+<h3 id="scenario-2">Scenario</h3>
+
+<p>By configuring a fallback policy, you can handler microservice 
exceptions.</p>
+
+<h3 id="configuration-2">Configuration</h3>
+
+<p>  Configuration items of fallback policies are as follows:</p>
+
+<p>  <strong>Table 3 Configuration items of the fallback policy</strong></p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Configuration Item</th>
+      <th style="text-align: left">Default value</th>
+      <th style="text-align: left">Value Range</th>
+      <th style="text-align: left">Mandatory</th>
+      <th style="text-align: left">Description</th>
+      <th style="text-align: left">Remarks</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">servicecomb.isolation.timeout.enabled</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies whether to enable timeout 
detection.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.isolation.timeoutInMilliseconds</td>
+      <td style="text-align: left">30000</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the timeout duration 
threshold.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.isolation.maxConcurrentRequests</td>
+      <td style="text-align: left">10</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the maximum number of concurrent 
requests.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.enabled</td>
+      <td style="text-align: left">TRUE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies whether to enable fallbreak.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.forceOpen</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies that fallbreak is enable 
regardless of the number of failed requests or the error rate.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.circuitBreaker.forceClosed</td>
+      <td style="text-align: left">FALSE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies that fallbreak can be implemented 
at any time.</td>
+      <td style="text-align: left">If this parameter and 
servicecomb.circuitBreaker.forceOpen both need to be configured, 
servicecomb.circuitBreaker.forceOpen has priority.</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.sleepWindowInMilliseconds</td>
+      <td style="text-align: left">15000</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the duration needed to recover 
from fallbreak.</td>
+      <td style="text-align: left">After the recovery, the number of failed 
requests will be recalculated. Not: If the consumer fails to send a request to 
the provider after the recovery, fallbreak is enabled again.</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.requestVolumeThreshold</td>
+      <td style="text-align: left">20</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the threshold of failed requests 
sent within 10 seconds. If the threshold is reached, fallbreak is 
triggered.</td>
+      <td style="text-align: left">Ten seconds will be divided into ten 1 
seconds, and the error rate is calculated 1 second later after an error 
occurred. Therefore, fallbreak can be implemented at least 1 second after the 
call.</td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.circuitBreaker.errorThresholdPercentage</td>
+      <td style="text-align: left">50</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the threshold of error rate. If 
the threshold is reached, fallbreak is triggered.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.fallback.enabled</td>
+      <td style="text-align: left">TRUE</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies whether to enable troubleshooting 
measures after an error occurred.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: 
left">servicecomb.fallback.maxConcurrentRequests</td>
+      <td style="text-align: left">10</td>
+      <td style="text-align: left">-</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the number of fault 
tolerance(servicecomb.fallbackpolicy.policy) requests concurrently called. If 
the value exceeds 10, the measures will no longer be called, and exception are 
returned.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+    <tr>
+      <td style="text-align: left">servicecomb.fallbackpolicy.policy</td>
+      <td style="text-align: left">throwexception</td>
+      <td style="text-align: left">returnnulll | throwexception</td>
+      <td style="text-align: left">No</td>
+      <td style="text-align: left">Specifies the error handling policies after 
an error occurred.</td>
+      <td style="text-align: left"> </td>
+    </tr>
+  </tbody>
+</table>
+
+<p class="notice--warning"><strong>NOTE:</strong> Be cautions when setting 
servicecomb.isolation.timeout.enabled to TRUE, All processes are asynchronously 
processed in the system, and any error value returned by an intermediate 
process because the set timeout duration is reached can cause failure of the 
follow-up processes. Therefore, you are advised to keep the default value FALSE 
for servicecomb.isolation.timeout.enabled. For timeout duration from the 
network aspect, you are advised to [...]
+
+<h2 id="sample-code-1">Sample Code</h2>
+
+<div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">servicecomb</span><span 
class="pi">:</span>
+  <span class="s">handler</span><span class="pi">:</span>
+    <span class="s">chain</span><span class="pi">:</span>
+      <span class="s">Consumer</span><span class="pi">:</span>
+        <span class="s">default</span><span class="pi">:</span> <span 
class="s">bizkeeper-consumer</span>
+  <span class="s">isolation</span><span class="pi">:</span>
+    <span class="s">Consumer</span><span class="pi">:</span>
+      <span class="s">timeout</span><span class="pi">:</span>
+        <span class="s">enabled</span><span class="pi">:</span> <span 
class="s">true</span>
+      <span class="s">timeoutInMilliseconds</span><span class="pi">:</span> 
<span class="s">30000</span>
+  <span class="s">circuitBreaker</span><span class="pi">:</span>
+    <span class="s">sleepWindowInMilliseconds</span><span class="pi">:</span> 
<span class="s">15000</span>
+    <span class="s">requestVolumeThreshold</span><span class="pi">:</span> 
<span class="s">20</span>
+  <span class="s">fallback</span><span class="pi">:</span>
+    <span class="s">enabled</span><span class="pi">:</span> <span 
class="s">true</span>
+    <span class="s">policy</span><span class="pi">:</span> <span 
class="s">throwexception</span>
 </code></pre>
 </div>
 

Reply via email to