You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2019/10/17 02:39:27 UTC

[servicecomb-website] 02/02: Publish the website

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/servicecomb-website.git

commit 71e895bc5b6fdd1b0e6c45af980973f17adfa67d
Author: Willem Jiang <wi...@gmail.com>
AuthorDate: Thu Oct 17 10:37:14 2019 +0800

    Publish the website
---
 content/cn/developers/contributing.html            |  57 +-
 .../developers/release-validation-guide/index.html |  12 +-
 content/cn/developers/submit-codes/index.html      |   2 +-
 content/cn/developers/submit-issues/index.html     |   2 +-
 .../cn/developers/subscribe-mail-list/index.html   |   2 +-
 content/cn/developers/use-gitter/index.html        |   2 +-
 content/cn/developers/use-jira/index.html          |   2 +-
 content/cn/docs/autoscale-on-company/index.html    |   2 +-
 content/cn/docs/company-on-kubernetes/index.html   |  20 +-
 .../cn/docs/config_center_integration/index.html   |  14 +-
 content/cn/docs/consul-servicemesh.html            |  20 +-
 content/cn/docs/crm-part-I/index.html              | 212 +++---
 .../customized-tracing-with-servicecomb/index.html |  12 +-
 .../index.html                                     |  64 +-
 .../how-to-do-microservice-accept-test/index.html  |  34 +-
 content/cn/docs/linuxcon-workshop-demo/index.html  | 188 ++---
 content/cn/docs/loadtest-saga-with-kubernetes.html |   2 +-
 .../mersher-flow-control/index.html                |   4 +-
 .../mersher-service-management/index.html          |  18 +-
 content/cn/docs/mersher-quick-start/index.html     |  16 +-
 content/cn/docs/open-design/index.html             |  30 +-
 .../index.html                                     |   4 +-
 .../quick-start-advance/flow-control/index.html    |   2 +-
 .../service-management/index.html                  |   2 +-
 content/cn/docs/quick-start-bmi/index.html         |  18 +-
 .../cn/docs/quick-start-dataconsistency/index.html | 128 ++--
 content/cn/docs/quick-start/index.html             |   2 +-
 content/cn/docs/release-note-1-0-0.html            |   6 +-
 content/cn/docs/saga_pack_design/index.html        |  10 +-
 content/cn/docs/saga_with_cucumber/index.html      |  36 +-
 .../index.html                                     |   4 +-
 .../cn/docs/servicecomb-pack-cluster/index.html    |  60 +-
 content/cn/docs/servicecomb-pack-consul/index.html |  24 +-
 content/cn/docs/servicecomb-pack-eureka/index.html |   2 +-
 .../servicecomb-springcloud-zuul-demo/index.html   |  20 +-
 .../index.html                                     |   2 +-
 content/cn/faqs/faqs-huawei-cloud/index.html       |   2 +-
 content/cn/faqs/index.html                         |  40 +-
 .../cn/users/application-boot-process/index.html   |   2 +-
 content/cn/users/communicate-protocol/index.html   |  12 +-
 content/cn/users/customized-tracing/index.html     |  18 +-
 content/cn/users/develop-with-jax-rs/index.html    |  16 +-
 .../cn/users/develop-with-rest-template/index.html |  26 +-
 content/cn/users/develop-with-rpc/index.html       |  26 +-
 .../develop-with-spring-boot-starter/index.html    |  16 +-
 content/cn/users/develop-with-springmvc/index.html |  18 +-
 .../users/develop-with-transparent-rpc/index.html  |  24 +-
 content/cn/users/distributed-tracing/index.html    |   2 +-
 content/cn/users/dynamic-config/index.html         |  16 +-
 content/cn/users/edge-in-1.0.0-m1/index.html       |  12 +-
 content/cn/users/edging-service/nginx/index.html   |  12 +-
 content/cn/users/edging-service/zuul/index.html    |   8 +-
 content/cn/users/healthcheck/index.html            |  18 +-
 content/cn/users/invoke-control/index.html         |   2 +-
 content/cn/users/local-develop-test/index.html     |   8 +-
 .../index.html                                     |  12 +-
 content/cn/users/metrics-in-0.5.0/index.html       |   8 +-
 content/cn/users/metrics-in-1.0.0-m1/index.html    |  52 +-
 .../index.html                                     |   2 +-
 .../index.html                                     |   6 +-
 content/cn/users/run-mode/index.html               |   6 +-
 content/cn/users/service-configurations/index.html |   8 +-
 content/cn/users/service-contract/index.html       |   2 +-
 content/cn/users/service-definition/index.html     |   2 +-
 content/cn/users/service-heartbeat/index.html      |   8 +-
 .../users/service-interface-constraints/index.html |  18 +-
 content/cn/users/setup-environment/index.html      |  46 +-
 content/cn/users/use-service-contract/index.html   |   2 +-
 content/cn/users/use-tls/index.html                |   2 +-
 content/developers/contributing.html               |  48 +-
 .../developers/release-validation-guide/index.html |  12 +-
 content/developers/submit-codes/index.html         |   2 +-
 content/developers/use-jira/index.html             |   2 +-
 content/docs/autoscale-on-company/index.html       |   2 +-
 content/docs/company-on-kubernetes/index.html      |  20 +-
 content/docs/howto-upgrade-topzipkin2/index.html   |  60 +-
 content/docs/linuxcon-workshop-demo/index.html     | 188 ++---
 .../mersher-flow-control/index.html                |   4 +-
 .../mersher-service-management/index.html          |  12 +-
 content/docs/mersher-quick-start/index.html        |  16 +-
 .../quick-start-advance/flow-control/index.html    |   2 +-
 .../service-management/index.html                  |   2 +-
 content/docs/quick-start-bmi/index.html            |  18 +-
 .../docs/quick-start-dataconsistency/index.html    | 128 ++--
 content/docs/quick-start/index.html                |   2 +-
 content/docs/release-note-1-0-0/index.html         |   6 +-
 .../index.html                                     |   4 +-
 content/docs/servicecomb-pack-cluster/index.html   |  60 +-
 content/docs/servicecomb-pack-consul/index.html    |  24 +-
 content/docs/servicecomb-pack-eureka/index.html    |   2 +-
 .../index.html                                     |   2 +-
 content/faqs/index.html                            |   2 +-
 content/feed.xml                                   | 816 ++++++++++-----------
 content/sitemap.xml                                | 298 ++++----
 content/users/application-boot-process/index.html  |   2 +-
 content/users/communicate-protocol/index.html      |  12 +-
 content/users/customized-tracing/index.html        |  18 +-
 content/users/develop-with-jax-rs/index.html       |  16 +-
 .../users/develop-with-rest-template/index.html    |  26 +-
 content/users/develop-with-rpc/index.html          |  26 +-
 .../develop-with-spring-boot-starter/index.html    |  16 +-
 content/users/develop-with-springmvc/index.html    |  18 +-
 .../users/develop-with-transparent-rpc/index.html  |  24 +-
 content/users/distributed-tracing/index.html       |   2 +-
 content/users/dynamic-config/index.html            |  16 +-
 content/users/edge-in-1.0.0-m1/index.html          |  12 +-
 content/users/edging-service/nginx/index.html      |  12 +-
 content/users/edging-service/zuul/index.html       |   8 +-
 content/users/faq/index.html                       |   2 +-
 content/users/healthcheck/index.html               |  18 +-
 content/users/invoke-control/index.html            |   2 +-
 content/users/local-develop-test/index.html        |   8 +-
 .../index.html                                     |  14 +-
 content/users/metrics-in-1.0.0-m1/index.html       |  52 +-
 .../index.html                                     |   2 +-
 content/users/run-mode/index.html                  |   6 +-
 content/users/service-configurations/index.html    |   8 +-
 content/users/service-contract/index.html          |   2 +-
 content/users/service-definition/index.html        |   2 +-
 content/users/service-heartbeat/index.html         |   8 +-
 .../users/service-interface-constraints/index.html |  18 +-
 content/users/setup-environment/index.html         |  46 +-
 content/users/use-service-contract/index.html      |   2 +-
 content/users/use-tls/index.html                   |   2 +-
 124 files changed, 1817 insertions(+), 1802 deletions(-)

diff --git a/content/cn/developers/contributing.html b/content/cn/developers/contributing.html
index 841ce78..2fe84ca 100644
--- a/content/cn/developers/contributing.html
+++ b/content/cn/developers/contributing.html
@@ -507,30 +507,65 @@
   <thead>
     <tr>
       <th>项目名</th>
-      <th>项目介绍</th>
-      <th>语言</th>
+      <th>项目简介</th>
+      <th>编程语言</th>
     </tr>
   </thead>
   <tbody>
     <tr>
-      <td><a href="https://github.com/apache/servicecomb-java-chassis">Java Chassis</a></td>
+      <td><a href="https://github.com/apache/servicecomb-java-chassis">servicecomb-java-chassis</a></td>
       <td>Java微服务框架(SDK)</td>
       <td>Java</td>
     </tr>
     <tr>
-      <td><a href="https://github.com/apache/servicecomb-service-center">Service Center</a></td>
-      <td>服务注册和发现</td>
-      <td>Go</td>
+      <td><a href="https://github.com/apache/servicecomb-service-center">servicecomb-service-center</a></td>
+      <td>服务中心(服务注册及发现)</td>
+      <td>Golang</td>
     </tr>
     <tr>
-      <td><a href="https://github.com/apache/servicecomb-saga">Saga</a></td>
-      <td>微服务最终一致性解决方案</td>
+      <td><a href="https://github.com/apache/servicecomb-pack">servicecomb-pack</a></td>
+      <td>支持Saga/TCC等多协议的分布式事务方案</td>
       <td>Java</td>
     </tr>
     <tr>
-      <td><a href="https://github.com/apache/servicecomb-website">Website</a></td>
-      <td>ServiceComb主站</td>
-      <td>Markdown</td>
+      <td><a href="https://github.com/apache/servicecomb-Mesher">servicecomb-mesher</a></td>
+      <td>微服务网格</td>
+      <td>Golang</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-kie">servicecomb-kie</a></td>
+      <td>微服务配置管理中心</td>
+      <td>Golang</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-toolkit">servicecomb-toolkit</a></td>
+      <td>基于契约的微服务开发工具</td>
+      <td>Java</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-samples">servicecomb-samples</a></td>
+      <td>提供了微服务示例</td>
+      <td>Java</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-fence">servicecomb-fence</a></td>
+      <td>ServiceComb Java-chassis安全认证解决方案</td>
+      <td>Java</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-docs">servicecomb-docs</a></td>
+      <td>ServiceComb用户手册</td>
+      <td>CSS</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-website">servicecomb-website</a></td>
+      <td>ServiceComb网站</td>
+      <td>HTML</td>
+    </tr>
+    <tr>
+      <td><a href="https://github.com/apache/servicecomb-saga-actuator">servicecomb-saga-actuator</a></td>
+      <td>集中式Saga事务协调器 (归档)</td>
+      <td>Java</td>
     </tr>
   </tbody>
 </table>
diff --git a/content/cn/developers/release-validation-guide/index.html b/content/cn/developers/release-validation-guide/index.html
index f2316c4..2a5e5af 100644
--- a/content/cn/developers/release-validation-guide/index.html
+++ b/content/cn/developers/release-validation-guide/index.html
@@ -522,7 +522,7 @@
 
 <p>验证Hash:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sha512sum <span class="nt">-c</span> xxx-src.zip.sha512
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sha512sum</span> <span class="nt">-c</span> xxx-src.zip.sha512
 </code></pre></div></div>
 
 <p>提示<code class="highlighter-rouge">OK</code>代表Hash正确。</p>
@@ -535,12 +535,12 @@
 
 <p>使用<code class="highlighter-rouge">cd</code>命令切换到解压出来的源代码根目录下,执行:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pit</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pit</span>
 </code></pre></div></div>
 
 <blockquote>
   <p>提示:如果如果验证环境操作系统是Windows:</p>
-  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pit</span> <span class="nt">-Pdocker-machine</span>
+  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pit</span> <span class="nt">-Pdocker-machine</span>
 </code></pre></div>  </div>
 </blockquote>
 
@@ -549,7 +549,7 @@
 <h3 id="验证staging-repository内的库正确">验证Staging Repository内的库正确</h3>
 <p>首先删除本地Repo中ServiceComb的全部缓存:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rm <span class="nt">-rf</span> /root/.m2/repository/org/apache/servicecomb/
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">rm</span> <span class="nt">-rf</span> /root/.m2/repository/org/apache/servicecomb/
 </code></pre></div></div>
 
 <blockquote>
@@ -594,12 +594,12 @@
 
 <p>一切就绪后,使用<code class="highlighter-rouge">cd</code>命令切换到<strong>源代码demo目录(注意不是根目录)下</strong>,执行:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span>
 </code></pre></div></div>
 
 <blockquote>
   <p>提示:如果如果验证环境操作系统是Windows:</p>
-  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span> <span class="nt">-Pdocker-machine</span>
+  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span> <span class="nt">-Pdocker-machine</span>
 </code></pre></div>  </div>
 </blockquote>
 
diff --git a/content/cn/developers/submit-codes/index.html b/content/cn/developers/submit-codes/index.html
index 243ea79..0ebc5b7 100644
--- a/content/cn/developers/submit-codes/index.html
+++ b/content/cn/developers/submit-codes/index.html
@@ -440,7 +440,7 @@
     <meta itemprop="headline" content="代码提交指南">
     <meta itemprop="description" content="介绍如何向 ServiceComb 项目提交代码">
     
-    <meta itemprop="dateModified" content="September 10, 2017">
+    <meta itemprop="dateModified" content="September 08, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/developers/submit-issues/index.html b/content/cn/developers/submit-issues/index.html
index e5a5b39..fb93ea6 100644
--- a/content/cn/developers/submit-issues/index.html
+++ b/content/cn/developers/submit-issues/index.html
@@ -440,7 +440,7 @@
     <meta itemprop="headline" content="发现问题">
     <meta itemprop="description" content="介绍如何向 ServiceComb 项目提交issue">
     
-    <meta itemprop="dateModified" content="March 14, 2019">
+    <meta itemprop="dateModified" content="March 13, 2019">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/developers/subscribe-mail-list/index.html b/content/cn/developers/subscribe-mail-list/index.html
index 380f633..823ae19 100644
--- a/content/cn/developers/subscribe-mail-list/index.html
+++ b/content/cn/developers/subscribe-mail-list/index.html
@@ -440,7 +440,7 @@
     <meta itemprop="headline" content="如何订阅Apache ServiceComb的邮件列表">
     <meta itemprop="description" content="如何订阅Apache ServiceComb的邮件列表">
     
-    <meta itemprop="dateModified" content="September 10, 2017">
+    <meta itemprop="dateModified" content="September 08, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/developers/use-gitter/index.html b/content/cn/developers/use-gitter/index.html
index 182cf4b..3f51482 100644
--- a/content/cn/developers/use-gitter/index.html
+++ b/content/cn/developers/use-gitter/index.html
@@ -440,7 +440,7 @@
     <meta itemprop="headline" content="Gitter 使用指南">
     <meta itemprop="description" content="介绍如何使用Gitter参与到ServiceComb开源开发">
     
-    <meta itemprop="dateModified" content="March 01, 2018">
+    <meta itemprop="dateModified" content="February 28, 2018">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/developers/use-jira/index.html b/content/cn/developers/use-jira/index.html
index ea87d70..08d8afc 100644
--- a/content/cn/developers/use-jira/index.html
+++ b/content/cn/developers/use-jira/index.html
@@ -440,7 +440,7 @@
     <meta itemprop="headline" content="JIRA使用指南">
     <meta itemprop="description" content="介绍 ServiceComb 如何使用JIRA">
     
-    <meta itemprop="dateModified" content="March 01, 2018">
+    <meta itemprop="dateModified" content="February 28, 2018">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/docs/autoscale-on-company/index.html b/content/cn/docs/autoscale-on-company/index.html
index 91d13b1..259b28c 100644
--- a/content/cn/docs/autoscale-on-company/index.html
+++ b/content/cn/docs/autoscale-on-company/index.html
@@ -415,7 +415,7 @@
 </code></pre></div></div>
 
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">spec</span><span class="pi">:</span>
-  <span class="na">replicas</span><span class="pi">:</span> <span class="s">1</span>
+  <span class="na">replicas</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">template</span><span class="pi">:</span>
     <span class="na">metadata</span><span class="pi">:</span>
       <span class="na">labels</span><span class="pi">:</span>
diff --git a/content/cn/docs/company-on-kubernetes/index.html b/content/cn/docs/company-on-kubernetes/index.html
index 5f1afc1..fecda0b 100644
--- a/content/cn/docs/company-on-kubernetes/index.html
+++ b/content/cn/docs/company-on-kubernetes/index.html
@@ -453,9 +453,9 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
     <span class="s">spec</span><span class="pi">:</span>
       <span class="na">ports</span><span class="pi">:</span>
 <span class="err">    </span><span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">30100"</span>
-      <span class="na">port</span><span class="pi">:</span> <span class="s">30100</span>
-      <span class="na">targetPort</span><span class="pi">:</span> <span class="s">30100</span>
-        <span class="s">selector</span><span class="pi">:</span>
+      <span class="na">port</span><span class="pi">:</span> <span class="m">30100</span>
+      <span class="na">targetPort</span><span class="pi">:</span> <span class="m">30100</span>
+        <span class="na">selector</span><span class="pi">:</span>
       <span class="s">io.kompose.service</span><span class="pi">:</span> <span class="s">company-bulletin-board</span>
       <span class="na">status</span><span class="pi">:</span>
         <span class="na">loadBalancer</span><span class="pi">:</span> <span class="pi">{}</span>
@@ -475,7 +475,7 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
 <span class="err">	</span><span class="s">io.kompose.service</span><span class="pi">:</span> <span class="s">company-worker</span>
   <span class="s">name</span><span class="pi">:</span> <span class="s">company-worker</span>
 <span class="na">spec</span><span class="pi">:</span>
-  <span class="na">replicas</span><span class="pi">:</span> <span class="s">1</span>
+  <span class="na">replicas</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">strategy</span><span class="pi">:</span> <span class="pi">{}</span>
   <span class="na">template</span><span class="pi">:</span>
 <span class="err">	</span><span class="na">metadata</span><span class="pi">:</span>
@@ -492,8 +492,8 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
     <span class="na">image</span><span class="pi">:</span> <span class="s">servicecomb/worker:0.0.1-SNAPSHOT</span>
     <span class="na">name</span><span class="pi">:</span> <span class="s">company-worker</span>
     <span class="na">ports</span><span class="pi">:</span>
-    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="s">7070</span>
-    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="s">8080</span>
+    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="m">7070</span>
+    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="m">8080</span>
     <span class="na">resources</span><span class="pi">:</span> <span class="pi">{}</span>
   <span class="na">restartPolicy</span><span class="pi">:</span> <span class="s">Always</span>
 <span class="na">status</span><span class="pi">:</span> <span class="pi">{}</span>
@@ -508,10 +508,10 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">spec</span><span class="pi">:</span>
   <span class="na">ports</span><span class="pi">:</span>
   <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">8083"</span>
-<span class="err">  	</span><span class="na">port</span><span class="pi">:</span> <span class="s">8083</span>
-  <span class="err">	</span><span class="s">targetPort</span><span class="pi">:</span> <span class="s">8080</span>
-  <span class="err">	</span><span class="s">nodePort</span><span class="pi">:</span> <span class="s">30301</span>
-  <span class="err">	</span><span class="s">protocol</span><span class="pi">:</span> <span class="s">TCP</span>
+<span class="err">  	</span><span class="na">port</span><span class="pi">:</span> <span class="m">8083</span>
+<span class="err">  	</span><span class="na">targetPort</span><span class="pi">:</span> <span class="m">8080</span>
+<span class="err">  	</span><span class="na">nodePort</span><span class="pi">:</span> <span class="m">30301</span>
+<span class="err">  	</span><span class="na">protocol</span><span class="pi">:</span> <span class="s">TCP</span>
   <span class="s">type</span><span class="pi">:</span> <span class="s">NodePort</span>
 </code></pre></div></div>
 
diff --git a/content/cn/docs/config_center_integration/index.html b/content/cn/docs/config_center_integration/index.html
index e946247..6f9cc97 100644
--- a/content/cn/docs/config_center_integration/index.html
+++ b/content/cn/docs/config_center_integration/index.html
@@ -399,11 +399,11 @@
 
 <p>项目代码中经常会用到各种配置项,比如下面的代码中是从系统环境变量中获取<code class="highlighter-rouge">prop</code> :</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">String</span> <span class="n">prop</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">myProperty</span><span class="o">);</span>
-<span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="n">DEFAULT_VALUE</span><span class="o">;</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">String</span> <span class="n">prop</span> <span class="o">=</span> <span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">myProperty</span><span class="o">);</span>
+<span class="kt">int</span> <span class="n">x</span> <span class="o">=</span> <span class="no">DEFAULT_VALUE</span><span class="o">;</span>
 <span class="k">try</span> <span class="o">{</span>
-    <span class="n">x</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">prop</span><span class="o">);</span>
-<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">NumberFormatException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+    <span class="n">x</span> <span class="o">=</span> <span class="nc">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">prop</span><span class="o">);</span>
+<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">NumberFormatException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
     <span class="c1">// handle format issues</span>
 <span class="o">}</span>
 <span class="n">myMethod</span><span class="o">(</span><span class="n">x</span><span class="o">);</span>
@@ -623,11 +623,11 @@
     <p>init函数实现固定时间间隔或实时获取配置中心的配置项逻辑。<code class="highlighter-rouge">ApolloClient</code>中<code class="highlighter-rouge">refreshApolloConfig</code>函数启动了一个定时执行的线程刷新配置项:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">refreshApolloConfig</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">EXECUTOR</span>
-        <span class="o">.</span><span class="na">scheduleWithFixedDelay</span><span class="o">(</span><span class="k">new</span> <span class="n">ConfigRefresh</span><span class="o">(</span><span class="n">serviceUri</span><span class="o">),</span> 
+    <span class="no">EXECUTOR</span>
+        <span class="o">.</span><span class="na">scheduleWithFixedDelay</span><span class="o">(</span><span class="k">new</span> <span class="nc">ConfigRefresh</span><span class="o">(</span><span class="n">serviceUri</span><span class="o">),</span> 
                                 <span class="n">firstRefreshInterval</span><span class="o">,</span> 
                                 <span class="n">refreshInterval</span><span class="o">,</span> 
-                                <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
+                                <span class="nc">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">);</span>
   <span class="o">}</span>
 </code></pre></div>    </div>
 
diff --git a/content/cn/docs/consul-servicemesh.html b/content/cn/docs/consul-servicemesh.html
index b1576ca..a4abf5d 100644
--- a/content/cn/docs/consul-servicemesh.html
+++ b/content/cn/docs/consul-servicemesh.html
@@ -445,10 +445,10 @@ nodeB<span class="nv">$ </span>dev
 <p>Consul 1.2新增了Connect功能,只需要在服务中增加一个<code class="highlighter-rouge">connect</code>配置,即可为该服务启动一个代理:</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"service"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="s2">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"webfront"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"connect"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"proxy"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w">
+    </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+        </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"webfront"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"connect"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+            </span><span class="nl">"proxy"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span><span class="w">
         </span><span class="p">}</span><span class="w">
     </span><span class="p">}</span><span class="w">
 </span><span class="p">}</span><span class="w">
@@ -487,12 +487,12 @@ nodeB<span class="nv">$ </span>dev
 <p>没错!其实,在Consul1.2中,Connect已经可以通过指定一个可执行文件的路径来启动第三方代理了。Consul会以daemon模式启动第三方代理,在后台运行:</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"service"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="s2">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"webfront"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"connect"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"proxy"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-                </span><span class="s2">"exec_mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daemon"</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"command"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"/usr/bin/my-proxy"</span><span class="p">,</span><span class="w"> </span><span class="s2">"--listen"</span><span class="p">,</span><span class="w"> </span><span class="s2">"8800"</span><span class="p">]</span><span class="w">
+    </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+        </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"webfront"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"connect"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+            </span><span class="nl">"proxy"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+                </span><span class="nl">"exec_mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"daemon"</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"command"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"/usr/bin/my-proxy"</span><span class="p">,</span><span class="w"> </span><span class="s2">"--listen"</span><span class="p">,</span><span class="w"> </span><span class="s2">"8800"</span><span class="p">]</span><span class="w">
             </span><span class="p">}</span><span class="w">
         </span><span class="p">}</span><span class="w">
     </span><span class="p">}</span><span class="w">
diff --git a/content/cn/docs/crm-part-I/index.html b/content/cn/docs/crm-part-I/index.html
index 19c9a94..b84cf28 100644
--- a/content/cn/docs/crm-part-I/index.html
+++ b/content/cn/docs/crm-part-I/index.html
@@ -541,8 +541,8 @@
 </ol>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-  </span><span class="s2">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HS256"</span><span class="w">
+  </span><span class="nl">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HS256"</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
 
@@ -551,9 +551,9 @@
 </ol>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-  </span><span class="s2">"sub"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1234567890"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"YangYong Zheng"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"iat"</span><span class="p">:</span><span class="w"> </span><span class="mi">1516239022</span><span class="w">
+  </span><span class="nl">"sub"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1234567890"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"YangYong Zheng"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"iat"</span><span class="p">:</span><span class="w"> </span><span class="mi">1516239022</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
 
@@ -604,30 +604,30 @@
 <span class="nd">@Table</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"T_User"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">UserEntity</span> <span class="o">{</span>
   <span class="nd">@Id</span>
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">name</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">name</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">password</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">password</span><span class="o">;</span>
 
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setName</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setName</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getPassword</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getPassword</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">password</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setPassword</span><span class="o">(</span><span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setPassword</span><span class="o">(</span><span class="nc">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">password</span> <span class="o">=</span> <span class="n">password</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="kd">public</span> <span class="nf">UserEntity</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="nf">UserEntity</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">,</span> <span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">UserEntity</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">,</span> <span class="nc">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">password</span> <span class="o">=</span> <span class="n">password</span><span class="o">;</span>
   <span class="o">}</span>
@@ -640,8 +640,8 @@
 <p>我们继承JPA的PagingAndSortingRepository来实现ORM操作</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Repository</span>
-<span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UserRepository</span> <span class="kd">extends</span> <span class="n">PagingAndSortingRepository</span><span class="o">&lt;</span><span class="n">UserEntity</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="n">UserEntity</span> <span class="nf">findByName</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UserRepository</span> <span class="kd">extends</span> <span class="nc">PagingAndSortingRepository</span><span class="o">&lt;</span><span class="nc">UserEntity</span><span class="o">,</span> <span class="nc">Long</span><span class="o">&gt;</span> <span class="o">{</span>
+  <span class="nc">UserEntity</span> <span class="nf">findByName</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -663,9 +663,9 @@
 <h6 id="定义jwt接口">定义JWT接口</h6>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">TokenStore</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="nf">generate</span><span class="o">(</span><span class="n">String</span> <span class="n">userName</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">generate</span><span class="o">(</span><span class="nc">String</span> <span class="n">userName</span><span class="o">);</span>
 
-  <span class="kt">boolean</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">);</span>
+  <span class="kt">boolean</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -676,10 +676,10 @@
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Component</span>
 <span class="nd">@Component</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">JwtTokenStore</span> <span class="kd">implements</span> <span class="n">TokenStore</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">LOGGER</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">JwtTokenStore</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">JwtTokenStore</span> <span class="kd">implements</span> <span class="nc">TokenStore</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="no">LOGGER</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">JwtTokenStore</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">secretKey</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">String</span> <span class="n">secretKey</span><span class="o">;</span>
 
   <span class="kd">private</span> <span class="kd">final</span> <span class="kt">int</span> <span class="n">secondsToExpire</span><span class="o">;</span>
 
@@ -688,25 +688,25 @@
     <span class="k">this</span><span class="o">.</span><span class="na">secondsToExpire</span> <span class="o">=</span> <span class="mi">60</span> <span class="o">*</span> <span class="mi">60</span> <span class="o">*</span> <span class="mi">24</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="nf">JwtTokenStore</span><span class="o">(</span><span class="n">String</span> <span class="n">secretKey</span><span class="o">,</span> <span class="kt">int</span> <span class="n">secondsToExpire</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">JwtTokenStore</span><span class="o">(</span><span class="nc">String</span> <span class="n">secretKey</span><span class="o">,</span> <span class="kt">int</span> <span class="n">secondsToExpire</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">secretKey</span> <span class="o">=</span> <span class="n">secretKey</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">secondsToExpire</span> <span class="o">=</span> <span class="n">secondsToExpire</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">generate</span><span class="o">(</span><span class="n">String</span> <span class="n">userName</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">Jwts</span><span class="o">.</span><span class="na">builder</span><span class="o">().</span><span class="na">setSubject</span><span class="o">(</span><span class="n">userName</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">setExpiration</span><span class="o">(</span><span class="n">Date</span><span class="o">.</span><span class="na">from</span><span class="o">(</span><span class="n">ZonedDateTime</span><span class="o">.</span><span class="na">now</span><span class="o">().</span><span class="na">plusSeconds</span><span class="o">(</span><span class="n">secondsToExpire</span><span class="o">).</span><span class="na">toInstant</span><span class="o">()))</span>
-        <span class="o">.</span><span class="na">signWith</span><span class="o">(</span><span class="n">HS512</span><span class="o">,</span> <span class="n">secretKey</span><span class="o">).</span><span class="na">compact</span><span class="o">();</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">generate</span><span class="o">(</span><span class="nc">String</span> <span class="n">userName</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="nc">Jwts</span><span class="o">.</span><span class="na">builder</span><span class="o">().</span><span class="na">setSubject</span><span class="o">(</span><span class="n">userName</span><span class="o">)</span>
+        <span class="o">.</span><span class="na">setExpiration</span><span class="o">(</span><span class="nc">Date</span><span class="o">.</span><span class="na">from</span><span class="o">(</span><span class="nc">ZonedDateTime</span><span class="o">.</span><span class="na">now</span><span class="o">().</span><span class="na">plusSeconds</span><span class="o">(</span><span class="n">secondsToExpire</span><span class="o">).</span><span class="na">toInstant</span><span class="o">()))</span>
+        <span class="o">.</span><span class="na">signWith</span><span class="o">(</span><span class="no">HS512</span><span class="o">,</span> <span class="n">secretKey</span><span class="o">).</span><span class="na">compact</span><span class="o">();</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">try</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">Jwts</span><span class="o">.</span><span class="na">parser</span><span class="o">()</span>
+      <span class="k">return</span> <span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="nc">Jwts</span><span class="o">.</span><span class="na">parser</span><span class="o">()</span>
        <span class="o">.</span><span class="na">setSigningKey</span><span class="o">(</span><span class="n">secretKey</span><span class="o">).</span><span class="na">parseClaimsJws</span><span class="o">(</span><span class="n">token</span><span class="o">).</span><span class="na">getBody</span><span class="o">().</span><span class="na">getSubject</span><span class="o">());</span>
-    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">JwtException</span> <span class="o">|</span> <span class="n">IllegalArgumentException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">LOGGER</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"validateToken token : "</span> <span class="o">+</span> <span class="n">token</span> <span class="o">+</span> <span class="s">" failed"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">JwtException</span> <span class="o">|</span> <span class="nc">IllegalArgumentException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+      <span class="no">LOGGER</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"validateToken token : "</span> <span class="o">+</span> <span class="n">token</span> <span class="o">+</span> <span class="s">" failed"</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
     <span class="o">}</span>
     <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
   <span class="o">}</span>
@@ -717,8 +717,8 @@
 <h6 id="定义userservice接口">定义UserService接口</h6>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UserService</span> <span class="o">{</span>
-  <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="n">UserDTO</span> <span class="n">user</span><span class="o">);</span>
-  <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="n">UserDTO</span> <span class="n">user</span><span class="o">);</span>
+  <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="nc">UserDTO</span> <span class="n">user</span><span class="o">);</span>
+  <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="nc">UserDTO</span> <span class="n">user</span><span class="o">);</span>
 <span class="o">}</span>
 
 </code></pre></div></div>
@@ -726,17 +726,17 @@
 <p>logon用于新用户注册,login用于用户登录验证,UserDTO用于参数传递:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">UserDTO</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">name</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">password</span><span class="o">;</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">name</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">password</span><span class="o">;</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getPassword</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getPassword</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">password</span><span class="o">;</span>
   <span class="o">}</span>
   <span class="kd">public</span> <span class="nf">UserDTO</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
-  <span class="kd">public</span> <span class="nf">UserDTO</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">,</span> <span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">UserDTO</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">,</span> <span class="nc">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">password</span> <span class="o">=</span> <span class="n">password</span><span class="o">;</span>
   <span class="o">}</span>
@@ -748,58 +748,58 @@
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"user"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">UserServiceImpl</span> <span class="kd">implements</span> <span class="n">UserService</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">UserRepository</span> <span class="n">repository</span><span class="o">;</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">UserServiceImpl</span> <span class="kd">implements</span> <span class="nc">UserService</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">UserRepository</span> <span class="n">repository</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">TokenStore</span> <span class="n">tokenStore</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">TokenStore</span> <span class="n">tokenStore</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">UserServiceImpl</span><span class="o">(</span><span class="n">UserRepository</span> <span class="n">repository</span><span class="o">,</span> <span class="n">TokenStore</span> <span class="n">tokenStore</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">UserServiceImpl</span><span class="o">(</span><span class="nc">UserRepository</span> <span class="n">repository</span><span class="o">,</span> <span class="nc">TokenStore</span> <span class="n">tokenStore</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">repository</span> <span class="o">=</span> <span class="n">repository</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">tokenStore</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
   <span class="nd">@PostMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"logon"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">validateUser</span><span class="o">(</span><span class="n">user</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
+      <span class="nc">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
       <span class="k">if</span> <span class="o">(</span><span class="n">dbUser</span> <span class="o">==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">UserEntity</span> <span class="n">entity</span> <span class="o">=</span> <span class="k">new</span> <span class="n">UserEntity</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">(),</span> <span class="n">user</span><span class="o">.</span><span class="na">getPassword</span><span class="o">());</span>
+        <span class="nc">UserEntity</span> <span class="n">entity</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">UserEntity</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">(),</span> <span class="n">user</span><span class="o">.</span><span class="na">getPassword</span><span class="o">());</span>
         <span class="n">repository</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="n">entity</span><span class="o">);</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="n">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
+        <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="nc">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
       <span class="o">}</span>
-      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name had exist"</span><span class="o">);</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name had exist"</span><span class="o">);</span>
     <span class="o">}</span>
-    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
+    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
   <span class="nd">@PostMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"login"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">validateUser</span><span class="o">(</span><span class="n">user</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
+      <span class="nc">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
       <span class="k">if</span> <span class="o">(</span><span class="n">dbUser</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
         <span class="k">if</span> <span class="o">(</span><span class="n">dbUser</span><span class="o">.</span><span class="na">getPassword</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getPassword</span><span class="o">()))</span> <span class="o">{</span>
-          <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">.</span><span class="na">generate</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
-          <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="n">generateAuthenticationHeaders</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
+          <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">.</span><span class="na">generate</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
+          <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="n">generateAuthenticationHeaders</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
           <span class="c1">//add authentication header</span>
-          <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="n">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
+          <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="nc">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
         <span class="o">}</span>
-        <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"wrong password"</span><span class="o">);</span>
+        <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"wrong password"</span><span class="o">);</span>
       <span class="o">}</span>
-      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name not exist"</span><span class="o">);</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name not exist"</span><span class="o">);</span>
     <span class="o">}</span>
-    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
+    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">validateUser</span><span class="o">(</span><span class="n">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">user</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="n">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">())</span> <span class="o">&amp;&amp;</span> <span class="n">StringUtils</span><span class="o">.</span><span class="na">isNotEm [...]
+  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">validateUser</span><span class="o">(</span><span class="nc">UserDTO</span> <span class="n">user</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="n">user</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">&amp;&amp;</span> <span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">user</span><span class="o">.</span><span class="na">getName</span><span class="o">())</span> <span class="o">&amp;&amp;</span> <span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNot [...]
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">HttpHeaders</span> <span class="nf">generateAuthenticationHeaders</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpHeaders</span><span class="o">();</span>
-    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">HttpHeaders</span> <span class="nf">generateAuthenticationHeaders</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HttpHeaders</span><span class="o">();</span>
+    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
     <span class="k">return</span> <span class="n">headers</span><span class="o">;</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -880,8 +880,8 @@
 <h5 id="第二步编写调度器dispatcher">第二步:编写调度器Dispatcher</h5>
 <p>Edge服务的核心就是调度器Dispatcher,ServiceComb Edge Core中的Dispatcher基于高性能的Vertx Reactive,轻松应对百万量级API请求的挑战;只需要继承AbstractEdgeDispatcher抽象类,添加对应的逻辑即可:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">EdgeDispatcher</span> <span class="kd">extends</span> <span class="n">AbstractEdgeDispatcher</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">LOGGER</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">EdgeDispatcher</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">EdgeDispatcher</span> <span class="kd">extends</span> <span class="nc">AbstractEdgeDispatcher</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="no">LOGGER</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">EdgeDispatcher</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
   <span class="c1">//此Dispatcher的优先级,Order级越小,路由策略优先级越高</span>
   <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getOrder</span><span class="o">()</span> <span class="o">{</span>
@@ -889,30 +889,30 @@
   <span class="o">}</span>
 
   <span class="c1">//初始化Dispatcher的路由策略</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="n">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="nc">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
     <span class="c1">///捕获 {ServiceComb微服务Name}/{服务路径&amp;参数} 的URL</span>
-    <span class="n">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
-    <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
+    <span class="nc">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
+    <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="nc">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
     <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">createBodyHandler</span><span class="o">());</span>
     <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">failureHandler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onFailure</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onRequest</span><span clas [...]
   <span class="o">}</span>
 
   <span class="c1">//处理请求,请注意</span>
-  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="n">RoutingContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">pathParams</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">pathParams</span><span class="o">();</span>
+  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="nc">RoutingContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">pathParams</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="na">pathParams</span><span class="o">();</span>
     <span class="c1">//从匹配的param0拿到{ServiceComb微服务Name}</span>
-    <span class="kd">final</span> <span class="n">String</span> <span class="n">service</span> <span class="o">=</span> <span class="n">pathParams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"param0"</span><span class="o">);</span>
+    <span class="kd">final</span> <span class="nc">String</span> <span class="n">service</span> <span class="o">=</span> <span class="n">pathParams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"param0"</span><span class="o">);</span>
     <span class="c1">//从匹配的param1拿到{服务路径&amp;参数}</span>
-    <span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span> <span class="o">+</span> <span class="n">pathParams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"param1"</span><span class="o">);</span>
+    <span class="nc">String</span> <span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span> <span class="o">+</span> <span class="n">pathParams</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"param1"</span><span class="o">);</span>
 
     <span class="c1">//还记得我们之前说的做出一点点改进吗?引入一个自定义配置edge.routing-short-path.{简称},映射微服务名;如果简称没有配置,那么就认为直接是微服务的名</span>
-    <span class="kd">final</span> <span class="n">String</span> <span class="n">serviceName</span> <span class="o">=</span> <span class="n">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">()</span>
+    <span class="kd">final</span> <span class="nc">String</span> <span class="n">serviceName</span> <span class="o">=</span> <span class="nc">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">()</span>
         <span class="o">.</span><span class="na">getStringProperty</span><span class="o">(</span><span class="s">"edge.routing-short-path."</span> <span class="o">+</span> <span class="n">service</span><span class="o">,</span> <span class="n">service</span><span class="o">).</span><span class="na">get</span><span class="o">();</span>
 
     <span class="c1">//创建一个Edge转发</span>
-    <span class="n">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="n">EdgeInvocation</span><span class="o">();</span>
+    <span class="nc">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EdgeInvocation</span><span class="o">();</span>
     <span class="c1">//允许接受任意版本的微服务实例作为Provider,未来我们会使用此(设置版本)能力实现灰度发布</span>
-    <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">setVersionRule</span><span class="o">(</span><span class="n">DefinitionConst</span><span class="o">.</span><span class="na">VERSION_RULE_ALL</span><span class="o">);</span>
+    <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">setVersionRule</span><span class="o">(</span><span class="nc">DefinitionConst</span><span class="o">.</span><span class="na">VERSION_RULE_ALL</span><span class="o">);</span>
     <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">init</span><span class="o">(</span><span class="n">serviceName</span><span class="o">,</span> <span class="n">context</span><span class="o">,</span> <span class="n">path</span><span class="o">,</span> <span class="n">httpServerFilters</span><span class="o">);</span>
     <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">edgeInvoke</span><span class="o">();</span>
   <span class="o">}</span>
@@ -1015,27 +1015,27 @@
 <h5 id="第一步发布认证服务">第一步:发布认证服务</h5>
 <h6 id="定义authenticationservice">定义AuthenticationService</h6>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 <h6 id="实现并发布authenticationservice">实现并发布AuthenticationService</h6>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"authentication"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationServiceImpl</span> <span class="kd">implements</span> <span class="n">AuthenticationService</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationServiceImpl</span> <span class="kd">implements</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">TokenStore</span> <span class="n">tokenStore</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">TokenStore</span> <span class="n">tokenStore</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">AuthenticationServiceImpl</span><span class="o">(</span><span class="n">TokenStore</span> <span class="n">tokenStore</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">AuthenticationServiceImpl</span><span class="o">(</span><span class="nc">TokenStore</span> <span class="n">tokenStore</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">tokenStore</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
   <span class="nd">@GetMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"validate"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">String</span> <span class="n">userName</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">String</span> <span class="n">userName</span> <span class="o">=</span> <span class="n">tokenStore</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">userName</span> <span class="o">==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect token"</span><span class="o">);</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect token"</span><span class="o">);</span>
     <span class="o">}</span>
     <span class="k">return</span> <span class="n">userName</span><span class="o">;</span>
   <span class="o">}</span>
@@ -1043,16 +1043,16 @@
 </code></pre></div></div>
 
 <h5 id="第二步实现统一认证authenticationfilter">第二步:实现统一认证AuthenticationFilter</h5>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationFilter</span> <span class="kd">implements</span> <span class="n">HttpServerFilter</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationFilter</span> <span class="kd">implements</span> <span class="nc">HttpServerFilter</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">RestTemplate</span> <span class="n">template</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">RestTemplate</span> <span class="n">template</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">USER_SERVICE_NAME</span> <span class="o">=</span> <span class="s">"user-service"</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">USER_SERVICE_NAME</span> <span class="o">=</span> <span class="s">"user-service"</span><span class="o">;</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">EDGE_AUTHENTICATION_NAME</span> <span class="o">=</span> <span class="s">"edge-authentication-name"</span><span class="o">;</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">EDGE_AUTHENTICATION_NAME</span> <span class="o">=</span> <span class="s">"edge-authentication-name"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Set</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">NOT_REQUIRED_VERIFICATION_USER_SERVICE_METHODS</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashSet</span><span class="o">&lt;&gt;(</span>
-      <span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="s">"login"</span><span class="o">,</span> <span class="s">"logon"</span><span class="o">,</span> <span class="s">"validate"</span><span class="o">));</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Set</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="no">NOT_REQUIRED_VERIFICATION_USER_SERVICE_METHODS</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HashSet</span><span class="o">&lt;&gt;(</span>
+      <span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="s">"login"</span><span class="o">,</span> <span class="s">"logon"</span><span class="o">,</span> <span class="s">"validate"</span><span class="o">));</span>
 
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getOrder</span><span class="o">()</span> <span class="o">{</span>
@@ -1060,30 +1060,30 @@
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">Response</span> <span class="nf">afterReceiveRequest</span><span class="o">(</span><span class="n">Invocation</span> <span class="n">invocation</span><span class="o">,</span> <span class="n">HttpServletRequestEx</span> <span class="n">httpServletRequestEx</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Response</span> <span class="nf">afterReceiveRequest</span><span class="o">(</span><span class="nc">Invocation</span> <span class="n">invocation</span><span class="o">,</span> <span class="nc">HttpServletRequestEx</span> <span class="n">httpServletRequestEx</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">isInvocationNeedValidate</span><span class="o">(</span><span class="n">invocation</span><span class="o">.</span><span class="na">getMicroserviceName</span><span class="o">(),</span> <span class="n">invocation</span><span class="o">.</span><span class="na">getOperationName</span><span class="o">()))</span> <span class="o">{</span>
-      <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">httpServletRequestEx</span><span class="o">.</span><span class="na">getHeader</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">);</span>
-      <span class="k">if</span> <span class="o">(</span><span class="n">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">token</span><span class="o">))</span> <span class="o">{</span>
-        <span class="n">String</span> <span class="n">userName</span> <span class="o">=</span> <span class="n">template</span>
-            <span class="o">.</span><span class="na">getForObject</span><span class="o">(</span><span class="s">"cse://"</span> <span class="o">+</span> <span class="n">USER_SERVICE_NAME</span> <span class="o">+</span> <span class="s">"/validate?token={token}"</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">userName</span><span class="o">))</span> <span class="o">{</span>
+      <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">httpServletRequestEx</span><span class="o">.</span><span class="na">getHeader</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">);</span>
+      <span class="k">if</span> <span class="o">(</span><span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">token</span><span class="o">))</span> <span class="o">{</span>
+        <span class="nc">String</span> <span class="n">userName</span> <span class="o">=</span> <span class="n">template</span>
+            <span class="o">.</span><span class="na">getForObject</span><span class="o">(</span><span class="s">"cse://"</span> <span class="o">+</span> <span class="no">USER_SERVICE_NAME</span> <span class="o">+</span> <span class="s">"/validate?token={token}"</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
+        <span class="k">if</span> <span class="o">(</span><span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNotEmpty</span><span class="o">(</span><span class="n">userName</span><span class="o">))</span> <span class="o">{</span>
           <span class="c1">//Add header</span>
-          <span class="n">invocation</span><span class="o">.</span><span class="na">getContext</span><span class="o">().</span><span class="na">put</span><span class="o">(</span><span class="n">EDGE_AUTHENTICATION_NAME</span><span class="o">,</span> <span class="n">userName</span><span class="o">);</span>
+          <span class="n">invocation</span><span class="o">.</span><span class="na">getContext</span><span class="o">().</span><span class="na">put</span><span class="o">(</span><span class="no">EDGE_AUTHENTICATION_NAME</span><span class="o">,</span> <span class="n">userName</span><span class="o">);</span>
         <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-          <span class="k">return</span> <span class="n">Response</span>
-              <span class="o">.</span><span class="na">failResp</span><span class="o">(</span><span class="k">new</span> <span class="n">InvocationException</span><span class="o">(</span><span class="n">Status</span><span class="o">.</span><span class="na">UNAUTHORIZED</span><span class="o">,</span> <span class="s">"authentication failed, invalid token"</span><span class="o">));</span>
+          <span class="k">return</span> <span class="nc">Response</span>
+              <span class="o">.</span><span class="na">failResp</span><span class="o">(</span><span class="k">new</span> <span class="nc">InvocationException</span><span class="o">(</span><span class="nc">Status</span><span class="o">.</span><span class="na">UNAUTHORIZED</span><span class="o">,</span> <span class="s">"authentication failed, invalid token"</span><span class="o">));</span>
         <span class="o">}</span>
       <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">Response</span><span class="o">.</span><span class="na">failResp</span><span class="o">(</span>
-            <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">Status</span><span class="o">.</span><span class="na">UNAUTHORIZED</span><span class="o">,</span> <span class="s">"authentication failed, missing AUTHORIZATION header"</span><span class="o">));</span>
+        <span class="k">return</span> <span class="nc">Response</span><span class="o">.</span><span class="na">failResp</span><span class="o">(</span>
+            <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="nc">Status</span><span class="o">.</span><span class="na">UNAUTHORIZED</span><span class="o">,</span> <span class="s">"authentication failed, missing AUTHORIZATION header"</span><span class="o">));</span>
       <span class="o">}</span>
     <span class="o">}</span>
     <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">isInvocationNeedValidate</span><span class="o">(</span><span class="n">String</span> <span class="n">serviceName</span><span class="o">,</span> <span class="n">String</span> <span class="n">operationPath</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">if</span> <span class="o">(</span><span class="n">USER_SERVICE_NAME</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">serviceName</span><span class="o">))</span> <span class="o">{</span>
-      <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">method</span> <span class="o">:</span> <span class="n">NOT_REQUIRED_VERIFICATION_USER_SERVICE_METHODS</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">isInvocationNeedValidate</span><span class="o">(</span><span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">operationPath</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">if</span> <span class="o">(</span><span class="no">USER_SERVICE_NAME</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">serviceName</span><span class="o">))</span> <span class="o">{</span>
+      <span class="k">for</span> <span class="o">(</span><span class="nc">String</span> <span class="n">method</span> <span class="o">:</span> <span class="no">NOT_REQUIRED_VERIFICATION_USER_SERVICE_METHODS</span><span class="o">)</span> <span class="o">{</span>
         <span class="k">if</span> <span class="o">(</span><span class="n">operationPath</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="n">method</span><span class="o">))</span> <span class="o">{</span>
           <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
         <span class="o">}</span>
@@ -1102,31 +1102,31 @@
 <p>现有的<code class="highlighter-rouge">login</code>和<code class="highlighter-rouge">logon</code>都无需认证,因此我们在用户微服务中增加需要认证的修改密码的功能用于验证统一认证。</p>
 <h6 id="在userservice中添加修改密码">在UserService中添加修改密码</h6>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UserService</span> <span class="o">{</span>
-  <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="n">UserDTO</span> <span class="n">user</span><span class="o">);</span>
+  <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">logon</span><span class="o">(</span><span class="nc">UserDTO</span> <span class="n">user</span><span class="o">);</span>
 
-  <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="n">UserDTO</span> <span class="n">user</span><span class="o">);</span>
+  <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span><span class="nc">UserDTO</span> <span class="n">user</span><span class="o">);</span>
   <span class="c1">//需要认证的修改密码功能</span>
-  <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">changePassword</span><span class="o">(</span><span class="n">UserUpdateDTO</span> <span class="n">userUpdate</span><span class="o">);</span>
+  <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">changePassword</span><span class="o">(</span><span class="nc">UserUpdateDTO</span> <span class="n">userUpdate</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
 <h6 id="在userserviceimpl中实现修改密码">在UserServiceImpl中实现修改密码</h6>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Override</span>
 <span class="nd">@PostMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"changePassword"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">Boolean</span><span class="o">&gt;</span> <span class="nf">changePassword</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">UserUpdateDTO</span> <span class="n">userUpdate</span><span class="o">)</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">Boolean</span><span class="o">&gt;</span> <span class="nf">changePassword</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">UserUpdateDTO</span> <span class="n">userUpdate</span><span class="o">)</span> <span class="o">{</span>
   <span class="k">if</span> <span class="o">(</span><span class="n">validateUserUpdate</span><span class="o">(</span><span class="n">userUpdate</span><span class="o">))</span> <span class="o">{</span>
-    <span class="n">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">userUpdate</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
+    <span class="nc">UserEntity</span> <span class="n">dbUser</span> <span class="o">=</span> <span class="n">repository</span><span class="o">.</span><span class="na">findByName</span><span class="o">(</span><span class="n">userUpdate</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">dbUser</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">if</span> <span class="o">(</span><span class="n">dbUser</span><span class="o">.</span><span class="na">getPassword</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="n">userUpdate</span><span class="o">.</span><span class="na">getOldPassword</span><span class="o">()))</span> <span class="o">{</span>
         <span class="n">dbUser</span><span class="o">.</span><span class="na">setPassword</span><span class="o">(</span><span class="n">userUpdate</span><span class="o">.</span><span class="na">getNewPassword</span><span class="o">());</span>
         <span class="n">repository</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="n">dbUser</span><span class="o">);</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="n">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
+        <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="kc">true</span><span class="o">,</span> <span class="nc">HttpStatus</span><span class="o">.</span><span class="na">OK</span><span class="o">);</span>
       <span class="o">}</span>
-      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"wrong password"</span><span class="o">);</span>
+      <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"wrong password"</span><span class="o">);</span>
     <span class="o">}</span>
-    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name not exist"</span><span class="o">);</span>
+    <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"user name not exist"</span><span class="o">);</span>
   <span class="o">}</span>
-  <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
+  <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="no">BAD_REQUEST</span><span class="o">,</span> <span class="s">"incorrect user"</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
diff --git a/content/cn/docs/customized-tracing-with-servicecomb/index.html b/content/cn/docs/customized-tracing-with-servicecomb/index.html
index 1e25d1b..12298fe 100644
--- a/content/cn/docs/customized-tracing-with-servicecomb/index.html
+++ b/content/cn/docs/customized-tracing-with-servicecomb/index.html
@@ -432,8 +432,8 @@
 <span class="nd">@EnableZipkinTracing</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -442,7 +442,7 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">org.apache.servicecomb.tracing.Span</span><span class="o">;</span>
 
 <span class="nd">@Service</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="n">CalculatorService</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="nc">CalculatorService</span> <span class="o">{</span>
 
   <span class="cm">/**
    * {@inheritDoc}
@@ -459,7 +459,7 @@
   <span class="o">}</span>
 
   <span class="kd">private</span> <span class="kt">double</span> <span class="nf">roundToOnePrecision</span><span class="o">(</span><span class="kt">double</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="nf">BigDecimal</span><span class="o">(</span><span class="n">value</span><span class="o">).</span><span class="na">setScale</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">RoundingMode</span><span class="o">.</span><span class="na">HALF_UP</span><span class="o">).</span><span class="na">doubleValue</span><span class="o">();</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nf">BigDecimal</span><span class="o">(</span><span class="n">value</span><span class="o">).</span><span class="na">setScale</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">RoundingMode</span><span class="o">.</span><span class="na">HALF_UP</span><span class="o">).</span><span class="na">doubleValue</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -474,8 +474,8 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kt">double</span> <span class="nf">calculate</span><span class="o">(</span><span class="kt">double</span> <span class="n">height</span><span class="o">,</span> <span class="kt">double</span> <span class="n">weight</span><span class="o">)</span> <span class="o">{</span>
 
      <span class="k">try</span><span class="o">{</span>
-     <span class="n">Thread</span><span class="o">.</span><span class="na">currentThread</span><span class="o">().</span><span class="na">sleep</span><span class="o">(</span><span class="mi">5000</span><span class="o">);</span>
-     <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o">){</span>
+     <span class="nc">Thread</span><span class="o">.</span><span class="na">currentThread</span><span class="o">().</span><span class="na">sleep</span><span class="o">(</span><span class="mi">5000</span><span class="o">);</span>
+     <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">){</span>
 
      <span class="o">}</span>
 
diff --git a/content/cn/docs/distributed-transaction-of-services-2/index.html b/content/cn/docs/distributed-transaction-of-services-2/index.html
index c1c2752..ca969ac 100644
--- a/content/cn/docs/distributed-transaction-of-services-2/index.html
+++ b/content/cn/docs/distributed-transaction-of-services-2/index.html
@@ -452,8 +452,8 @@
 <span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableOmega</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -464,15 +464,15 @@
 
 <span class="nd">@SagaStart</span>
 <span class="nd">@PostMapping</span><span class="o">(</span><span class="s">"/booking/{name}/{rooms}/{cars}"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="n">String</span> <span class="nf">order</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">name</span><span class="o">,</span>  <span class="nd">@PathVariable</span> <span class="n">Integer</span> <span class="n">rooms</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="n">Integer</span> <span class="n">cars</span><span class="o">)</span> <span class="o [...]
+<span class="kd">public</span> <span class="nc">String</span> <span class="nf">order</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">name</span><span class="o">,</span>  <span class="nd">@PathVariable</span> <span class="nc">Integer</span> <span class="n">rooms</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="nc">Integer</span> <span class="n">cars</span><span class="o">)</span> <span clas [...]
   <span class="c1">// Calling the car service</span>
   <span class="n">template</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
       <span class="n">carServiceUrl</span> <span class="o">+</span> <span class="s">"/order/{name}/{cars}"</span><span class="o">,</span>
-      <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">name</span><span class="o">,</span> <span class="n">cars</span><span class="o">);</span>
+      <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">name</span><span class="o">,</span> <span class="n">cars</span><span class="o">);</span>
   <span class="c1">// Calling the hotel service</span>
   <span class="n">template</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
       <span class="n">hotelServiceUrl</span> <span class="o">+</span> <span class="s">"/order/{name}/{rooms}"</span><span class="o">,</span>
-      <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">name</span><span class="o">,</span> <span class="n">rooms</span><span class="o">);</span>
+      <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">name</span><span class="o">,</span> <span class="n">rooms</span><span class="o">);</span>
   <span class="k">return</span> <span class="n">name</span> <span class="o">+</span> <span class="s">" booking "</span> <span class="o">+</span> <span class="n">rooms</span> <span class="o">+</span> <span class="s">" rooms and "</span> <span class="o">+</span> <span class="n">cars</span> <span class="o">+</span> <span class="s">" cars OK"</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -482,13 +482,13 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">org.apache.servicecomb.pack.omega.transaction.annotations.Compensable</span><span class="o">;</span>
 
 <span class="nd">@Compensable</span><span class="o">(</span><span class="n">compensationMethod</span> <span class="o">=</span> <span class="s">"cancel"</span><span class="o">)</span>
-<span class="kt">void</span> <span class="nf">order</span><span class="o">(</span><span class="n">CarBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
+<span class="kt">void</span> <span class="nf">order</span><span class="o">(</span><span class="nc">CarBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
   <span class="n">booking</span><span class="o">.</span><span class="na">confirm</span><span class="o">();</span>
   <span class="n">bookings</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">booking</span><span class="o">.</span><span class="na">getId</span><span class="o">(),</span> <span class="n">booking</span><span class="o">);</span>
 <span class="o">}</span>
 
-<span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="n">CarBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Integer</span> <span class="n">id</span> <span class="o">=</span> <span class="n">booking</span><span class="o">.</span><span class="na">getId</span><span class="o">();</span>
+<span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="nc">CarBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Integer</span> <span class="n">id</span> <span class="o">=</span> <span class="n">booking</span><span class="o">.</span><span class="na">getId</span><span class="o">();</span>
   <span class="k">if</span> <span class="o">(</span><span class="n">bookings</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">id</span><span class="o">))</span> <span class="o">{</span>
     <span class="n">bookings</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">id</span><span class="o">).</span><span class="na">cancel</span><span class="o">();</span>
   <span class="o">}</span>
@@ -539,8 +539,8 @@
 <span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableOmega</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">TccOrderingApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">TccOrderingApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">TccOrderingApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -552,18 +552,18 @@
 <span class="nd">@TccStart</span>
 <span class="nd">@PostMapping</span><span class="o">(</span><span class="s">"/order/{userName}/{productName}/{productUnit}/{unitPrice}"</span><span class="o">)</span>
 <span class="nd">@ResponseBody</span>
-<span class="kd">public</span> <span class="n">String</span> <span class="nf">order</span><span class="o">(</span>
-    <span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">userName</span><span class="o">,</span>
-    <span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">productName</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="n">Integer</span> <span class="n">productUnit</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="n">Integer</span> <span class="n">unitPrice</span><span class="o">)</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="nc">String</span> <span class="nf">order</span><span class="o">(</span>
+    <span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">userName</span><span class="o">,</span>
+    <span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">productName</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="nc">Integer</span> <span class="n">productUnit</span><span class="o">,</span> <span class="nd">@PathVariable</span> <span class="nc">Integer</span> <span class="n">unitPrice</span><span class="o">)</span> <span class="o">{</span>
   <span class="c1">// Calling the inventory service</span>
   <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
       <span class="n">inventoryServiceUrl</span> <span class="o">+</span> <span class="s">"/order/{userName}/{productName}/{productUnit}"</span><span class="o">,</span>
-      <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">userName</span><span class="o">,</span> <span class="n">productName</span><span class="o">,</span> <span class="n">productUnit</span><span class="o">);</span>
+      <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">userName</span><span class="o">,</span> <span class="n">productName</span><span class="o">,</span> <span class="n">productUnit</span><span class="o">);</span>
 
   <span class="kt">int</span> <span class="n">amount</span> <span class="o">=</span> <span class="n">productUnit</span> <span class="o">*</span> <span class="n">unitPrice</span><span class="o">;</span>
   <span class="c1">// Calling the payment service</span>
   <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span><span class="n">paymentServiceUrl</span> <span class="o">+</span> <span class="s">"/pay/{userName}/{amount}"</span><span class="o">,</span>
-      <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">userName</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
+      <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">userName</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
 
   <span class="k">return</span> <span class="n">userName</span> <span class="o">+</span> <span class="s">" ordering "</span> <span class="o">+</span> <span class="n">productName</span> <span class="o">+</span> <span class="s">" with "</span> <span class="o">+</span> <span class="n">productUnit</span> <span class="o">+</span> <span class="s">" OK"</span><span class="o">;</span>
 <span class="o">}</span>
@@ -576,8 +576,8 @@
 
 <span class="nd">@Participate</span><span class="o">(</span><span class="n">confirmMethod</span> <span class="o">=</span> <span class="s">"confirm"</span><span class="o">,</span> <span class="n">cancelMethod</span> <span class="o">=</span> <span class="s">"cancel"</span><span class="o">)</span>
 <span class="nd">@Transactional</span>
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">pay</span><span class="o">(</span><span class="n">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">pay</span><span class="o">(</span><span class="nc">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
   <span class="k">if</span> <span class="o">(</span><span class="n">account</span><span class="o">.</span><span class="na">getCredit</span><span class="o">()</span> <span class="o">&gt;=</span> <span class="n">payment</span><span class="o">.</span><span class="na">getAmount</span><span class="o">())</span> <span class="o">{</span>
     <span class="n">account</span><span class="o">.</span><span class="na">setCredit</span><span class="o">(</span><span class="n">account</span><span class="o">.</span><span class="na">getCredit</span><span class="o">()</span> <span class="o">-</span> <span class="n">payment</span><span class="o">.</span><span class="na">getAmount</span><span class="o">());</span>
     <span class="n">accountDao</span><span class="o">.</span><span class="na">saveAndFlush</span><span class="o">(</span><span class="n">account</span><span class="o">);</span>
@@ -588,17 +588,17 @@
 <span class="o">}</span>
 
 <span class="nd">@Transactional</span>
-<span class="n">Account</span> <span class="nf">getAccount</span><span class="o">(</span><span class="n">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">accountDao</span><span class="o">.</span><span class="na">findByUserName</span><span class="o">(</span><span class="n">payment</span><span class="o">.</span><span class="na">getUserName</span><span class="o">());</span>
-  <span class="k">if</span> <span class="o">(</span><span class="n">Objects</span><span class="o">.</span><span class="na">isNull</span><span class="o">(</span><span class="n">account</span><span class="o">))</span> <span class="o">{</span>
+<span class="nc">Account</span> <span class="nf">getAccount</span><span class="o">(</span><span class="nc">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">accountDao</span><span class="o">.</span><span class="na">findByUserName</span><span class="o">(</span><span class="n">payment</span><span class="o">.</span><span class="na">getUserName</span><span class="o">());</span>
+  <span class="k">if</span> <span class="o">(</span><span class="nc">Objects</span><span class="o">.</span><span class="na">isNull</span><span class="o">(</span><span class="n">account</span><span class="o">))</span> <span class="o">{</span>
     <span class="k">throw</span> <span class="k">new</span> <span class="nf">IllegalArgumentException</span><span class="o">(</span><span class="s">"Cannot find the account!"</span><span class="o">);</span>
   <span class="o">}</span>
   <span class="k">return</span> <span class="n">account</span><span class="o">;</span>
 <span class="o">}</span>
 
 <span class="nd">@Transactional</span>
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">confirm</span><span class="o">(</span><span class="n">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">confirm</span><span class="o">(</span><span class="nc">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
   <span class="n">payment</span><span class="o">.</span><span class="na">setConfirmed</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
   <span class="n">payment</span><span class="o">.</span><span class="na">setCancelled</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
   <span class="n">account</span><span class="o">.</span><span class="na">setBalance</span><span class="o">(</span><span class="n">account</span><span class="o">.</span><span class="na">getBalance</span><span class="o">()</span> <span class="o">-</span> <span class="n">payment</span><span class="o">.</span><span class="na">getAmount</span><span class="o">());</span>
@@ -609,8 +609,8 @@
 <span class="o">}</span>
 
 <span class="nd">@Transactional</span>
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="n">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="nc">Payment</span> <span class="n">payment</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Account</span> <span class="n">account</span> <span class="o">=</span> <span class="n">getAccount</span><span class="o">(</span><span class="n">payment</span><span class="o">);</span>
   <span class="n">account</span><span class="o">.</span><span class="na">setCredit</span><span class="o">(</span><span class="n">account</span><span class="o">.</span><span class="na">getCredit</span><span class="o">()</span> <span class="o">+</span> <span class="n">payment</span><span class="o">.</span><span class="na">getAmount</span><span class="o">());</span>
   <span class="n">accountDao</span><span class="o">.</span><span class="na">saveAndFlush</span><span class="o">(</span><span class="n">account</span><span class="o">);</span>
   <span class="n">payment</span><span class="o">.</span><span class="na">setBalance</span><span class="o">(</span><span class="n">account</span><span class="o">.</span><span class="na">getBalance</span><span class="o">());</span>
@@ -627,8 +627,8 @@
 
 <span class="nd">@Participate</span><span class="o">(</span><span class="n">confirmMethod</span> <span class="o">=</span> <span class="s">"confirm"</span><span class="o">,</span> <span class="n">cancelMethod</span> <span class="o">=</span> <span class="s">"cancel"</span><span class="o">)</span>
 <span class="nd">@Transactional</span>
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">reserve</span><span class="o">(</span><span class="n">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">getProduct</span><span class="o">(</span><span class="n">order</span><span class="o">.</span><span class="na">getProductName</span><span class="o">());</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">reserve</span><span class="o">(</span><span class="nc">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">getProduct</span><span class="o">(</span><span class="n">order</span><span class="o">.</span><span class="na">getProductName</span><span class="o">());</span>
   <span class="k">if</span> <span class="o">(</span><span class="n">product</span><span class="o">.</span><span class="na">getInStock</span><span class="o">()</span> <span class="o">&gt;=</span> <span class="n">order</span><span class="o">.</span><span class="na">getUnits</span><span class="o">())</span> <span class="o">{</span>
     <span class="n">product</span><span class="o">.</span><span class="na">setInStock</span><span class="o">(</span><span class="n">product</span><span class="o">.</span><span class="na">getInStock</span><span class="o">()</span> <span class="o">-</span> <span class="n">order</span><span class="o">.</span><span class="na">getUnits</span><span class="o">());</span>
     <span class="n">productDao</span><span class="o">.</span><span class="na">saveAndFlush</span><span class="o">(</span><span class="n">product</span><span class="o">);</span>
@@ -638,22 +638,22 @@
   <span class="o">}</span>
 <span class="o">}</span>
 
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">confirm</span><span class="o">(</span><span class="n">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">confirm</span><span class="o">(</span><span class="nc">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
   <span class="n">order</span><span class="o">.</span><span class="na">setConfirmed</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
 <span class="o">}</span>
 
 <span class="nd">@Transactional</span>
-<span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="n">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">productDao</span><span class="o">.</span><span class="na">findProduceByName</span><span class="o">(</span><span class="n">order</span><span class="o">.</span><span class="na">getProductName</span><span class="o">());</span>
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">(</span><span class="nc">ProductOrder</span> <span class="n">order</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">productDao</span><span class="o">.</span><span class="na">findProduceByName</span><span class="o">(</span><span class="n">order</span><span class="o">.</span><span class="na">getProductName</span><span class="o">());</span>
   <span class="n">product</span><span class="o">.</span><span class="na">setInStock</span><span class="o">(</span><span class="n">product</span><span class="o">.</span><span class="na">getInStock</span><span class="o">()</span> <span class="o">+</span> <span class="n">order</span><span class="o">.</span><span class="na">getUnits</span><span class="o">());</span>
   <span class="n">productDao</span><span class="o">.</span><span class="na">saveAndFlush</span><span class="o">(</span><span class="n">product</span><span class="o">);</span>
   <span class="n">order</span><span class="o">.</span><span class="na">setCancelled</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
 <span class="o">}</span>
 
 <span class="nd">@Transactional</span>
-<span class="kd">private</span> <span class="n">Product</span> <span class="nf">getProduct</span><span class="o">(</span><span class="n">String</span> <span class="n">productName</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">productDao</span><span class="o">.</span><span class="na">findProduceByName</span><span class="o">(</span><span class="n">productName</span><span class="o">);</span>
-  <span class="k">if</span> <span class="o">(</span><span class="n">Objects</span><span class="o">.</span><span class="na">isNull</span><span class="o">(</span><span class="n">product</span><span class="o">))</span> <span class="o">{</span>
+<span class="kd">private</span> <span class="nc">Product</span> <span class="nf">getProduct</span><span class="o">(</span><span class="nc">String</span> <span class="n">productName</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Product</span> <span class="n">product</span> <span class="o">=</span> <span class="n">productDao</span><span class="o">.</span><span class="na">findProduceByName</span><span class="o">(</span><span class="n">productName</span><span class="o">);</span>
+  <span class="k">if</span> <span class="o">(</span><span class="nc">Objects</span><span class="o">.</span><span class="na">isNull</span><span class="o">(</span><span class="n">product</span><span class="o">))</span> <span class="o">{</span>
     <span class="k">throw</span> <span class="k">new</span> <span class="nf">IllegalArgumentException</span><span class="o">(</span><span class="s">"Product not exists at all!"</span><span class="o">);</span>
   <span class="o">}</span>
   <span class="k">return</span> <span class="n">product</span><span class="o">;</span>
diff --git a/content/cn/docs/how-to-do-microservice-accept-test/index.html b/content/cn/docs/how-to-do-microservice-accept-test/index.html
index 289a2af..f7f3529 100644
--- a/content/cn/docs/how-to-do-microservice-accept-test/index.html
+++ b/content/cn/docs/how-to-do-microservice-accept-test/index.html
@@ -427,29 +427,29 @@
 <p>下面是Product的Schema:</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-  </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="w">
+  </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
 
 <p>下面是ProductPrice的Schema:</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-  </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-  </span><span class="s2">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;number&gt;"</span><span class="w">
+  </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+  </span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;number&gt;"</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
 
 <p>Product Service返回的Schema则是:</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-  </span><span class="s2">"products"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+  </span><span class="nl">"products"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
     </span><span class="p">{</span><span class="w">
-      </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-      </span><span class="s2">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-      </span><span class="s2">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
-      </span><span class="s2">"price"</span><span class="p">:</span><span class="w"> </span><span class="err">&lt;number&gt;</span><span class="w">
+      </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+      </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+      </span><span class="nl">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;string&gt;"</span><span class="p">,</span><span class="w">
+      </span><span class="nl">"price"</span><span class="p">:</span><span class="w"> </span><span class="err">&lt;number&gt;</span><span class="w">
     </span><span class="p">}</span><span class="w">
   </span><span class="p">]</span><span class="w">
 </span><span class="p">}</span><span class="w">
@@ -575,16 +575,16 @@ ENDRULE
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Stepdefs</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">answer</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;&gt;</span> <span class="n">answer</span><span class="o">;</span>
 
   <span class="nd">@Given</span><span class="o">(</span><span class="s">"^Product Service is up and running$"</span><span class="o">)</span>
   <span class="kd">public</span> <span class="kt">void</span> <span class="nf">productServiceIsUpAndRunning</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">probe</span><span class="o">(</span><span class="s">"Product Service"</span><span class="o">,</span> <span class="n">PRODUCT_ADDRESS</span><span class="o">);</span>
+    <span class="n">probe</span><span class="o">(</span><span class="s">"Product Service"</span><span class="o">,</span> <span class="no">PRODUCT_ADDRESS</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@And</span><span class="o">(</span><span class="s">"^Product Price Service is up and running$"</span><span class="o">)</span>
   <span class="kd">public</span> <span class="kt">void</span> <span class="nf">productPriceServiceIsUpAndRunning</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">probe</span><span class="o">(</span><span class="s">"Product Price Service"</span><span class="o">,</span> <span class="n">PRODUCT_PRICE_ADDRESS</span><span class="o">);</span>
+    <span class="n">probe</span><span class="o">(</span><span class="s">"Product Price Service"</span><span class="o">,</span> <span class="no">PRODUCT_PRICE_ADDRESS</span><span class="o">);</span>
     <span class="n">clearBytemanScript</span><span class="o">();</span>
   <span class="o">}</span>
 
@@ -592,22 +592,22 @@ ENDRULE
   <span class="kd">public</span> <span class="kt">void</span> <span class="nf">queryProductList</span><span class="o">()</span> <span class="o">{</span>
     <span class="n">answer</span> <span class="o">=</span> <span class="n">given</span><span class="o">()</span>
       <span class="o">.</span><span class="na">when</span><span class="o">()</span>
-      <span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">PRODUCT_ADDRESS</span> <span class="o">+</span> <span class="s">"/products"</span><span class="o">)</span>
+      <span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="no">PRODUCT_ADDRESS</span> <span class="o">+</span> <span class="s">"/products"</span><span class="o">)</span>
       <span class="o">.</span><span class="na">then</span><span class="o">()</span>
       <span class="o">.</span><span class="na">statusCode</span><span class="o">(</span><span class="n">is</span><span class="o">(</span><span class="mi">200</span><span class="o">))</span>
       <span class="o">.</span><span class="na">extract</span><span class="o">()</span>
       <span class="o">.</span><span class="na">body</span><span class="o">()</span>
       <span class="o">.</span><span class="na">jsonPath</span><span class="o">()</span>
-      <span class="o">.</span><span class="na">getList</span><span class="o">(</span><span class="s">"products"</span><span class="o">,</span> <span class="n">Map</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+      <span class="o">.</span><span class="na">getList</span><span class="o">(</span><span class="s">"products"</span><span class="o">,</span> <span class="nc">Map</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@Given</span><span class="o">(</span><span class="s">"^Install the byteman script ([A-Za-z0-9_\\.]+) to Product Price Service$"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">injectExceptionIntoProductPriceService</span><span class="o">(</span><span class="n">String</span> <span class="n">bytemanScript</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">injectExceptionIntoProductPriceService</span><span class="o">(</span><span class="nc">String</span> <span class="n">bytemanScript</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
     <span class="n">injectBytemanScript</span><span class="o">(</span><span class="s">"target/test-classes/"</span> <span class="o">+</span> <span class="n">bytemanScript</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@Then</span><span class="o">(</span><span class="s">"^Get following products$"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">compareResult</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">expected</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">compareResult</span><span class="o">(</span><span class="nc">List</span><span class="o">&lt;</span><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;&gt;</span> <span class="n">expected</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">assertThat</span><span class="o">(</span><span class="n">answer</span><span class="o">).</span><span class="na">containsExactlyInAnyOrderElementsOf</span><span class="o">(</span><span class="n">expected</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
diff --git a/content/cn/docs/linuxcon-workshop-demo/index.html b/content/cn/docs/linuxcon-workshop-demo/index.html
index 4f41336..055694b 100644
--- a/content/cn/docs/linuxcon-workshop-demo/index.html
+++ b/content/cn/docs/linuxcon-workshop-demo/index.html
@@ -515,7 +515,7 @@
 <span class="o">}</span>
 
 <span class="nd">@Service</span>
-<span class="kd">class</span> <span class="nc">FibonacciServiceImpl</span> <span class="kd">implements</span> <span class="n">FibonacciService</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">FibonacciServiceImpl</span> <span class="kd">implements</span> <span class="nc">FibonacciService</span> <span class="o">{</span>
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">long</span> <span class="nf">term</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">n</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
@@ -551,17 +551,17 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRestEndpoint"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/fibonacci"</span><span class="o">)</span>
 <span class="nd">@Controller</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRestEndpoint</span> <span class="kd">implements</span> <span class="n">FibonacciEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRestEndpoint</span> <span class="kd">implements</span> <span class="nc">FibonacciEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">FibonacciRestEndpoint</span><span class="o">(</span><span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">FibonacciRestEndpoint</span><span class="o">(</span><span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciService</span> <span class="o">=</span> <span class="n">fibonacciService</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/term"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/term"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
   <span class="kd">public</span> <span class="kt">long</span> <span class="nf">term</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">fibonacciService</span><span class="o">.</span><span class="na">term</span><span class="o">(</span><span class="n">n</span><span class="o">);</span>
@@ -570,12 +570,12 @@
 </code></pre></div></div>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RpcSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRpcEndpoint"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRpcEndpoint</span> <span class="kd">implements</span> <span class="n">FibonacciEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRpcEndpoint</span> <span class="kd">implements</span> <span class="nc">FibonacciEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">FibonacciRpcEndpoint</span><span class="o">(</span><span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">FibonacciRpcEndpoint</span><span class="o">(</span><span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciService</span> <span class="o">=</span> <span class="n">fibonacciService</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -612,8 +612,8 @@
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">WorkerApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">WorkerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">WorkerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -649,11 +649,11 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
   <span class="kt">long</span> <span class="nf">ancestorsOfQueenAt</span><span class="o">(</span><span class="kt">int</span> <span class="n">generation</span><span class="o">);</span>
 <span class="o">}</span>
 
-<span class="kd">class</span> <span class="nc">BeekeeperServiceImpl</span> <span class="kd">implements</span> <span class="n">BeekeeperService</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">BeekeeperServiceImpl</span> <span class="kd">implements</span> <span class="nc">BeekeeperService</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
 
-  <span class="n">BeekeeperServiceImpl</span><span class="o">(</span><span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">BeekeeperServiceImpl</span><span class="o">(</span><span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciCalculator</span> <span class="o">=</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -684,10 +684,10 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="kd">class</span> <span class="nc">BeekeeperConfig</span> <span class="o">{</span>
 
   <span class="nd">@RpcReference</span><span class="o">(</span><span class="n">microserviceName</span> <span class="o">=</span> <span class="s">"worker"</span><span class="o">,</span> <span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRpcEndpoint"</span><span class="o">)</span>
-  <span class="kd">private</span> <span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
 
   <span class="nd">@Bean</span>
-  <span class="n">BeekeeperService</span> <span class="nf">beekeeperService</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">BeekeeperService</span> <span class="nf">beekeeperService</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="k">new</span> <span class="nf">BeekeeperServiceImpl</span><span class="o">(</span><span class="n">fibonacciCalculator</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -704,18 +704,18 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@Controller</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">BeekeeperController</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">BeekeeperController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">BeekeeperController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">BeekeeperController</span><span class="o">(</span><span class="n">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">BeekeeperController</span><span class="o">(</span><span class="nc">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">beekeeperService</span> <span class="o">=</span> <span class="n">beekeeperService</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/drone/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/drone/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">Ancestor</span> <span class="nf">ancestorsOfDrone</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Ancestor</span> <span class="nf">ancestorsOfDrone</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span>
         <span class="s">"Received request to find the number of ancestors of drone at generation {}"</span><span class="o">,</span>
         <span class="n">generation</span><span class="o">);</span>
@@ -723,9 +723,9 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="k">return</span> <span class="k">new</span> <span class="nf">Ancestor</span><span class="o">(</span><span class="n">beekeeperService</span><span class="o">.</span><span class="na">ancestorsOfDroneAt</span><span class="o">(</span><span class="n">generation</span><span class="o">));</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/queen/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/queen/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">Ancestor</span> <span class="nf">ancestorsOfQueen</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Ancestor</span> <span class="nf">ancestorsOfQueen</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span>
         <span class="s">"Received request to find the number of ancestors of queen at generation {}"</span><span class="o">,</span>
         <span class="n">generation</span><span class="o">);</span>
@@ -737,10 +737,10 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="kd">class</span> <span class="nc">Ancestor</span> <span class="o">{</span>
   <span class="kd">private</span> <span class="kt">long</span> <span class="n">ancestors</span><span class="o">;</span>
 
-  <span class="n">Ancestor</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">Ancestor</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
 
-  <span class="n">Ancestor</span><span class="o">(</span><span class="kt">long</span> <span class="n">ancestors</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Ancestor</span><span class="o">(</span><span class="kt">long</span> <span class="n">ancestors</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">ancestors</span> <span class="o">=</span> <span class="n">ancestors</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -782,8 +782,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">BeekeeperApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">BeekeeperApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">BeekeeperApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -799,9 +799,9 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 请求都需要带上返回的JWT token,而 <code class="highlighter-rouge">validate</code> 方法将验证token以确认其有效。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="nf">authenticate</span><span class="o">(</span><span class="n">String</span> <span class="n">username</span><span class="o">,</span> <span class="n">String</span> <span class="n">password</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">authenticate</span><span class="o">(</span><span class="nc">String</span> <span class="n">username</span><span class="o">,</span> <span class="nc">String</span> <span class="n">password</span><span class="o">);</span>
 
-  <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -814,57 +814,57 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/rest"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationController</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">USERNAME</span> <span class="o">=</span> <span class="s">"username"</span><span class="o">;</span>
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">PASSWORD</span> <span class="o">=</span> <span class="s">"password"</span><span class="o">;</span>
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">TOKEN</span> <span class="o">=</span> <span class="s">"token"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">USERNAME</span> <span class="o">=</span> <span class="s">"username"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">PASSWORD</span> <span class="o">=</span> <span class="s">"password"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">TOKEN</span> <span class="o">=</span> <span class="s">"token"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">AuthenticationController</span><span class="o">(</span><span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">AuthenticationController</span><span class="o">(</span><span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">authenticationService</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">POST</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">TEXT_PLAIN_VALUE</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span>
-      <span class="nd">@RequestParam</span><span class="o">(</span><span class="n">USERNAME</span><span class="o">)</span> <span class="n">String</span> <span class="n">username</span><span class="o">,</span>
-      <span class="nd">@RequestParam</span><span class="o">(</span><span class="n">PASSWORD</span><span class="o">)</span> <span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">POST</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">TEXT_PLAIN_VALUE</span><span class="o">)</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span>
+      <span class="nd">@RequestParam</span><span class="o">(</span><span class="no">USERNAME</span><span class="o">)</span> <span class="nc">String</span> <span class="n">username</span><span class="o">,</span>
+      <span class="nd">@RequestParam</span><span class="o">(</span><span class="no">PASSWORD</span><span class="o">)</span> <span class="nc">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
 
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received login request from user {}"</span><span class="o">,</span> <span class="n">username</span><span class="o">);</span>
-    <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">authenticate</span><span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">password</span><span class="o">);</span>
-    <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpHeaders</span><span class="o">();</span>
-    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">,</span> <span class="n">TOKEN_PREFIX</span> <span class="o">+</span> <span class="n">token</span><span class="o">);</span>
+    <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">authenticate</span><span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">password</span><span class="o">);</span>
+    <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HttpHeaders</span><span class="o">();</span>
+    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">,</span> <span class="no">TOKEN_PREFIX</span> <span class="o">+</span> <span class="n">token</span><span class="o">);</span>
 
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Authenticated user {} successfully"</span><span class="o">,</span> <span class="n">username</span><span class="o">);</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="s">"Welcome, "</span> <span class="o">+</span> <span class="n">username</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="n">OK</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="s">"Welcome, "</span> <span class="o">+</span> <span class="n">username</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="no">OK</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/validate"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">POST</span><span class="o">,</span> <span class="n">consumes</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">TE [...]
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/validate"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">POST</span><span class="o">,</span> <span class="n">consumes</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no" [...]
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Token</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Token</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received validation request of token {}"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
     <span class="k">return</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">.</span><span class="na">getToken</span><span class="o">());</span>
   <span class="o">}</span>
 <span class="o">}</span>
 
 <span class="kd">class</span> <span class="nc">Token</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">token</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">token</span><span class="o">;</span>
 
-  <span class="n">Token</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">Token</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
 
-  <span class="n">Token</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Token</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getToken</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getToken</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">token</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">toString</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">toString</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"Token{"</span> <span class="o">+</span>
         <span class="s">"token='"</span> <span class="o">+</span> <span class="n">token</span> <span class="o">+</span> <span class="sc">'\''</span> <span class="o">+</span>
         <span class="sc">'}'</span><span class="o">;</span>
@@ -878,8 +878,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">DoormanApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">DoormanApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">DoormanApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -939,33 +939,33 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Service</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">DOORMAN_ADDRESS</span> <span class="o">=</span> <span class="s">"cse://doorman"</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">DOORMAN_ADDRESS</span> <span class="o">=</span> <span class="s">"cse://doorman"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">RestTemplate</span> <span class="n">restTemplate</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">RestTemplate</span> <span class="n">restTemplate</span><span class="o">;</span>
 
-  <span class="n">AuthenticationService</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
+  <span class="nc">AuthenticationService</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
 
-    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="n">ResponseErrorHandler</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="nc">ResponseErrorHandler</span><span class="o">()</span> <span class="o">{</span>
       <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">hasError</span><span class="o">(</span><span class="n">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+      <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">hasError</span><span class="o">(</span><span class="nc">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">IOException</span> <span class="o">{</span>
         <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       <span class="o">}</span>
 
       <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="kt">void</span> <span class="nf">handleError</span><span class="o">(</span><span class="n">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+      <span class="kd">public</span> <span class="kt">void</span> <span class="nf">handleError</span><span class="o">(</span><span class="nc">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">IOException</span> <span class="o">{</span>
       <span class="o">}</span>
     <span class="o">});</span>
   <span class="o">}</span>
 
   <span class="nd">@HystrixCommand</span><span class="o">(</span><span class="n">fallbackMethod</span> <span class="o">=</span> <span class="s">"timeout"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Validating token {}"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
-    <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
-        <span class="n">DOORMAN_ADDRESS</span> <span class="o">+</span> <span class="s">"/rest/validate"</span><span class="o">,</span>
+    <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
+        <span class="no">DOORMAN_ADDRESS</span> <span class="o">+</span> <span class="s">"/rest/validate"</span><span class="o">,</span>
         <span class="n">validationRequest</span><span class="o">(</span><span class="n">token</span><span class="o">),</span>
-        <span class="n">String</span><span class="o">.</span><span class="na">class</span>
+        <span class="nc">String</span><span class="o">.</span><span class="na">class</span>
     <span class="o">);</span>
 
     <span class="k">if</span> <span class="o">(!</span><span class="n">responseEntity</span><span class="o">.</span><span class="na">getStatusCode</span><span class="o">().</span><span class="na">is2xxSuccessful</span><span class="o">())</span> <span class="o">{</span>
@@ -975,16 +975,16 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="k">return</span> <span class="n">responseEntity</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">timeout</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">timeout</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"Request to validate token {} timed out"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="n">REQUEST_TIMEOUT</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="no">REQUEST_TIMEOUT</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">HttpEntity</span><span class="o">&lt;</span><span class="n">Token</span><span class="o">&gt;</span> <span class="nf">validationRequest</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpHeaders</span><span class="o">();</span>
-    <span class="n">headers</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON_UTF8</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">HttpEntity</span><span class="o">&lt;</span><span class="nc">Token</span><span class="o">&gt;</span> <span class="nf">validationRequest</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HttpHeaders</span><span class="o">();</span>
+    <span class="n">headers</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON_UTF8</span><span class="o">);</span>
 
-    <span class="k">return</span> <span class="k">new</span> <span class="n">HttpEntity</span><span class="o">&lt;&gt;(</span><span class="k">new</span> <span class="n">Token</span><span class="o">(</span><span class="n">token</span><span class="o">),</span> <span class="n">headers</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">HttpEntity</span><span class="o">&lt;&gt;(</span><span class="k">new</span> <span class="nc">Token</span><span class="o">(</span><span class="n">token</span><span class="o">),</span> <span class="n">headers</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -994,26 +994,26 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 若用户合法则路由用户请求到对应服务,否则返回 <code class="highlighter-rouge">403 forbidden</code>。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Component</span>
-<span class="kd">class</span> <span class="nc">AuthenticationAwareFilter</span> <span class="kd">extends</span> <span class="n">ZuulFilter</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">AuthenticationAwareFilter</span> <span class="kd">extends</span> <span class="nc">ZuulFilter</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationAwareFilter</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationAwareFilter</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">LOGIN_PATH</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">LOGIN_PATH</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">AuthenticationAwareFilter</span><span class="o">(</span>
-      <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">,</span>
-      <span class="n">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">AuthenticationAwareFilter</span><span class="o">(</span>
+      <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">,</span>
+      <span class="nc">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">)</span> <span class="o">{</span>
 
     <span class="k">this</span><span class="o">.</span><span class="na">authenticationService</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">pathExtractor</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">filterType</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">filterType</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"pre"</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -1024,26 +1024,26 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">shouldFilter</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">.</span><span class="na">path</span><span class="o">(</span><span class="n">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">());</span>
+    <span class="nc">String</span> <span class="n">path</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">.</span><span class="na">path</span><span class="o">(</span><span class="nc">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">());</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received request with query path: {}"</span><span class="o">,</span> <span class="n">path</span><span class="o">);</span>
-    <span class="k">return</span> <span class="o">!</span><span class="n">path</span><span class="o">.</span><span class="na">endsWith</span><span class="o">(</span><span class="n">LOGIN_PATH</span><span class="o">);</span>
+    <span class="k">return</span> <span class="o">!</span><span class="n">path</span><span class="o">.</span><span class="na">endsWith</span><span class="o">(</span><span class="no">LOGIN_PATH</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">Object</span> <span class="nf">run</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Object</span> <span class="nf">run</span><span class="o">()</span> <span class="o">{</span>
     <span class="n">filter</span><span class="o">();</span>
     <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="kd">private</span> <span class="kt">void</span> <span class="nf">filter</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">RequestContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">();</span>
+    <span class="nc">RequestContext</span> <span class="n">context</span> <span class="o">=</span> <span class="nc">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">();</span>
 
     <span class="k">if</span> <span class="o">(</span><span class="n">doesNotContainToken</span><span class="o">(</span><span class="n">context</span><span class="o">))</span> <span class="o">{</span>
       <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"No token found in request header"</span><span class="o">);</span>
       <span class="n">rejectRequest</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
     <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-      <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
-      <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
+      <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
+      <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
       <span class="k">if</span> <span class="o">(!</span><span class="n">responseEntity</span><span class="o">.</span><span class="na">getStatusCode</span><span class="o">().</span><span class="na">is2xxSuccessful</span><span class="o">())</span> <span class="o">{</span>
         <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"Unauthorized token {} and request rejected"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
         <span class="n">rejectRequest</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
@@ -1053,22 +1053,22 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="o">}</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">rejectRequest</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">context</span><span class="o">.</span><span class="na">setResponseStatusCode</span><span class="o">(</span><span class="n">SC_FORBIDDEN</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">rejectRequest</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="n">context</span><span class="o">.</span><span class="na">setResponseStatusCode</span><span class="o">(</span><span class="no">SC_FORBIDDEN</span><span class="o">);</span>
     <span class="n">context</span><span class="o">.</span><span class="na">setSendZuulResponse</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">doesNotContainToken</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">doesNotContainToken</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">)</span> <span class="o">==</span> <span class="kc">null</span>
-        <span class="o">||</span> <span class="o">!</span><span class="n">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">startsWith</span><span class="o">(</span><span class="n">TOKEN_PREFIX</span><span class="o">);</span>
+        <span class="o">||</span> <span class="o">!</span><span class="n">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">startsWith</span><span class="o">(</span><span class="no">TOKEN_PREFIX</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">String</span> <span class="nf">token</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">replace</span><span class="o">(</span><span class="n">TOKEN_PREFIX</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="nf">token</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">replace</span><span class="o">(</span><span class="no">TOKEN_PREFIX</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">String</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">context</span><span class="o">.</span><span class="na">getRequest</span><span class="o">().</span><span class="na">getHeader</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="n">context</span><span class="o">.</span><span class="na">getRequest</span><span class="o">().</span><span class="na">getHeader</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -1082,8 +1082,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ManagerApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ManagerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ManagerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/cn/docs/loadtest-saga-with-kubernetes.html b/content/cn/docs/loadtest-saga-with-kubernetes.html
index 4009bca..38680b8 100644
--- a/content/cn/docs/loadtest-saga-with-kubernetes.html
+++ b/content/cn/docs/loadtest-saga-with-kubernetes.html
@@ -418,7 +418,7 @@
 <p>我们的demo项目由Java编写、maven作为依赖管理工具,在项目中引入了fabric8插件,编译程序时可以顺便将jar包构建成docker镜像。首先,我们构建alpha-server镜像:</p>
 
 <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">cd </span>alpha/alpha-server
-<span class="nv">$ </span>mvn clean install <span class="nt">-Pdocker</span>
+<span class="nv">$ </span>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span>
 </code></pre></div></div>
 
 <p>然后进入demo项目路径<code class="highlighter-rouge">saga-demo/saga-spring-demo</code>,执行相同的maven构建命令,构建完成后,我们可以看到产生了4个相关镜像:</p>
diff --git a/content/cn/docs/mersher-quick-start-advance/mersher-flow-control/index.html b/content/cn/docs/mersher-quick-start-advance/mersher-flow-control/index.html
index 4aec1bd..2bb328c 100644
--- a/content/cn/docs/mersher-quick-start-advance/mersher-flow-control/index.html
+++ b/content/cn/docs/mersher-quick-start-advance/mersher-flow-control/index.html
@@ -466,9 +466,9 @@
     <span class="na">qps</span><span class="pi">:</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>                 <span class="c1"># enable rate limiting or not</span>
       <span class="na">global</span><span class="pi">:</span>
-        <span class="na">limit</span><span class="pi">:</span> <span class="s">0</span>                    <span class="c1"># default limit of provider</span>
+        <span class="na">limit</span><span class="pi">:</span> <span class="m">0</span>                    <span class="c1"># default limit of provider</span>
       <span class="na">limit</span><span class="pi">:</span>
-        <span class="na">Server</span><span class="pi">:</span> <span class="s">0</span>                  <span class="c1"># rate limit for request from a provider</span>
+        <span class="na">Server</span><span class="pi">:</span> <span class="m">0</span>                  <span class="c1"># rate limit for request from a provider</span>
 </code></pre></div>    </div>
 
     <p>该频率限制标识每秒接受的请求为0,即不提供服务。</p>
diff --git a/content/cn/docs/mersher-quick-start-advance/mersher-service-management/index.html b/content/cn/docs/mersher-quick-start-advance/mersher-service-management/index.html
index 545ceae..5d14243 100644
--- a/content/cn/docs/mersher-quick-start-advance/mersher-service-management/index.html
+++ b/content/cn/docs/mersher-quick-start-advance/mersher-service-management/index.html
@@ -470,14 +470,14 @@
 
     <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">routeRule</span><span class="pi">:</span>
   <span class="na">calculator</span><span class="pi">:</span>        <span class="c1">#service name</span>
-    <span class="pi">-</span> <span class="na">precedence</span><span class="pi">:</span> <span class="s">2</span>    <span class="c1">#precedence of route rule</span>
+    <span class="pi">-</span> <span class="na">precedence</span><span class="pi">:</span> <span class="m">2</span>    <span class="c1">#precedence of route rule</span>
       <span class="na">route</span><span class="pi">:</span>           <span class="c1">#route rule list</span>
       <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
           <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.1</span>
-        <span class="na">weight</span><span class="pi">:</span> <span class="s">70</span>     <span class="c1">#weight of 20%</span>
+        <span class="na">weight</span><span class="pi">:</span> <span class="m">70</span>     <span class="c1">#weight of 20%</span>
       <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
           <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.2</span>
-        <span class="na">weight</span><span class="pi">:</span> <span class="s">30</span>     <span class="c1">#weight of 20%</span>
+        <span class="na">weight</span><span class="pi">:</span> <span class="m">30</span>     <span class="c1">#weight of 20%</span>
 </code></pre></div>    </div>
   </li>
 </ul>
@@ -500,20 +500,20 @@
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">timeout</span><span class="pi">:</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
-    <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="s">1000</span>            <span class="c1">#超时时间</span>
-    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="m">1000</span>            <span class="c1">#超时时间</span>
+    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">circuitBreaker</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
     <span class="na">forceOpen</span><span class="pi">:</span> <span class="no">false</span>
     <span class="na">forceClosed</span><span class="pi">:</span> <span class="no">false</span>
-    <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="s">10000</span>    <span class="c1">#熔断恢复时间10秒</span>
-    <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">1</span>          <span class="c1">#请求量限制</span>
-    <span class="na">errorThresholdPercentage</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="m">10000</span>    <span class="c1">#熔断恢复时间10秒</span>
+    <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="m">1</span>          <span class="c1">#请求量限制</span>
+    <span class="na">errorThresholdPercentage</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">fallback</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
-    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">fallbackpolicy</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">policy</span><span class="pi">:</span> <span class="s">returnnull</span>
diff --git a/content/cn/docs/mersher-quick-start/index.html b/content/cn/docs/mersher-quick-start/index.html
index 790275e..284dce9 100644
--- a/content/cn/docs/mersher-quick-start/index.html
+++ b/content/cn/docs/mersher-quick-start/index.html
@@ -536,9 +536,9 @@ docker run <span class="nt">-d</span> <span class="nt">-p</span> 30100:30100 ser
   <li>
     <p>2、 创建 <strong>mersher_webapp</strong> 用于为<strong>httpserver_webapp</strong>服务: 在mersher目录下执行下列linux命令创建mersher_webapp,此处除了可执行文件,还需要拷贝conf</p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /usr/local/src/mersher_webapp
-cp ./mesher /usr/local/src/mersher_webapp
-cp <span class="nt">-r</span> ./conf /usr/local/src/mersher_webapp
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> /usr/local/src/mersher_webapp
+<span class="nb">cp</span> ./mesher /usr/local/src/mersher_webapp
+<span class="nb">cp</span> <span class="nt">-r</span> ./conf /usr/local/src/mersher_webapp
 </code></pre></div>    </div>
 
     <p>更改conf中配置文件,microservice.yaml中的<strong>服务name</strong>,从hellomesher改为<strong>webapp</strong>;更改chassis.yaml中监听的服务地址,从本地回环(127.0.0.1)地址改为<strong>内网ip</strong>(linux下通过ifconfig查看,如192.168.88.64):</p>
@@ -551,9 +551,9 @@ listenAddress: 127.0.0.1:30102  <span class="nt">-----</span>》  listenAddress:
   <li>
     <p>3、 创建<strong>mersher_calculator</strong></p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /usr/local/src/mersher_calculator
-cp ./mesher /usr/local/src/mersher_calculator
-cp <span class="nt">-r</span> ./conf /usr/local/src/mersher_calculator
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> /usr/local/src/mersher_calculator
+<span class="nb">cp</span> ./mesher /usr/local/src/mersher_calculator
+<span class="nb">cp</span> <span class="nt">-r</span> ./conf /usr/local/src/mersher_calculator
 </code></pre></div>    </div>
 
     <p>更改conf中配置文件,分别更改<strong>microservice.yaml</strong>中的<strong>服务name</strong>为体质指数微服务名<strong>calculator</strong>;<br />
@@ -580,8 +580,8 @@ listenAddress: 127.0.0.1:30102  <span class="nt">-----</span>》  listenAddress:
     <p>5、 启动<strong>httpserver_webapp</strong>服务:</p>
 
     <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /usr/local/src/httpserver_webapp
-npm install
-<span class="nb">export </span><span class="nv">http_proxy</span><span class="o">=</span>http://127.0.0.1:30101
+npm <span class="nb">install
+export </span><span class="nv">http_proxy</span><span class="o">=</span>http://127.0.0.1:30101
 node ./httpserver_webapp.js
 </code></pre></div>    </div>
   </li>
diff --git a/content/cn/docs/open-design/index.html b/content/cn/docs/open-design/index.html
index 9739fae..b22764f 100644
--- a/content/cn/docs/open-design/index.html
+++ b/content/cn/docs/open-design/index.html
@@ -459,14 +459,14 @@
 <p><strong>RPC 方式的 Provider</strong></p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RpcSchema</span><span class="o">(</span><span class="n">schemaId</span><span class="o">=</span><span class="s">"hello"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span><span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span><span class="o">{</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">){</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Hello"</span><span class="o">+</span><span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">){</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Helloperson"</span><span class="o">+</span><span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -478,20 +478,20 @@
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span><span class="o">=</span><span class="s">"jaxrsHello"</span><span class="o">)</span>
 <span class="nd">@Path</span><span class="o">(</span><span class="s">"/jaxrshello"</span><span class="o">)</span>
-<span class="nd">@Produces</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span><span class="o">{</span>
+<span class="nd">@Produces</span><span class="o">(</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span><span class="o">{</span>
 
   <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhi"</span><span class="o">)</span>
   <span class="nd">@POST</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">){</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Hello"</span><span class="o">+</span><span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhello"</span><span class="o">)</span>
   <span class="nd">@POST</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">){</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Helloperson"</span><span class="o">+</span><span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -502,18 +502,18 @@
 <p><em>代码片段来自于 <a href="https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/springmvc-sample">Apache ServiceComb Spring MVC sample</a></em></p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span><span class="o">=</span><span class="s">"springmvcHello"</span><span class="o">)</span>
-<span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/springmvchello"</span><span class="o">,</span><span class="n">produces</span><span class="o">=</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span><span class="o">{</span>
+<span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/springmvchello"</span><span class="o">,</span><span class="n">produces</span><span class="o">=</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span><span class="o">{</span>
 
   <span class="nd">@Override</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhi"</span><span class="o">,</span><span class="n">method</span><span class="o">=</span><span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span><span class="o">=</span><span class="s">"name"</span><span class="o">)</span><span class="n">String</span> <span class="n">name</span><span class="o">){</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhi"</span><span class="o">,</span><span class="n">method</span><span class="o">=</span><span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span><span class="o">=</span><span class="s">"name"</span><span class="o">)</span><span class="nc">String</span> <span class="n">name</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Hello"</span><span class="o">+</span><span class="n">name</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span><span class="o">=</span><span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">){</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span><span class="o">=</span><span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">){</span>
     <span class="k">return</span><span class="s">"Helloperson"</span><span class="o">+</span><span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -522,8 +522,8 @@
 <p><strong>RPC 方式访问上述三种服务的 Consumer</strong></p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RpcReference</span><span class="o">(</span><span class="n">microserviceName</span><span class="o">=</span><span class="s">"hello"</span><span class="o">,</span><span class="n">schemaId</span><span class="o">=</span><span class="s">"hello"</span><span class="o">)</span>
-<span class="kd">private</span> <span class="n">Hello</span> <span class="n">hello</span><span class="o">;</span>
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"JavaChassis"</span><span class="o">));</span>
+<span class="kd">private</span> <span class="nc">Hello</span> <span class="n">hello</span><span class="o">;</span>
+<span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"JavaChassis"</span><span class="o">));</span>
 </code></pre></div></div>
 
 <p><em>以上代码片段全部出自 <a href="https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/">Apache ServiceComb Samples</a>,有兴趣者可阅读了解或贡献更多的智慧。</em></p>
diff --git a/content/cn/docs/performance-test-on-seckill-with-jmeter/index.html b/content/cn/docs/performance-test-on-seckill-with-jmeter/index.html
index 53da7cf..ea8570b 100644
--- a/content/cn/docs/performance-test-on-seckill-with-jmeter/index.html
+++ b/content/cn/docs/performance-test-on-seckill-with-jmeter/index.html
@@ -456,8 +456,8 @@
   </p>
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="na">admin-service</span><span class="pi">:</span>
     <span class="na">mem_limit</span><span class="pi">:</span> <span class="s">4096m</span>
-    <span class="na">cpu_count</span><span class="pi">:</span> <span class="s">4</span>
-    <span class="na">cpu_percent</span><span class="pi">:</span> <span class="s">50</span>
+    <span class="na">cpu_count</span><span class="pi">:</span> <span class="m">4</span>
+    <span class="na">cpu_percent</span><span class="pi">:</span> <span class="m">50</span>
     <span class="na">image</span><span class="pi">:</span> <span class="s2">"</span><span class="s">seckill-admin-service:0.2.0-SNAPSHOT"</span>
     <span class="na">hostname</span><span class="pi">:</span> <span class="s">admin-service</span>
     <span class="na">links</span><span class="pi">:</span>
diff --git a/content/cn/docs/quick-start-advance/flow-control/index.html b/content/cn/docs/quick-start-advance/flow-control/index.html
index ac7ada9..8bd4186 100644
--- a/content/cn/docs/quick-start-advance/flow-control/index.html
+++ b/content/cn/docs/quick-start-advance/flow-control/index.html
@@ -488,7 +488,7 @@
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">qps</span><span class="pi">:</span>
         <span class="na">limit</span><span class="pi">:</span>
-          <span class="na">gateway</span><span class="pi">:</span> <span class="s">1</span>
+          <span class="na">gateway</span><span class="pi">:</span> <span class="m">1</span>
 </code></pre></div>    </div>
   </li>
 </ol>
diff --git a/content/cn/docs/quick-start-advance/service-management/index.html b/content/cn/docs/quick-start-advance/service-management/index.html
index 49ad149..4afeae8 100644
--- a/content/cn/docs/quick-start-advance/service-management/index.html
+++ b/content/cn/docs/quick-start-advance/service-management/index.html
@@ -487,7 +487,7 @@
   <span class="na">circuitBreaker</span><span class="pi">:</span>
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">calculator</span><span class="pi">:</span>
-        <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">3</span>
+        <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="m">3</span>
   <span class="na">fallbackpolicy</span><span class="pi">:</span>
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">policy</span><span class="pi">:</span> <span class="s">returnnull</span>
diff --git a/content/cn/docs/quick-start-bmi/index.html b/content/cn/docs/quick-start-bmi/index.html
index a599e93..91f0e83 100644
--- a/content/cn/docs/quick-start-bmi/index.html
+++ b/content/cn/docs/quick-start-bmi/index.html
@@ -521,7 +521,7 @@
 <span class="o">}</span>
 
 <span class="nd">@Service</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="n">CalculatorService</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="nc">CalculatorService</span> <span class="o">{</span>
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">double</span> <span class="nf">calculate</span><span class="o">(</span><span class="kt">double</span> <span class="n">height</span><span class="o">,</span> <span class="kt">double</span> <span class="n">weight</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">height</span> <span class="o">&lt;=</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">weight</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
@@ -548,12 +548,12 @@
 <p>暴露运算服务的Restful端点:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"calculatorRestEndpoint"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorRestEndpoint</span> <span class="kd">implements</span> <span class="n">CalculatorEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorRestEndpoint</span> <span class="kd">implements</span> <span class="nc">CalculatorEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">CalculatorService</span> <span class="n">calculatorService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">CalculatorService</span> <span class="n">calculatorService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">CalculatorRestEndpoint</span><span class="o">(</span><span class="n">CalculatorService</span> <span class="n">calculatorService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">CalculatorRestEndpoint</span><span class="o">(</span><span class="nc">CalculatorService</span> <span class="n">calculatorService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">calculatorService</span> <span class="o">=</span> <span class="n">calculatorService</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -586,8 +586,8 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -640,7 +640,7 @@
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">false</span>
 
 <span class="na">server</span><span class="pi">:</span>
-  <span class="na">port</span><span class="pi">:</span> <span class="s">8889</span>
+  <span class="na">port</span><span class="pi">:</span> <span class="m">8889</span>
 </code></pre></div></div>
 <p>在 <code class="highlighter-rouge">microservice.yaml</code> 文件中配置网关服务的信息和服务注册中心的地址。</p>
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">APPLICATION_ID</span><span class="pi">:</span> <span class="s">bmi</span>
@@ -660,8 +660,8 @@
 <span class="nd">@EnableZuulProxy</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GatewayApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">GatewayApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">GatewayApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/cn/docs/quick-start-dataconsistency/index.html b/content/cn/docs/quick-start-dataconsistency/index.html
index 505e4d2..840801c 100644
--- a/content/cn/docs/quick-start-dataconsistency/index.html
+++ b/content/cn/docs/quick-start-dataconsistency/index.html
@@ -531,7 +531,7 @@
          <span class="na">test</span><span class="pi">:</span> <span class="pi">[</span><span class="s2">"</span><span class="s">CMD-SHELL"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">nc</span><span class="nv"> </span><span class="s">-z</span><span class="nv"> </span><span class="s">localhost</span><span class="nv"> </span><span class="s">3306</span><span class="nv"> </span><span class="s">&amp;&gt;</span><span class="nv"> </span><span class="s">/dev/null;</s [...]
          <span class="na">interval</span><span class="pi">:</span> <span class="s">30s</span>
          <span class="na">timeout</span><span class="pi">:</span> <span class="s">10s</span>
-         <span class="na">retries</span><span class="pi">:</span> <span class="s">5</span>
+         <span class="na">retries</span><span class="pi">:</span> <span class="m">5</span>
 
    <span class="na">car-rental-service</span><span class="pi">:</span>
      <span class="na">image</span><span class="pi">:</span> <span class="s2">"</span><span class="s">car-rental-service:0.0.2-SNAPSHOT"</span>
@@ -605,101 +605,101 @@
     <p>参照 <a href="https://github.com/apache/servicecomb-saga/blob/master/docs/api/api.md">Saga API</a> 说明,设定各服务的事务、补偿、依赖和恢复参数,并保存为 <em>request.json</em> 文件</p>
 
     <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w"> </span><span class="p">{</span><span class="w">
-   </span><span class="s2">"policy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BackwardRecovery"</span><span class="p">,</span><span class="w">
-   </span><span class="s2">"requests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+   </span><span class="nl">"policy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BackwardRecovery"</span><span class="p">,</span><span class="w">
+   </span><span class="nl">"requests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"car-rental-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"car-rental-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-hotel"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hotel-reservation-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-hotel"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hotel-reservation-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"flight-booking-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"flight-booking-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-payment"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"payment-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"parents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-payment"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"payment-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"parents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
          </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
          </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
          </span><span class="s2">"request-hotel"</span><span class="w">
        </span><span class="p">],</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
diff --git a/content/cn/docs/quick-start/index.html b/content/cn/docs/quick-start/index.html
index db2c01d..3c7af89 100644
--- a/content/cn/docs/quick-start/index.html
+++ b/content/cn/docs/quick-start/index.html
@@ -476,7 +476,7 @@
 
     <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code> git clone https://github.com/apache/servicecomb-java-chassis.git
  <span class="nb">cd </span>servicecomb-java-chassis
- mvn clean install <span class="nt">-DskipTests</span>
+ mvn clean <span class="nb">install</span> <span class="nt">-DskipTests</span>
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/cn/docs/release-note-1-0-0.html b/content/cn/docs/release-note-1-0-0.html
index e525d4f..3f04cbf 100644
--- a/content/cn/docs/release-note-1-0-0.html
+++ b/content/cn/docs/release-note-1-0-0.html
@@ -525,10 +525,10 @@
     </ul>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/address"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="n">String</span> <span class="nf">address</span><span class="o">(</span><span class="n">Address</span> <span class="n">address</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+<span class="kd">public</span> <span class="nc">String</span> <span class="nf">address</span><span class="o">(</span><span class="nc">Address</span> <span class="n">address</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Address</span> <span class="o">{</span>
-	<span class="n">String</span> <span class="n">country</span><span class="o">;</span>
-	<span class="n">String</span> <span class="n">city</span><span class="o">;</span>
+	<span class="nc">String</span> <span class="n">country</span><span class="o">;</span>
+	<span class="nc">String</span> <span class="n">city</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div>    </div>
 
diff --git a/content/cn/docs/saga_pack_design/index.html b/content/cn/docs/saga_pack_design/index.html
index 77a7a6f..a4eb631 100644
--- a/content/cn/docs/saga_pack_design/index.html
+++ b/content/cn/docs/saga_pack_design/index.html
@@ -510,25 +510,25 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@SpringBootApplication</span>
  <span class="nd">@EnableOmega</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-     <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+     <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
     <p>2.2 在全局事务的起点添加 <code class="highlighter-rouge">@SagaStart</code> 的注解。</p>
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@SagaStart</span><span class="o">(</span><span class="n">timeout</span><span class="o">=</span><span class="mi">10</span><span class="o">)</span>
- <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">transferMoney</span><span class="o">(</span><span class="n">String</span> <span class="n">from</span><span class="o">,</span> <span class="n">String</span> <span class="n">to</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">transferMoney</span><span class="o">(</span><span class="nc">String</span> <span class="n">from</span><span class="o">,</span> <span class="nc">String</span> <span class="n">to</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">transferOut</span><span class="o">(</span><span class="n">from</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
    <span class="n">transferIn</span><span class="o">(</span><span class="n">to</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
     <p>2.3 在子事务处添加 <code class="highlighter-rouge">@Compensable</code> 的注解并指明其对应的补偿方法。其中,补偿方法的形参列表需与子事务方法的形参列表保持一致。</p>
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@Compensable</span><span class="o">(</span><span class="n">timeout</span><span class="o">=</span><span class="mi">5</span><span class="o">,</span> <span class="n">compensationMethod</span><span class="o">=</span><span class="s">"cancel"</span><span class="o">)</span>
- <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">transferOut</span><span class="o">(</span><span class="n">String</span> <span class="n">from</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">transferOut</span><span class="o">(</span><span class="nc">String</span> <span class="n">from</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">repo</span><span class="o">.</span><span class="na">reduceBalanceByUsername</span><span class="o">(</span><span class="n">from</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
  <span class="o">}</span>
     
- <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">cancel</span><span class="o">(</span><span class="n">String</span> <span class="n">from</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">cancel</span><span class="o">(</span><span class="nc">String</span> <span class="n">from</span><span class="o">,</span> <span class="kt">int</span> <span class="n">amount</span><span class="o">)</span> <span class="o">{</span>
    <span class="n">repo</span><span class="o">.</span><span class="na">addBalanceByUsername</span><span class="o">(</span><span class="n">from</span><span class="o">,</span> <span class="n">amount</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/docs/saga_with_cucumber/index.html b/content/cn/docs/saga_with_cucumber/index.html
index f7d6aa7..e761525 100644
--- a/content/cn/docs/saga_with_cucumber/index.html
+++ b/content/cn/docs/saga_with_cucumber/index.html
@@ -460,14 +460,14 @@
 
         <p>在step_definition中使用正则的方式对应feature中定义的的测试条件,触发测试并验证结果。如:</p>
 
-        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="n">Given</span><span class="o">(</span><span class="s">"^Car Service is up and running$"</span><span class="o">,</span> <span class="o">()</span> <span class="o">-&gt;</span> <span class="o">{</span>
-      <span class="n">probe</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">CAR_SERVICE_ADDRESS</span><span class="o">));</span>
+        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="nc">Given</span><span class="o">(</span><span class="s">"^Car Service is up and running$"</span><span class="o">,</span> <span class="o">()</span> <span class="o">-&gt;</span> <span class="o">{</span>
+      <span class="n">probe</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="no">CAR_SERVICE_ADDRESS</span><span class="o">));</span>
     <span class="o">});</span>
 </code></pre></div>        </div>
 
         <p>上面代码对应feature中第一个测试前提条件<code class="highlighter-rouge">Given car service is up and running</code>,<code class="highlighter-rouge">probe</code>函数式方位<code class="highlighter-rouge">Car</code>服务的一个Rest接口验证返回状态码来判断<code class="highlighter-rouge">Car</code>是否正常启动运行。接下来四个<code class="highlighter-rouge">Given</code>与此类似。</p>
 
-        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">When</span><span class="o">(</span><span class="s">"^User ([A-Za-z]+) requests to book ([0-9]+) cars and ([0-9]+) rooms$"</span><span class="o">,</span> <span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">cars</span><span class="o">,</span> <span class="n">rooms</span><span class="o">)</span> <span class="o">-&gt;</span> <spa [...]
+        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">When</span><span class="o">(</span><span class="s">"^User ([A-Za-z]+) requests to book ([0-9]+) cars and ([0-9]+) rooms$"</span><span class="o">,</span> <span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">cars</span><span class="o">,</span> <span class="n">rooms</span><span class="o">)</span> <span class="o">-&gt;</span> <sp [...]
       <span class="n">log</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received request from user {} to book {} cars and {} rooms"</span><span class="o">,</span> <span class="n">username</span><span class="o">,</span> <span class="n">cars</span><span class="o">,</span> <span class="n">rooms</span><span class="o">);</span>
 
       <span class="n">given</span><span class="o">()</span>
@@ -475,26 +475,26 @@
           <span class="o">.</span><span class="na">pathParam</span><span class="o">(</span><span class="s">"rooms"</span><span class="o">,</span> <span class="n">rooms</span><span class="o">)</span>
           <span class="o">.</span><span class="na">pathParam</span><span class="o">(</span><span class="s">"cars"</span><span class="o">,</span> <span class="n">cars</span><span class="o">)</span>
           <span class="o">.</span><span class="na">when</span><span class="o">()</span>
-          <span class="o">.</span><span class="na">post</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="s">"booking.service.address"</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/booking/{name}/{rooms}/{cars}"</span><span class="o">);</span>
+          <span class="o">.</span><span class="na">post</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="s">"booking.service.address"</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/booking/{name}/{rooms}/{cars}"</span><span class="o">);</span>
     <span class="o">});</span>
 </code></pre></div>        </div>
 
         <p>此段代码解析feature中定义的<code class="highlighter-rouge">When User Sean requests to book 2 cars and 1 rooms</code>事件,解析出用户、预定车辆和房间数量参数并向<code class="highlighter-rouge">Booking</code>服务发出<code class="highlighter-rouge">POST</code>方法的请求,然后在下面代码的<code class="highlighter-rouge">Then</code>中验证结果:</p>
 
-        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Then</span><span class="o">(</span><span class="s">"^Alpha records the following events$"</span><span class="o">,</span> <span class="o">(</span><span class="n">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
-      <span class="n">Consumer</span><span class="o">&lt;</span><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;[]&gt;</span> <span class="n">columnStrippingConsumer</span> <span class="o">=</span> <span class="n">dataMap</span> <span class="o">-&gt;</span> <span class="o">{</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">map</span> <span class="o">:</span> <span class="n">dataMap</span><span class="o">)</span>
+        <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Then</span><span class="o">(</span><span class="s">"^Alpha records the following events$"</span><span class="o">,</span> <span class="o">(</span><span class="nc">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
+      <span class="nc">Consumer</span><span class="o">&lt;</span><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;[]&gt;</span> <span class="n">columnStrippingConsumer</span> <span class="o">=</span> <span class="n">dataMap</span> <span class="o">-&gt;</span> <span class="o">{</span>
+        <span class="k">for</span> <span class="o">(</span><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">map</span> <span class="o">:</span> <span class="n">dataMap</span><span class="o">)</span>
           <span class="n">map</span><span class="o">.</span><span class="na">keySet</span><span class="o">().</span><span class="na">retainAll</span><span class="o">(</span><span class="n">dataTable</span><span class="o">.</span><span class="na">topCells</span><span class="o">());</span>
       <span class="o">};</span>
-      <span class="n">dataMatches</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">ALPHA_REST_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/events"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="n">columnStrippingConsumer</span><span class="o">);</span>
+      <span class="n">dataMatches</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="no">ALPHA_REST_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/events"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="n">columnStrippingConsumer</span><span class="o">);</span>
     <span class="o">});</span>
 
- <span class="n">And</span><span class="o">(</span><span class="s">"^Car Service contains the following booking orders$"</span><span class="o">,</span> <span class="o">(</span><span class="n">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
-      <span class="n">dataMatches</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">CAR_SERVICE_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/bookings"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="n">NO_OP_CONSUMER</span><span class="o">);</span>
+ <span class="nc">And</span><span class="o">(</span><span class="s">"^Car Service contains the following booking orders$"</span><span class="o">,</span> <span class="o">(</span><span class="nc">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
+      <span class="n">dataMatches</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="no">CAR_SERVICE_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/bookings"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="no">NO_OP_CONSUMER</span><span class="o">);</span>
     <span class="o">});</span>
 
-    <span class="n">And</span><span class="o">(</span><span class="s">"^Hotel Service contains the following booking orders$"</span><span class="o">,</span> <span class="o">(</span><span class="n">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
-      <span class="n">dataMatches</span><span class="o">(</span><span class="n">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="n">HOTEL_SERVICE_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/bookings"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="n">NO_OP_CONSUMER</span><span class="o">);</span>
+    <span class="nc">And</span><span class="o">(</span><span class="s">"^Hotel Service contains the following booking orders$"</span><span class="o">,</span> <span class="o">(</span><span class="nc">DataTable</span> <span class="n">dataTable</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
+      <span class="n">dataMatches</span><span class="o">(</span><span class="nc">System</span><span class="o">.</span><span class="na">getProperty</span><span class="o">(</span><span class="no">HOTEL_SERVICE_ADDRESS</span><span class="o">)</span> <span class="o">+</span> <span class="s">"/bookings"</span><span class="o">,</span> <span class="n">dataTable</span><span class="o">,</span> <span class="no">NO_OP_CONSUMER</span><span class="o">);</span>
     <span class="o">});</span>
 </code></pre></div>        </div>
 
@@ -513,7 +513,7 @@
     <p>由于房源紧张,限制每个用户最多预订2间房,当用户预订超过2间时会抛出异常:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Compensable</span><span class="o">(</span><span class="n">compensationMethod</span> <span class="o">=</span> <span class="s">"cancel"</span><span class="o">)</span>
-  <span class="kt">void</span> <span class="nf">order</span><span class="o">(</span><span class="n">HotelBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kt">void</span> <span class="nf">order</span><span class="o">(</span><span class="nc">HotelBooking</span> <span class="n">booking</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">booking</span><span class="o">.</span><span class="na">getAmount</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">2</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">throw</span> <span class="k">new</span> <span class="nf">IllegalArgumentException</span><span class="o">(</span><span class="s">"can not order the rooms large than two"</span><span class="o">);</span>
     <span class="o">}</span>
@@ -587,7 +587,7 @@
 
     <p>除了上面例子中通过命令行指定javaagent指定byteman 规则文件的加载方式外,还可以通过Java代码的方式加载,如下</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Submit</span> <span class="n">bm</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Submit</span><span class="o">(</span><span class="n">address</span><span class="o">,</span> <span class="n">port</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Submit</span> <span class="n">bm</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Submit</span><span class="o">(</span><span class="n">address</span><span class="o">,</span> <span class="n">port</span><span class="o">);</span>
 <span class="n">bm</span><span class="o">.</span><span class="na">addRulesFromFiles</span><span class="o">(</span><span class="n">rules</span><span class="o">);</span>
 </code></pre></div>    </div>
 
@@ -610,7 +610,7 @@
 <span class="s">METHOD timeout</span>
 <span class="s">AT EXIT</span>
 <span class="s">IF TRUE</span>
-<span class="s">DO RETURN 5</span>
+<span class="s">DO RETURN </span><span class="m">5</span>
 <span class="s">ENDRULE</span>
 
 <span class="s">RULE sleep when postBooking until timeout happens</span>
@@ -658,11 +658,11 @@
   <li>
     <p>step_definition解析</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="n">Given</span><span class="o">(</span><span class="s">"^Install the byteman script ([A-Za-z0-9_\\.]+) to ([A-Za-z]+) Service$"</span><span class="o">,</span> <span class="o">(</span><span class="n">String</span> <span class="n">script</span><span class="o">,</span> <span class="n">String</span> <span class="n">service</span><span class="o">)</span> <span class="o">-&gt;< [...]
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="nc">Given</span><span class="o">(</span><span class="s">"^Install the byteman script ([A-Za-z0-9_\\.]+) to ([A-Za-z]+) Service$"</span><span class="o">,</span> <span class="o">(</span><span class="nc">String</span> <span class="n">script</span><span class="o">,</span> <span class="nc">String</span> <span class="n">service</span><span class="o">)</span> <span class="o">-&g [...]
       <span class="n">log</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Install the byteman script {} to {} service"</span><span class="o">,</span> <span class="n">script</span><span class="o">,</span> <span class="n">service</span><span class="o">);</span>
-      <span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">rules</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">&lt;&gt;();</span>
+      <span class="nc">List</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">rules</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ArrayList</span><span class="o">&lt;&gt;();</span>
       <span class="n">rules</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="s">"target/test-classes/"</span> <span class="o">+</span> <span class="n">script</span><span class="o">);</span>
-      <span class="n">Submit</span> <span class="n">bm</span> <span class="o">=</span> <span class="n">getBytemanSubmit</span><span class="o">(</span><span class="n">service</span><span class="o">);</span>
+      <span class="nc">Submit</span> <span class="n">bm</span> <span class="o">=</span> <span class="n">getBytemanSubmit</span><span class="o">(</span><span class="n">service</span><span class="o">);</span>
       <span class="n">bm</span><span class="o">.</span><span class="na">addRulesFromFiles</span><span class="o">(</span><span class="n">rules</span><span class="o">);</span>
     <span class="o">});</span>
 </code></pre></div>    </div>
diff --git a/content/cn/docs/seckill-development-journey-part-III/index.html b/content/cn/docs/seckill-development-journey-part-III/index.html
index 3c823d0..81bc41d 100644
--- a/content/cn/docs/seckill-development-journey-part-III/index.html
+++ b/content/cn/docs/seckill-development-journey-part-III/index.html
@@ -432,7 +432,7 @@
 <p>  之前的版本由于没有引入Event Sourcing,Event实体只需要直接写入数据库即可,现在需要将Event发布给Message Broker,为了支持云服务(<a href="http://www.hwclouds.com/">华为云</a>)提供的分布式消息服务,我们定义了通用消息发布接口:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SecKillMessagePublisher</span> <span class="o">{</span>
-  <span class="kt">void</span> <span class="nf">publishMessage</span><span class="o">(</span><span class="n">String</span> <span class="n">messageContent</span><span class="o">);</span>
+  <span class="kt">void</span> <span class="nf">publishMessage</span><span class="o">(</span><span class="nc">String</span> <span class="n">messageContent</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -447,7 +447,7 @@
 <p>  同样,为了支持云服务(<a href="http://www.hwclouds.com/">华为云</a>)提供的分布式消息服务,我们定义了通用消息订阅接口:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SecKillMessageSubscriber</span> <span class="o">{</span>
-  <span class="kt">void</span> <span class="nf">subscribeMessage</span><span class="o">(</span><span class="n">String</span> <span class="n">messageContent</span><span class="o">);</span>
+  <span class="kt">void</span> <span class="nf">subscribeMessage</span><span class="o">(</span><span class="nc">String</span> <span class="n">messageContent</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
diff --git a/content/cn/docs/servicecomb-pack-cluster/index.html b/content/cn/docs/servicecomb-pack-cluster/index.html
index e85b079..cb339f7 100644
--- a/content/cn/docs/servicecomb-pack-cluster/index.html
+++ b/content/cn/docs/servicecomb-pack-cluster/index.html
@@ -455,21 +455,21 @@
 <p>事务扫描是通过 <code class="highlighter-rouge">EventScanner.java</code> 实现的,并且在 <code class="highlighter-rouge">AlphaConfig.java</code> 中进行初始化,可以看到在 <code class="highlighter-rouge">new EventScanner</code> 代码执行前进行了eventScannerEnabled判断,这个参数就是通过<code class="highlighter-rouge">alpha.event.scanner.enabled</code> 指定的(默认是true),然后传入了<code class="highlighter-rouge">nodeStatus</code> 对象,这个对象就记录着这个节点的状态(主节点或者从节点),后边会讲解 <code class="highlighter-rouge">nodeStatus</code> 是如何构造的。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Bean</span>
-<span class="n">TxConsistentService</span> <span class="nf">txConsistentService</span><span class="o">(</span>
+<span class="nc">TxConsistentService</span> <span class="nf">txConsistentService</span><span class="o">(</span>
   <span class="nd">@Value</span><span class="o">(</span><span class="s">"${alpha.event.pollingInterval:500}"</span><span class="o">)</span> <span class="kt">int</span> <span class="n">eventPollingInterval</span><span class="o">,</span>
   <span class="nd">@Value</span><span class="o">(</span><span class="s">"${alpha.event.scanner.enabled:true}"</span><span class="o">)</span> <span class="kt">boolean</span> <span class="n">eventScannerEnabled</span><span class="o">,</span>
-  <span class="n">ScheduledExecutorService</span> <span class="n">scheduler</span><span class="o">,</span>
-  <span class="n">TxEventRepository</span> <span class="n">eventRepository</span><span class="o">,</span>
-  <span class="n">CommandRepository</span> <span class="n">commandRepository</span><span class="o">,</span>
-  <span class="n">TxTimeoutRepository</span> <span class="n">timeoutRepository</span><span class="o">,</span>
-  <span class="n">OmegaCallback</span> <span class="n">omegaCallback</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">ScheduledExecutorService</span> <span class="n">scheduler</span><span class="o">,</span>
+  <span class="nc">TxEventRepository</span> <span class="n">eventRepository</span><span class="o">,</span>
+  <span class="nc">CommandRepository</span> <span class="n">commandRepository</span><span class="o">,</span>
+  <span class="nc">TxTimeoutRepository</span> <span class="n">timeoutRepository</span><span class="o">,</span>
+  <span class="nc">OmegaCallback</span> <span class="n">omegaCallback</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">eventScannerEnabled</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">new</span> <span class="nf">EventScanner</span><span class="o">(</span><span class="n">scheduler</span><span class="o">,</span>
           <span class="n">eventRepository</span><span class="o">,</span> <span class="n">commandRepository</span><span class="o">,</span> <span class="n">timeoutRepository</span><span class="o">,</span>
           <span class="n">omegaCallback</span><span class="o">,</span> <span class="n">eventPollingInterval</span><span class="o">,</span> <span class="n">nodeStatus</span><span class="o">).</span><span class="na">run</span><span class="o">();</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Starting the EventScanner."</span><span class="o">);</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Starting the EventScanner."</span><span class="o">);</span>
       <span class="o">}</span>
-    <span class="n">TxConsistentService</span> <span class="n">consistentService</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TxConsistentService</span><span class="o">(</span><span class="n">eventRepository</span><span class="o">);</span>
+    <span class="nc">TxConsistentService</span> <span class="n">consistentService</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">TxConsistentService</span><span class="o">(</span><span class="n">eventRepository</span><span class="o">);</span>
     <span class="k">return</span> <span class="n">consistentService</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -493,29 +493,29 @@
 	    <span class="o">},</span>
 	    <span class="mi">0</span><span class="o">,</span>
 	    <span class="n">eventPollingInterval</span><span class="o">,</span>
-	    <span class="n">MILLISECONDS</span><span class="o">);</span>
+	    <span class="no">MILLISECONDS</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
 <p>我们在 <code class="highlighter-rouge">AlphaConfig.java</code>  中通过以下方式创建实例,以确保无论您是否指定了 <code class="highlighter-rouge">alpha.cluster.master.enabled</code> 参数事务扫描都可以正常工作,在这里可以看到当我们开启了集群模式后节点刚启动的时候状态是Slave,下面会说明状态是如何切换到Master的。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Bean</span>
-<span class="n">NodeStatus</span> <span class="nf">nodeStatus</span> <span class="o">(){</span>
+<span class="nc">NodeStatus</span> <span class="nf">nodeStatus</span> <span class="o">(){</span>
 <span class="k">if</span><span class="o">(</span><span class="n">masterEnabled</span><span class="o">){</span>
-  <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
+  <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
 <span class="o">}</span><span class="k">else</span><span class="o">{</span>
-  <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
+  <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
 <span class="o">}</span>
 <span class="o">}</span>
 
 <span class="nd">@Autowired</span>
-<span class="n">NodeStatus</span> <span class="n">nodeStatus</span><span class="o">;</span>
+<span class="nc">NodeStatus</span> <span class="n">nodeStatus</span><span class="o">;</span>
 </code></pre></div></div>
 
 <p>控制节点状态切换的是 <code class="highlighter-rouge">ClusterLockService.java</code> ,这个服务会定时执行锁抢占,抢占成功后设置本节点为Master,否则为Slave</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Autowired</span>
-<span class="n">LockProvider</span> <span class="n">lockProvider</span><span class="o">;</span>
+<span class="nc">LockProvider</span> <span class="n">lockProvider</span><span class="o">;</span>
 <span class="o">...</span>
 <span class="o">...</span>
 <span class="nd">@Scheduled</span><span class="o">(</span><span class="n">cron</span> <span class="o">=</span> <span class="s">"0/1 * * * * ?"</span><span class="o">)</span>
@@ -525,15 +525,15 @@
   <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">locker</span><span class="o">.</span><span class="na">isPresent</span><span class="o">())</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="na">locked</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">this</span><span class="o">.</span><span class="na">locked</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
-      <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Master Node"</span><span class="o">);</span>
+      <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Master Node"</span><span class="o">);</span>
     <span class="o">}</span>
     <span class="c1">//Keep locked</span>
   <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">locked</span> <span class="o">||</span> <span class="o">!</span><span class="n">lockExecuted</span><span class="o">)</span> <span class="o">{</span>
       <span class="n">locked</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-      <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Slave Node"</span><span class="o">);</span>
+      <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Slave Node"</span><span class="o">);</span>
     <span class="o">}</span>
   <span class="o">}</span>
   <span class="n">lockExecuted</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
@@ -616,10 +616,10 @@
 </ul>
 
 <div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">IF</span> <span class="k">NOT</span> <span class="k">EXISTS</span> <span class="n">master_lock</span> <span class="p">(</span>
-  <span class="n">serviceName</span> <span class="n">varchar</span><span class="p">(</span><span class="mi">36</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
-  <span class="n">expireTime</span> <span class="n">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
-  <span class="n">lockedTime</span> <span class="n">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
-  <span class="n">instanceId</span>  <span class="n">varchar</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
+  <span class="n">serviceName</span> <span class="nb">varchar</span><span class="p">(</span><span class="mi">36</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
+  <span class="n">expireTime</span> <span class="nb">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
+  <span class="n">lockedTime</span> <span class="nb">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
+  <span class="n">instanceId</span>  <span class="nb">varchar</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
   <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">serviceName</span><span class="p">)</span>
 <span class="p">)</span> <span class="n">ENGINE</span><span class="o">=</span><span class="n">InnoDB</span> <span class="k">DEFAULT</span> <span class="n">CHARSET</span><span class="o">=</span><span class="n">utf8</span><span class="p">;</span>
 </code></pre></div></div>
@@ -654,10 +654,10 @@
        <span class="o">+</span> <span class="s">"VALUES "</span>
        <span class="o">+</span> <span class="s">"(?1, ?2, ?3, ?4)"</span><span class="o">,</span> <span class="n">nativeQuery</span> <span class="o">=</span> <span class="kc">true</span><span class="o">)</span>
    <span class="kt">int</span> <span class="nf">initLock</span><span class="o">(</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="n">String</span> <span class="n">serviceName</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">expireTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="n">String</span> <span class="n">instanceId</span><span class="o">);</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">expireTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">instanceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>
@@ -676,10 +676,10 @@
        <span class="o">+</span> <span class="s">",t.instanceId = :instanceId "</span>
        <span class="o">+</span> <span class="s">"WHERE t.serviceName = :serviceName AND (t.expireTime &lt;= :lockedTime OR t.instanceId = :instanceId)"</span><span class="o">)</span>
    <span class="kt">int</span> <span class="nf">updateLock</span><span class="o">(</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="n">String</span> <span class="n">serviceName</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">expireTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="n">String</span> <span class="n">instanceId</span><span class="o">);</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">expireTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">instanceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>
diff --git a/content/cn/docs/servicecomb-pack-consul/index.html b/content/cn/docs/servicecomb-pack-consul/index.html
index 9c2f125..8a543cc 100644
--- a/content/cn/docs/servicecomb-pack-consul/index.html
+++ b/content/cn/docs/servicecomb-pack-consul/index.html
@@ -444,22 +444,22 @@
 <p>执行命令行 <code class="highlighter-rouge">curl http://0.0.0.0:8500/v1/agent/services</code> 可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Consul 的 Tags 中</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="s2">"ID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+    </span><span class="nl">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+        </span><span class="nl">"ID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
             </span><span class="s2">"alpha-server-host=0.0.0.0"</span><span class="p">,</span><span class="w">
             </span><span class="s2">"alpha-server-port=8080"</span><span class="p">,</span><span class="w">
             </span><span class="s2">"secure=false"</span><span class="w">
         </span><span class="p">],</span><span class="w">
-        </span><span class="s2">"Meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
-        </span><span class="s2">"Port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8090</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.116"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Weights"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"Passing"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"Warning"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
+        </span><span class="nl">"Meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
+        </span><span class="nl">"Port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8090</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.116"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Weights"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+            </span><span class="nl">"Passing"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"Warning"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
         </span><span class="p">},</span><span class="w">
-        </span><span class="s2">"EnableTagOverride"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
+        </span><span class="nl">"EnableTagOverride"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
     </span><span class="p">}</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
@@ -489,7 +489,7 @@
       <span class="na">discovery</span><span class="pi">:</span>
 <span class="err">      	</span><span class="na">register</span><span class="pi">:</span> <span class="no">false</span>
       <span class="s">host</span><span class="pi">:</span> <span class="s">0.0.0.0</span>
-      <span class="s">port</span><span class="pi">:</span> <span class="s">8500</span>
+      <span class="s">port</span><span class="pi">:</span> <span class="m">8500</span>
       
 <span class="na">alpha</span><span class="pi">:</span>
   <span class="na">cluster</span><span class="pi">:</span>
diff --git a/content/cn/docs/servicecomb-pack-eureka/index.html b/content/cn/docs/servicecomb-pack-eureka/index.html
index cb922af..0189ce6 100644
--- a/content/cn/docs/servicecomb-pack-eureka/index.html
+++ b/content/cn/docs/servicecomb-pack-eureka/index.html
@@ -409,7 +409,7 @@
 
 <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/apache/servicecomb-pack.git
 <span class="nb">cd </span>servicecomb-pack
-mvn clean install <span class="nt">-DskipTests</span><span class="o">=</span><span class="nb">true</span> <span class="nt">-Pspring-boot-2</span>,spring-cloud-eureka
+mvn clean <span class="nb">install</span> <span class="nt">-DskipTests</span><span class="o">=</span><span class="nb">true</span> <span class="nt">-Pspring-boot-2</span>,spring-cloud-eureka
 </code></pre></div></div>
 
 <h3 id="启动-eureka">启动 Eureka</h3>
diff --git a/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html b/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
index f7d3182..2300354 100644
--- a/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
+++ b/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
@@ -540,8 +540,8 @@
 <span class="c1">//这个注解使Spring能够自动配置ServiceComb模块</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloApplication</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">HelloApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+        <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">HelloApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
     <span class="o">}</span>
 <span class="o">}</span>
 
@@ -561,7 +561,7 @@
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloController</span> <span class="o">{</span>
 
     <span class="nd">@GetMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">)</span>
-    <span class="kd">public</span> <span class="n">String</span> <span class="nf">hello</span><span class="o">(</span><span class="nd">@PathVariable</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="nc">String</span> <span class="nf">hello</span><span class="o">(</span><span class="nd">@PathVariable</span><span class="o">(</span><span class="s">"name"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
         <span class="k">return</span> <span class="s">"Hello, "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
     <span class="o">}</span>
 
@@ -648,7 +648,7 @@
   <span class="na">routes</span><span class="pi">:</span>         <span class="c1"># 定义路由转发规则。凡是匹配/helloservice/**的路由都会转发到helloservice服务</span>
     <span class="na">helloservice</span><span class="pi">:</span> <span class="s">/helloservice/**</span>
 <span class="na">server</span><span class="pi">:</span>            
-  <span class="na">port</span><span class="pi">:</span> <span class="s">8080</span>     <span class="c1">#SpringBoot框架的配置,服务启动端口</span>
+  <span class="na">port</span><span class="pi">:</span> <span class="m">8080</span>     <span class="c1">#SpringBoot框架的配置,服务启动端口</span>
 </code></pre></div></div>
 <p>新建ServiceComb配置文件src/main/resources/microservice.yaml,内容如下</p>
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">APPLICATION_ID</span><span class="pi">:</span> <span class="s">helloworld</span>   <span class="c1"># 应用ID</span>
@@ -674,8 +674,8 @@
 <span class="nd">@EnableZuulProxy</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZuulApplication</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZuulApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+        <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ZuulApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -710,21 +710,21 @@
 <span class="nt">&lt;script&gt;</span>
     <span class="kd">function</span> <span class="nx">testCall</span><span class="p">()</span> <span class="p">{</span>
 
-        <span class="kd">var</span> <span class="nx">username</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s2">"#username"</span><span class="p">).</span><span class="nx">val</span><span class="p">();</span>
+        <span class="kd">var</span> <span class="nx">username</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">"</span><span class="s2">#username</span><span class="dl">"</span><span class="p">).</span><span class="nx">val</span><span class="p">();</span>
 
         <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">username</span><span class="p">){</span>
             <span class="k">return</span>
         <span class="p">}</span>
 
         <span class="nx">$</span><span class="p">.</span><span class="nx">ajax</span><span class="p">({</span>
-            <span class="na">url</span><span class="p">:</span> <span class="s2">"/helloservice/hello/"</span><span class="o">+</span><span class="nx">username</span><span class="p">,</span>
+            <span class="na">url</span><span class="p">:</span> <span class="dl">"</span><span class="s2">/helloservice/hello/</span><span class="dl">"</span><span class="o">+</span><span class="nx">username</span><span class="p">,</span>
             <span class="na">success</span><span class="p">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
-                <span class="kd">var</span> <span class="nx">resultDiv</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"resultDiv"</span><span class="p">);</span>
+                <span class="kd">var</span> <span class="nx">resultDiv</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="dl">"</span><span class="s2">resultDiv</span><span class="dl">"</span><span class="p">);</span>
                 <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span>
                 <span class="nx">resultDiv</span><span class="p">.</span><span class="nx">innerText</span> <span class="o">=</span> <span class="nx">data</span><span class="p">;</span>
             <span class="p">},</span>
             <span class="na">error</span><span class="p">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
-                <span class="kd">var</span> <span class="nx">resultDiv</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">"resultDiv"</span><span class="p">);</span>
+                <span class="kd">var</span> <span class="nx">resultDiv</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="dl">"</span><span class="s2">resultDiv</span><span class="dl">"</span><span class="p">);</span>
                 <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span>
                 <span class="nx">resultDiv</span><span class="p">.</span><span class="nx">innerText</span> <span class="o">=</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
             <span class="p">}</span>
diff --git a/content/cn/docs/stress-test-on-company-with-jmeter-in-k8s/index.html b/content/cn/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
index 1687931..a2371ca 100644
--- a/content/cn/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
+++ b/content/cn/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
@@ -509,7 +509,7 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
   <li>
     <p>在每个测试从节点上运行<em>jmeter-server</em>,其运行指令如下:</p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jmeter-server <span class="nt">-Djava</span>.rmi.server.hostname<span class="o">=</span><span class="k">$(</span>ifconfig eth0 | <span class="nb">grep</span> <span class="s2">"inet addr"</span> | awk <span class="s1">'{print $2}'</span> | cut <span class="nt">-d</span> <span class="s2">":"</span> <span class="nt">-f2</span><span class="k">)</span>
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jmeter-server <span class="nt">-Djava</span>.rmi.server.hostname<span class="o">=</span><span class="si">$(</span>ifconfig eth0 | <span class="nb">grep</span> <span class="s2">"inet addr"</span> | <span class="nb">awk</span> <span class="s1">'{print $2}'</span> | <span class="nb">cut</span> <span class="nt">-d</span> <span class="s2">":"</span> <span class="nt">-f2</span><span class="si"> [...]
 </code></pre></div>    </div>
   </li>
   <li>
diff --git a/content/cn/faqs/faqs-huawei-cloud/index.html b/content/cn/faqs/faqs-huawei-cloud/index.html
index 7e97e2a..9dfd725 100644
--- a/content/cn/faqs/faqs-huawei-cloud/index.html
+++ b/content/cn/faqs/faqs-huawei-cloud/index.html
@@ -308,7 +308,7 @@
     <meta itemprop="headline" content="华为公有云常见问题">
     <meta itemprop="description" content="华为公有云常见问题">
     
-    <meta itemprop="dateModified" content="October 30, 2017">
+    <meta itemprop="dateModified" content="October 29, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/faqs/index.html b/content/cn/faqs/index.html
index cb08d3c..8c19eb9 100644
--- a/content/cn/faqs/index.html
+++ b/content/cn/faqs/index.html
@@ -308,7 +308,7 @@
     <meta itemprop="headline" content="常见问题">
     <meta itemprop="description" content="常见问题">
     
-    <meta itemprop="dateModified" content="October 30, 2017">
+    <meta itemprop="dateModified" content="October 29, 2017">
 
     <div class="page__inner-wrap">
       
@@ -390,7 +390,7 @@
 
     <p>A: 对于正常的返回值,可以通过SwaggerAnnotation实现,例如:</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">300</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <span [...]
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">300</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <spa [...]
  <span class="kd">public</span> <span class="kt">int</span> <span class="nf">test</span><span class="o">(</span><span class="kt">int</span> <span class="n">x</span><span class="o">)</span> <span class="o">{</span>
    <span class="k">return</span> <span class="mi">100</span><span class="o">;</span>
  <span class="o">}</span>
@@ -398,17 +398,17 @@
 
     <p>对于异常的返回值,可以通过抛出自定义的InvocationException实现,例如:、</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="n">String</span> <span class="nf">testException</span><span class="o">(</span><span class="kt">int</span> <span class="n">code</span><span class="o">)</span> <span class="o">{</span>
-   <span class="n">String</span> <span class="n">strCode</span> <span class="o">=</span> <span class="n">String</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">code</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="nc">String</span> <span class="nf">testException</span><span class="o">(</span><span class="kt">int</span> <span class="n">code</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nc">String</span> <span class="n">strCode</span> <span class="o">=</span> <span class="nc">String</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">code</span><span class="o">);</span>
      <span class="k">switch</span> <span class="o">(</span><span class="n">code</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">case</span> <span class="mi">200</span><span class="o">:</span>
          <span class="k">return</span> <span class="n">strCode</span><span class="o">;</span>
        <span class="k">case</span> <span class="mi">456</span><span class="o">:</span>
          <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">code</span><span class="o">,</span> <span class="n">strCode</span><span class="o">,</span> <span class="n">strCode</span> <span class="o">+</span> <span class="s">" error"</span><span class="o">);</span>
        <span class="k">case</span> <span class="mi">556</span><span class="o">:</span>
-         <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">code</span><span class="o">,</span> <span class="n">strCode</span><span class="o">,</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">strCode</span> <span class="o">+</span> <span class="s">" error"</span><span class="o">));</span>
+         <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">code</span><span class="o">,</span> <span class="n">strCode</span><span class="o">,</span> <span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">strCode</span> <span class="o">+</span> <span class="s">" error"</span><span class="o">));</span>
        <span class="k">case</span> <span class="mi">557</span><span class="o">:</span>
-         <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">code</span><span class="o">,</span> <span class="n">strCode</span><span class="o">,</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">strCode</span> <span cl [...]
+         <span class="k">throw</span> <span class="k">new</span> <span class="nf">InvocationException</span><span class="o">(</span><span class="n">code</span><span class="o">,</span> <span class="n">strCode</span><span class="o">,</span> <span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">strCode</span> <span  [...]
        <span class="k">default</span><span class="o">:</span>
          <span class="k">break</span><span class="o">;</span>
      <span class="o">}</span>
@@ -564,17 +564,17 @@
     <p>A:
  透传数据塞入:</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">CseHttpEntity</span><span class="o">&lt;</span><span class="n">xxxx</span><span class="o">.</span><span class="na">class</span><span class="o">&gt;</span> <span class="n">httpEntity</span> <span class="o">=</span> <span class="k">new</span> <span class="n">CseHttpEntity</span><span class="o">&lt;&gt;(</span><span class="n">xxx</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">CseHttpEntity</span><span class="o">&lt;</span><span class="n">xxxx</span><span class="o">.</span><span class="na">class</span><span class="o">&gt;</span> <span class="n">httpEntity</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">CseHttpEntity</span><span class="o">&lt;&gt;(</span><span class="n">xxx</span><span class="o">);</span>
  <span class="c1">//透传内容</span>
  <span class="n">httpEntity</span><span class="o">.</span><span class="na">addContext</span><span class="o">(</span><span class="s">"contextKey"</span><span class="o">,</span><span class="s">"contextValue"</span><span class="o">);</span>
- <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">().</span><span class="na">exchange</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span><span class="n">HttpMethod</span><span cl [...]
+ <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">().</span><span class="na">exchange</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span><span class="nc">HttpMethod</span><spa [...]
 </code></pre></div>    </div>
 
     <p>透传数据获取:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@Override</span>
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
- <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">,</span><span class="n">InvocationContext</span> <span class="n">context</span><span class="o">){</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span><span class="o">=</span><span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+ <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">,</span><span class="nc">InvocationContext</span> <span class="n">context</span><span class="o">){</span>
    <span class="c1">//透传数据获取</span>
    <span class="n">context</span><span class="o">.</span><span class="na">getContext</span><span class="o">();</span>
    <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
@@ -586,11 +586,11 @@
 
     <p>A:</p>
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nd">@Override</span>
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
- <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">){</span>
-   <span class="n">InvocationContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">ContextUtils</span><span class="o">.</span><span class="na">getInvocationContext</span><span class="o">();</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span><span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+ <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">){</span>
+   <span class="nc">InvocationContext</span> <span class="n">context</span> <span class="o">=</span> <span class="nc">ContextUtils</span><span class="o">.</span><span class="na">getInvocationContext</span><span class="o">();</span>
    <span class="c1">//自定义状态码</span>
-   <span class="n">context</span><span class="o">.</span><span class="na">setStatus</span><span class="o">(</span><span class="n">Status</span><span class="o">.</span><span class="na">CREATED</span><span class="o">);</span>
+   <span class="n">context</span><span class="o">.</span><span class="na">setStatus</span><span class="o">(</span><span class="nc">Status</span><span class="o">.</span><span class="na">CREATED</span><span class="o">);</span>
    <span class="k">return</span> <span class="s">"Hello person "</span><span class="o">+</span><span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -608,10 +608,10 @@
 
     <p>A: 如果使用http rest方式(使用transport-rest-vertx依赖)可以用下面这种方式获取:</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">AbstractProducerContextArgMapper</span> <span class="n">httpRequestCreator</span> <span class="o">=</span> <span class="o">(</span><span class="n">AbstractProducerContextArgMapper</span><span class="o">)</span><span class="n">invocation</span><span class="o">.</span><span class="na">getHandlerContext</span><span class="o">().</span><span class="na">get</span><span class=" [...]
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">AbstractProducerContextArgMapper</span> <span class="n">httpRequestCreator</span> <span class="o">=</span> <span class="o">(</span><span class="nc">AbstractProducerContextArgMapper</span><span class="o">)</span><span class="n">invocation</span><span class="o">.</span><span class="na">getHandlerContext</span><span class="o">().</span><span class="na">get</span><span class [...]
  <span class="k">if</span><span class="o">(</span><span class="n">httpRequestCreator</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">){</span>
-   <span class="n">HttpServletRequest</span> <span class="n">req</span> <span class="o">=</span> <span class="o">(</span><span class="n">HttpServletRequest</span><span class="o">)</span><span class="n">httpRequestCreator</span><span class="o">.</span><span class="na">createContextArg</span><span class="o">(</span><span class="n">invocation</span><span class="o">);</span>
-   <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">req</span><span class="o">.</span><span class="na">getRemoteHost</span><span class="o">());</span>
+   <span class="nc">HttpServletRequest</span> <span class="n">req</span> <span class="o">=</span> <span class="o">(</span><span class="nc">HttpServletRequest</span><span class="o">)</span><span class="n">httpRequestCreator</span><span class="o">.</span><span class="na">createContextArg</span><span class="o">(</span><span class="n">invocation</span><span class="o">);</span>
+   <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">req</span><span class="o">.</span><span class="na">getRemoteHost</span><span class="o">());</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
 
@@ -743,7 +743,7 @@
 
     <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="na">servicecomb</span><span class="pi">:</span>
    <span class="na">request</span><span class="pi">:</span>
-     <span class="na">timeout</span><span class="pi">:</span> <span class="s">30000</span>
+     <span class="na">timeout</span><span class="pi">:</span> <span class="m">30000</span>
 </code></pre></div>    </div>
   </li>
   <li>
@@ -844,8 +844,8 @@
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OutputForTest</span><span class="o">{</span>
 <span class="nd">@JsonIgnore</span>
-<span class="kd">private</span> <span class="n">String</span> <span class="n">outputId</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-<span class="kd">private</span> <span class="n">String</span> <span class="n">inputId</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
+<span class="kd">private</span> <span class="nc">String</span> <span class="n">outputId</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
+<span class="kd">private</span> <span class="nc">String</span> <span class="n">inputId</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
 <span class="o">...</span>
 <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/users/application-boot-process/index.html b/content/cn/users/application-boot-process/index.html
index 33b079c..3503e63 100644
--- a/content/cn/users/application-boot-process/index.html
+++ b/content/cn/users/application-boot-process/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="程序启动逻辑">
     <meta itemprop="description" content="程序启动逻辑">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/communicate-protocol/index.html b/content/cn/users/communicate-protocol/index.html
index df95fbd..ebc7959 100644
--- a/content/cn/users/communicate-protocol/index.html
+++ b/content/cn/users/communicate-protocol/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="通信协议">
     <meta itemprop="description" content="通信协议">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -583,7 +583,7 @@
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">rest</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span>
-    <span class="na">timeout</span><span class="pi">:</span> <span class="s">3000</span>
+    <span class="na">timeout</span><span class="pi">:</span> <span class="m">3000</span>
 </code></pre></div></div>
 
 <h2 id="rest-over-vertx">REST over Vertx</h2>
@@ -595,9 +595,9 @@
 <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainServer</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-  <span class="err"> </span><span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span><span class="c1">//日志初始化</span>
-  <span class="err"> </span><span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="c1">// Spring bean初始化</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+  <span class="err"> </span><span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span><span class="c1">//日志初始化</span>
+  <span class="err"> </span><span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="c1">// Spring bean初始化</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -692,7 +692,7 @@
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">rest</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span>
-    <span class="na">thread-count</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">thread-count</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">references</span><span class="pi">:</span>
     <span class="na">hello</span><span class="pi">:</span>
       <span class="na">transport</span><span class="pi">:</span> <span class="s">rest</span>
diff --git a/content/cn/users/customized-tracing/index.html b/content/cn/users/customized-tracing/index.html
index ce48c99..4b7d5c0 100644
--- a/content/cn/users/customized-tracing/index.html
+++ b/content/cn/users/customized-tracing/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="自定义调用链打点">
     <meta itemprop="description" content="自定义调用链打点">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -431,8 +431,8 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableZipkinTracing</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZipkinSpanTestApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZipkinSpanTestApplication</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ZipkinSpanTestApplication</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -442,16 +442,16 @@
 <p>在需要定制打点的方法上添加<code class="highlighter-rouge">@Span</code>注释:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Component</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SlowRepoImpl</span> <span class="kd">implements</span> <span class="n">SlowRepo</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">SlowRepoImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SlowRepoImpl</span> <span class="kd">implements</span> <span class="nc">SlowRepo</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">SlowRepoImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Random</span> <span class="n">random</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Random</span> <span class="n">random</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Random</span><span class="o">();</span>
 
   <span class="nd">@Span</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">crawl</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">InterruptedException</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">crawl</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">InterruptedException</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"in /crawl"</span><span class="o">);</span>
-    <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">random</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="mi">200</span><span class="o">));</span>
+    <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">random</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="mi">200</span><span class="o">));</span>
     <span class="k">return</span> <span class="s">"crawled"</span><span class="o">;</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -493,7 +493,7 @@
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">CustomSpanTask</span> <span class="o">{</span>
     <span class="nd">@Span</span><span class="o">(</span><span class="n">spanName</span> <span class="o">=</span> <span class="s">"transaction1"</span><span class="o">,</span> <span class="n">callPath</span> <span class="o">=</span> <span class="s">"startA"</span><span class="o">)</span>
-    <span class="kd">public</span> <span class="n">String</span> <span class="nf">invoke</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="nc">String</span> <span class="nf">invoke</span><span class="o">()</span> <span class="o">{</span>
       <span class="k">return</span> <span class="s">"invoke the method"</span><span class="o">;</span>
     <span class="o">}</span>
   <span class="o">}</span>
diff --git a/content/cn/users/develop-with-jax-rs/index.html b/content/cn/users/develop-with-jax-rs/index.html
index 7e982c9..cea62a2 100644
--- a/content/cn/users/develop-with-jax-rs/index.html
+++ b/content/cn/users/develop-with-jax-rs/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="用JAX-RS开发微服务">
     <meta itemprop="description" content="用JAX-RS开发微服务">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -438,17 +438,17 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
  <span class="nd">@Path</span><span class="o">(</span><span class="s">"/jaxrshello"</span><span class="o">)</span>
- <span class="nd">@Produces</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@Produces</span><span class="o">(</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="o">{</span>
    <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhi"</span><span class="o">)</span>
    <span class="nd">@POST</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
    <span class="err"> </span><span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
    <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhello"</span><span class="o">)</span>
    <span class="nd">@POST</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
@@ -466,7 +466,7 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.provider.rest.common.RestSchema</span><span class="o">;</span>
  <span class="c1">// other code omitted</span>
  <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"jaxrsHello"</span><span class="o">)</span>
- <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="c1">// other code omitted</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -496,10 +496,10 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//初始化日志, 加载Bean(包括它们的参数), 以及注册Service, 更多信息可以参见文档 : https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/users/develop-with-rest-template/index.html b/content/cn/users/develop-with-rest-template/index.html
index 07a4624..7bf10bc 100644
--- a/content/cn/users/develop-with-rest-template/index.html
+++ b/content/cn/users/develop-with-rest-template/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用Rest Template方式开发">
     <meta itemprop="description" content="使用Rest Template方式开发">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -405,23 +405,23 @@
 
 <span class="nd">@Component</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcConsumerMain</span> <span class="o">{</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">RestTemplate</span> <span class="n">restTemplate</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="nc">RestTemplate</span> <span class="n">restTemplate</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
         <span class="n">init</span><span class="o">();</span>
-        <span class="n">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Person</span><span class="o">();</span>
+        <span class="nc">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Person</span><span class="o">();</span>
         <span class="n">person</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">"ServiceComb/Java Chassis"</span><span class="o">);</span>
-        <span class="n">String</span> <span class="n">sayHiResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
-                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhi?name=Java Chassis"</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-        <span class="n">String</span> <span class="n">sayHelloResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
-                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span> <span class="n">person</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhi services: "</span> <span class="o">+</span> <span class="n">sayHiResult</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhello services: "</span> <span class="o">+</span> <span class="n">sayHelloResult</span><span class="o">);</span>
+        <span class="nc">String</span> <span class="n">sayHiResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
+                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhi?name=Java Chassis"</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="nc">String</span> <span class="n">sayHelloResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
+                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span> <span class="n">person</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhi services: "</span> <span class="o">+</span> <span class="n">sayHiResult</span><span class="o">);</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhello services: "</span> <span class="o">+</span> <span class="n">sayHelloResult</span><span class="o">);</span>
     <span class="o">}</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/cn/users/develop-with-rpc/index.html b/content/cn/users/develop-with-rpc/index.html
index a46cbdd..eca38c9 100644
--- a/content/cn/users/develop-with-rpc/index.html
+++ b/content/cn/users/develop-with-rpc/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用RPC方式开发">
     <meta itemprop="description" content="使用RPC方式开发">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -404,19 +404,19 @@
 <span class="nd">@Component</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CodeFirstConsumerMain</span> <span class="o">{</span>
     <span class="nd">@RpcReference</span><span class="o">(</span><span class="n">microserviceName</span> <span class="o">=</span> <span class="s">"codefirst"</span><span class="o">,</span> <span class="n">schemaId</span> <span class="o">=</span> <span class="s">"codeFirstHello"</span><span class="o">)</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Hello</span> <span class="n">hello</span><span class="o">;</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="nc">Hello</span> <span class="n">hello</span><span class="o">;</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
         <span class="n">init</span><span class="o">();</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"Java Chassis"</span><span class="o">));</span>
-        <span class="n">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Person</span><span class="o">();</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"Java Chassis"</span><span class="o">));</span>
+        <span class="nc">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Person</span><span class="o">();</span>
         <span class="n">person</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">"ServiceComb/Java Chassis"</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHello</span><span class="o">(</span><span class="n">person</span><span class="o">));</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHello</span><span class="o">(</span><span class="n">person</span><span class="o">));</span>
     <span class="o">}</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -434,24 +434,24 @@
 
 <p>然后就可以使用<code class="highlighter-rouge">BeanUtils.getBean</code>直接获取服务提供者的服务接口<code class="highlighter-rouge">Hello</code>:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"hello"</span><span class="o">);</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"hello"</span><span class="o">);</span>
 </code></pre></div></div>
 
 <h4 id="方式2获取bean再获取接口">方式2:获取Bean,再获取接口</h4>
 <p>先使用<code class="highlighter-rouge">BeanUtils.getBean</code>获取到CodeFirstConsumerMain这个Bean:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">//Spring Bean 实例默认名为类名的小写</span>
-<span class="n">CodeFirstConsumerMain</span> <span class="n">consumer</span> <span class="o">=</span> <span class="n">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"codeFirstConsumerMain"</span><span class="o">);</span>
+<span class="nc">CodeFirstConsumerMain</span> <span class="n">consumer</span> <span class="o">=</span> <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"codeFirstConsumerMain"</span><span class="o">);</span>
 </code></pre></div></div>
 
 <p>然后按Getter的方式获取hello:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Hello</span> <span class="nf">getHello</span><span class="o">()</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Hello</span> <span class="nf">getHello</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">hello</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">consumer</span><span class="o">.</span><span class="na">getHello</span><span class="o">()</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">consumer</span><span class="o">.</span><span class="na">getHello</span><span class="o">()</span>
 </code></pre></div></div>
 
 <blockquote>
diff --git a/content/cn/users/develop-with-spring-boot-starter/index.html b/content/cn/users/develop-with-spring-boot-starter/index.html
index 026d87f..60bb308 100644
--- a/content/cn/users/develop-with-spring-boot-starter/index.html
+++ b/content/cn/users/develop-with-spring-boot-starter/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="用Spring Boot Starter开发微服务">
     <meta itemprop="description" content="用Spring Boot Starter开发微服务">
     
-    <meta itemprop="dateModified" content="April 24, 2018">
+    <meta itemprop="dateModified" content="April 23, 2018">
 
     <div class="page__inner-wrap">
       
@@ -441,15 +441,15 @@
  <span class="kn">import</span> <span class="nn">org.springframework.web.bind.annotation.RequestParam</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
    
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="o">{</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
  <span class="err"> </span><span class="o">}</span>
  <span class="o">}</span>
@@ -510,8 +510,8 @@ Spring Boot已经包含了默认的Bean扫描策略,如果能够保证Spring B
   <span class="c1">//EnableServiceComb注解用于在Spring Boot程序内拉起ServiceComb</span>
   <span class="nd">@EnableServiceComb</span>
   <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+      <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
     <span class="o">}</span>
   <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/users/develop-with-springmvc/index.html b/content/cn/users/develop-with-springmvc/index.html
index 4acc4ca..587ec81 100644
--- a/content/cn/users/develop-with-springmvc/index.html
+++ b/content/cn/users/develop-with-springmvc/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="用SpringMVC开发微服务">
     <meta itemprop="description" content="用SpringMVC开发微服务">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -438,15 +438,15 @@
  <span class="kn">import</span> <span class="nn">org.springframework.web.bind.annotation.RequestParam</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
    
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="o">{</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
  <span class="err"> </span><span class="o">}</span>
  <span class="o">}</span>
@@ -495,10 +495,10 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//初始化日志, 加载Bean(包括它们的参数), 以及注册Service, 更多信息可以参见文档 : https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/users/develop-with-transparent-rpc/index.html b/content/cn/users/develop-with-transparent-rpc/index.html
index 652cf2f..0a7bafe 100644
--- a/content/cn/users/develop-with-transparent-rpc/index.html
+++ b/content/cn/users/develop-with-transparent-rpc/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="用透明RPC开发微服务">
     <meta itemprop="description" content="用透明RPC开发微服务">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -431,8 +431,8 @@
     <p>根据开发之前定义好的契约,编写Java业务接口,代码如下:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">interface</span> <span class="nc">Hello</span> <span class="o">{</span>
-   <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">);</span>
-   <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">);</span>
+   <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">);</span>
+   <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
   </li>
@@ -444,14 +444,14 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.Hello</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
- <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
@@ -487,14 +487,14 @@
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">org.apache.servicecomb.provider.pojo.RpcSchema</span><span class="o">;</span>
 <span class="nd">@RpcSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"pojoHello"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
  
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
 <span class="o">}</span>
@@ -537,10 +537,10 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//初始化日志, 加载Bean(包括它们的参数), 以及注册Service, 更多信息可以参见文档 : https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/cn/users/distributed-tracing/index.html b/content/cn/users/distributed-tracing/index.html
index 7f29bb5..9bd1d65 100644
--- a/content/cn/users/distributed-tracing/index.html
+++ b/content/cn/users/distributed-tracing/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="分布式调用链追踪">
     <meta itemprop="description" content="分布式调用链追踪">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/dynamic-config/index.html b/content/cn/users/dynamic-config/index.html
index e5e325b..30dca81 100644
--- a/content/cn/users/dynamic-config/index.html
+++ b/content/cn/users/dynamic-config/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="动态配置">
     <meta itemprop="description" content="动态配置">
     
-    <meta itemprop="dateModified" content="January 12, 2018">
+    <meta itemprop="dateModified" content="January 11, 2018">
 
     <div class="page__inner-wrap">
       
@@ -458,7 +458,7 @@
        <span class="na">clusters</span><span class="pi">:</span> <span class="s">default</span>
        <span class="na">namespace</span><span class="pi">:</span> <span class="s">application</span>
        <span class="na">token</span><span class="pi">:</span> <span class="s">testtoken</span>
-       <span class="na">refreshInterval</span><span class="pi">:</span> <span class="s">10</span>
+       <span class="na">refreshInterval</span><span class="pi">:</span> <span class="m">10</span>
 </code></pre></div></div>
 <p>​	<code class="highlighter-rouge">apollo.config</code>下的配置项是用户创建的应用参数,包括服务地址,用户名,集群,namespace,token等参数。这些参数可以在配置中心页面项目信息栏中查到。需要注意的是<code class="highlighter-rouge">refreshInterval: 10</code>表示应用会每隔10秒去配置中心查询一次最新的配置信息,不配置此项默认刷新周期为30秒。
   <code class="highlighter-rouge">serviceName</code>对应Apollo中的第三发应用ID: <code class="highlighter-rouge">AppId</code>.</p>
@@ -470,14 +470,14 @@
 <p>​	代码中可以使用<code class="highlighter-rouge">DynamicPropertyFactory.getInstance().getProperty()</code>方法来获取具体的配置项值,<code class="highlighter-rouge">getProperty</code>方法可以根据配置项具体的类型来灵活使用,比如<code class="highlighter-rouge">getIntProperty()</code>,<code class="highlighter-rouge">getStringProperty()</code>等。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>   <span class="kd">public</span> <span class="kd">class</span> <span class="nc">XXX</span> <span class="o">{</span>
-      <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
         <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">DynamicIntProperty</span> <span class="n">timeout</span> <span class="o">=</span> <span class="n">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span>
+          <span class="nc">DynamicIntProperty</span> <span class="n">timeout</span> <span class="o">=</span> <span class="nc">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span>
             <span class="n">getIntProperty</span><span class="o">(</span><span class="s">"timeout"</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">);</span>
-          <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">timeout</span><span class="o">);</span>
-          <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
+          <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">timeout</span><span class="o">);</span>
+          <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
         <span class="o">}</span>
       <span class="o">}</span>
     <span class="o">}</span>
diff --git a/content/cn/users/edge-in-1.0.0-m1/index.html b/content/cn/users/edge-in-1.0.0-m1/index.html
index 6fcb08e..7dfaaf5 100644
--- a/content/cn/users/edge-in-1.0.0-m1/index.html
+++ b/content/cn/users/edge-in-1.0.0-m1/index.html
@@ -438,14 +438,14 @@
 
 <h4 id="init方法">init方法</h4>
 <p>初始化Dispatcher的路由规则,使用的是<a href="https://vertx.io/docs/vertx-web/java/#_routing_by_exact_path">Vertx路由规则</a>,例如我们添加两条匹配策略:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="n">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
-  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="nc">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
+  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="nc">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">createBodyHandler</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">failureHandler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onFailure</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onRequest</span><span class= [...]
 
   <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
-  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
+  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="nc">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">createBodyHandler</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">failureHandler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onFailure</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onRequest</span><span class= [...]
 <span class="o">}</span>
@@ -458,11 +458,11 @@
 
 <h4 id="onrequest方法">onRequest方法</h4>
 <p>转发策略,方法原型为:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="n">RoutingContext</span> <span class="n">context</span><span class="o">)</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="nc">RoutingContext</span> <span class="n">context</span><span class="o">)</span>
 </code></pre></div></div>
 
 <p>从context中可以获取到请求目标微服务名,path等信息,之后创建EdgeInvocation并初始化,完成调用:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="n">EdgeInvocation</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EdgeInvocation</span><span class="o">();</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">setVersionRule</span><span class="o">(</span><span class="n">versionRule</span><span class="o">);</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">init</span><span class="o">(</span><span class="n">serviceName</span><span class="o">,</span> <span class="n">context</span><span class="o">,</span> <span class="n">path</span><span class="o">,</span> <span class="n">httpServerFilters</span><span class="o">);</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">edgeInvoke</span><span class="o">();</span>
diff --git a/content/cn/users/edging-service/nginx/index.html b/content/cn/users/edging-service/nginx/index.html
index 75cf8a1..773870b 100644
--- a/content/cn/users/edging-service/nginx/index.html
+++ b/content/cn/users/edging-service/nginx/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用confd和Nginx做边缘服务">
     <meta itemprop="description" content="使用confd和Nginx做边缘服务">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -475,23 +475,23 @@
 
 <ul>
   <li>获取所有微服务信息
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">Microservice</span><span class="o">&gt;</span> <span class="nf">getAllMicroservices</span><span class="o">();</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">Microservice</span><span class="o">&gt;</span> <span class="nf">getAllMicroservices</span><span class="o">();</span>
 </code></pre></div>    </div>
   </li>
   <li>获取微服务唯一标识
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">String</span> <span class="nf">getMicroserviceId</span><span class="o">(</span><span class="n">String</span> <span class="n">appId</span><span class="o">,</span> <span class="n">String</span> <span class="n">microserviceName</span><span class="o">,</span> <span class="n">String</span> <span class="n">versionRule</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">String</span> <span class="nf">getMicroserviceId</span><span class="o">(</span><span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">microserviceName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">versionRule</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>根据微服务唯一标识查询微服务静态信息
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">Microservice</span> <span class="nf">getMicroservice</span><span class="o">(</span><span class="n">String</span> <span class="n">microserviceId</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">Microservice</span> <span class="nf">getMicroservice</span><span class="o">(</span><span class="nc">String</span> <span class="n">microserviceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>根据多个微服务唯一标识查询所有微服务实例信息
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">getMicroserviceInstance</span><span class="o">(</span><span class="n">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="n">String</span> <span class="n">providerId</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">getMicroserviceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">providerId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>按照app+interface+version查询实例endpoints信息
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">findServiceInstance</span><span class="o">(</span><span class="n">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="n">String</span> <span class="n">appId</span><span class="o">,</span> <span class="n">String</spa [...]
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">findServiceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String [...]
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/cn/users/edging-service/zuul/index.html b/content/cn/users/edging-service/zuul/index.html
index 2a1d4ba..6748969 100644
--- a/content/cn/users/edging-service/zuul/index.html
+++ b/content/cn/users/edging-service/zuul/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用Zuul做边缘服务">
     <meta itemprop="description" content="使用Zuul做边缘服务">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -454,8 +454,8 @@
  <span class="nd">@EnableServiceComb</span>
  <span class="nd">@EnableZuulProxy</span><span class="c1">//新增注解</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZuulMain</span><span class="o">{</span>
- <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span><span class="o">{</span>
-     <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZuulMain</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span><span class="o">{</span>
+     <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ZuulMain</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -464,7 +464,7 @@
     <p><strong>步骤 3</strong>在application.yml文件中定义路由策略:</p>
 
     <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="na">server</span><span class="pi">:</span>
-   <span class="na">port</span><span class="pi">:</span> <span class="s">8754</span> <span class="c1">#api gateway服务端口</span>
+   <span class="na">port</span><span class="pi">:</span> <span class="m">8754</span> <span class="c1">#api gateway服务端口</span>
  <span class="na">zuul</span><span class="pi">:</span>
    <span class="na">routes</span><span class="pi">:</span> <span class="c1">#路由策略</span>
      <span class="na">discoveryServer</span><span class="pi">:</span> <span class="s">/myServer/**</span> <span class="c1">#路由规则</span>
diff --git a/content/cn/users/healthcheck/index.html b/content/cn/users/healthcheck/index.html
index 4f360b5..3f563e5 100644
--- a/content/cn/users/healthcheck/index.html
+++ b/content/cn/users/healthcheck/index.html
@@ -420,28 +420,28 @@
 </table>
 
 <p>例如:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MySqlHealthChecker</span> <span class="kd">implements</span> <span class="n">HealthChecker</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MySqlHealthChecker</span> <span class="kd">implements</span> <span class="nc">HealthChecker</span> <span class="o">{</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"mysql"</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">HealthCheckResult</span> <span class="nf">check</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">HealthCheckResult</span> <span class="nf">check</span><span class="o">()</span> <span class="o">{</span>
     <span class="c1">//add your health check code here</span>
-    <span class="n">Connection</span> <span class="n">connection</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
+    <span class="nc">Connection</span> <span class="n">connection</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
     <span class="k">try</span> <span class="o">{</span>
-      <span class="n">connection</span> <span class="o">=</span> <span class="n">DriverManager</span><span class="o">.</span><span class="na">getConnection</span><span class="o">(</span><span class="s">"jdbc:mysql://localhost:3306/test_db?useSSL=false"</span><span class="o">,</span> <span class="s">"root"</span><span class="o">,</span> <span class="s">"pwd"</span><span class="o">);</span>
+      <span class="n">connection</span> <span class="o">=</span> <span class="nc">DriverManager</span><span class="o">.</span><span class="na">getConnection</span><span class="o">(</span><span class="s">"jdbc:mysql://localhost:3306/test_db?useSSL=false"</span><span class="o">,</span> <span class="s">"root"</span><span class="o">,</span> <span class="s">"pwd"</span><span class="o">);</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">HealthCheckResult</span><span class="o">(</span><span class="kc">true</span><span class="o">,</span> <span class="s">"local mysql health check"</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
-    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Cannot connect the localhost mysql. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Cannot connect the localhost mysql. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">HealthCheckResult</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"local mysql health check"</span><span class="o">,</span> <span class="n">e</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
     <span class="o">}</span> <span class="k">finally</span> <span class="o">{</span>
       <span class="k">if</span> <span class="o">(</span><span class="n">connection</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
         <span class="k">try</span> <span class="o">{</span>
           <span class="n">connection</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
-        <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Close connect the localhost mysql error. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+        <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+          <span class="no">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Close connect the localhost mysql error. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
         <span class="o">}</span>
       <span class="o">}</span>
     <span class="o">}</span>
diff --git a/content/cn/users/invoke-control/index.html b/content/cn/users/invoke-control/index.html
index 16c7bbb..1401171 100644
--- a/content/cn/users/invoke-control/index.html
+++ b/content/cn/users/invoke-control/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="调用控制">
     <meta itemprop="description" content="调用控制">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/local-develop-test/index.html b/content/cn/users/local-develop-test/index.html
index e99cfcf..cbadb50 100644
--- a/content/cn/users/local-develop-test/index.html
+++ b/content/cn/users/local-develop-test/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="本地开发与测试">
     <meta itemprop="description" content="本地开发与测试">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -441,10 +441,10 @@
     <p><strong>步骤 2</strong>在服务消费者Main函数首末添加如下代码:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxClient</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-   <span class="n">System</span><span class="o">.</span><span class="na">setProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">,</span> <span class="s">"/path/registry.yaml"</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nc">System</span><span class="o">.</span><span class="na">setProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">,</span> <span class="s">"/path/registry.yaml"</span><span class="o">);</span>
    <span class="c1">//your code</span>
-   <span class="n">System</span><span class="o">.</span><span class="na">clearProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">);</span>
+   <span class="nc">System</span><span class="o">.</span><span class="na">clearProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
   </li>
diff --git a/content/cn/users/manage_springcloud_application_using_sc_and_gs/index.html b/content/cn/users/manage_springcloud_application_using_sc_and_gs/index.html
index cd49b48..376e008 100644
--- a/content/cn/users/manage_springcloud_application_using_sc_and_gs/index.html
+++ b/content/cn/users/manage_springcloud_application_using_sc_and_gs/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用Service Center和治理中心管理Spring Cloud应用">
     <meta itemprop="description" content="使用Service Center和治理中心管理Spring Cloud应用">
     
-    <meta itemprop="dateModified" content="April 24, 2018">
+    <meta itemprop="dateModified" content="April 23, 2018">
 
     <div class="page__inner-wrap">
       
@@ -508,8 +508,8 @@
  <span class="nd">@SpringBootApplication</span>
  <span class="nd">@EnableServiceComb</span> <span class="c1">//新增注解</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxServer</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-     <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+     <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -519,11 +519,11 @@
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c1">// ControllerImpl.class:</span>
  <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"test"</span><span class="o">)</span>
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/compute"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">TEXT_PLAIN</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/compute"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">TEXT_PLAIN</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ControllerImpl</span> <span class="o">{</span>
    <span class="nd">@ResponseBody</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">add</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">add</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"hello"</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
  <span class="o">}</span>
diff --git a/content/cn/users/metrics-in-0.5.0/index.html b/content/cn/users/metrics-in-0.5.0/index.html
index ef04766..64cbfce 100644
--- a/content/cn/users/metrics-in-0.5.0/index.html
+++ b/content/cn/users/metrics-in-0.5.0/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="0.5.0版本中的监控">
     <meta itemprop="description" content="0.5.0版本中的监控">
     
-    <meta itemprop="dateModified" content="December 30, 2017">
+    <meta itemprop="dateModified" content="December 29, 2017">
 
     <div class="page__inner-wrap">
       
@@ -403,7 +403,7 @@
 <p>0.5.0版本的Metrics会在Java Chassis的Invocation中埋入计数器,也会使用Hystrix收集TPS和Latency,同时收集微服务实例的CPU使用率和内存使用量,最终通过输出日志的方式输出收集到的Metrics数据。<br />
 输入日志使用的是SLF4J作为日志框架,未与任何具体的日志框架绑定,我们会通过定向Logger名输出的方式将不同的Metrics输出为一个个独立的文件,因此需要在你的日志配置中添加对应的配置项,<a href="https://stackoverflow.com/questions/9652032/how-can-i-create-2-separate-log-files-with-one-log4j-config-file">这篇文章</a>详细说明了如果使用Log4j作为日志实现如何配置,而<a href="https://stackoverflow.com/questions/36643692/log4j2-multiple-appenders-the-same-output-is-written-to-multiple-files">这篇文章</a>则详细介绍了如果使用Log4j2作为日志需要如何配置。<br />
 Logger名指的是LoggerFactory.getLogger后的第一个参数:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">log</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="s">"${Logger名}"</span><span class="o">);</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">log</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="s">"${Logger名}"</span><span class="o">);</span>
 <span class="n">log</span><span class="o">.</span><span class="na">trace</span><span class="o">(</span><span class="s">"${Metric数据}"</span><span class="o">);</span>
 </code></pre></div></div>
 <p><strong>为不影响调试,log的输出级别为trace</strong></p>
@@ -491,9 +491,9 @@ Logger名指的是LoggerFactory.getLogger后的第一个参数:</p>
 <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="c1">#metrics数据采集时间(同样是写文件间隔),单位秒</span>
-    <span class="na">polltime</span><span class="pi">:</span> <span class="s">5</span>
+    <span class="na">polltime</span><span class="pi">:</span> <span class="m">5</span>
     <span class="c1">#如果metric是浮点数,输出结果保留几位小数,默认为1</span>
-    <span class="na">round_places</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">round_places</span><span class="pi">:</span> <span class="m">1</span>
     <span class="na">file</span><span class="pi">:</span>
       <span class="c1">#是否启用文件输出</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
diff --git a/content/cn/users/metrics-in-1.0.0-m1/index.html b/content/cn/users/metrics-in-1.0.0-m1/index.html
index 29df77b..12266e0 100644
--- a/content/cn/users/metrics-in-1.0.0-m1/index.html
+++ b/content/cn/users/metrics-in-1.0.0-m1/index.html
@@ -630,7 +630,7 @@ name包括:</p>
 <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="c1">#时间窗间隔,单位毫秒,默认为5000(5秒)</span>
-    <span class="na">window_time</span><span class="pi">:</span> <span class="s">5000</span>
+    <span class="na">window_time</span><span class="pi">:</span> <span class="m">5000</span>
 </code></pre></div></div>
 
 <p><strong>为了降低Metrics理解和使用难度,我们暂时不支持多周期</strong></p>
@@ -652,12 +652,12 @@ name包括:</p>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/metrics"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MetricsPublisher</span> <span class="o">{</span>
   <span class="nd">@ApiResponses</span><span class="o">({</span>
-      <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">400</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <span class="s">"illegal request content"</span><span class="o">),</span>
+      <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">400</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <span class="s">"illegal request content"</span><span class="o">),</span>
   <span class="o">})</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="nd">@CrossOrigin</span>
-  <span class="kd">public</span> <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="nf">measure</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
+  <span class="kd">public</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="nf">measure</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -673,8 +673,8 @@ name包括:</p>
 
 <h3 id="直接获取">直接获取</h3>
 <p>从上面的代码可以看到,数据提供的入口是org.apache.servicecomb.metrics.core.MonitorManager,因此如果你希望自己开发数据发布程序,只需要获取它即可。</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
-<span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">measure</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
+<span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">measure</span><span class="o">();</span>
 </code></pre></div></div>
 
 <p><strong>提示:Servo已经被Netflix标记为DEPRECATED,我们将在1.0.0-m2中使用Netflix spectator替换,获取数据的接口会有调整</strong></p>
@@ -682,7 +682,7 @@ name包括:</p>
 <h2 id="如何使用数据">如何使用数据</h2>
 <p>Metrics数据将以Map&lt;String, Double&gt;的形式输出,为了能够方便用户获取指定Metric的值,提供了org.apache.servicecomb.foundation.metrics.publish.MetricsLoader工具类:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="c1">//模拟MonitorManager.getInstance().measure()获取所有的Metrics值</span>
-    <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o">&lt;&gt;();</span>
+    <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HashMap</span><span class="o">&lt;&gt;();</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=1,K2=2,K3=3)"</span><span class="o">,</span> <span class="mf">100.0</span><span class="o">);</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=1,K2=20,K3=30)"</span><span class="o">,</span> <span class="mf">200.0</span><span class="o">);</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=2,K2=200,K3=300)"</span><span class="o">,</span> <span class="mf">300.0</span><span class="o">);</span>
@@ -694,10 +694,10 @@ name包括:</p>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"Y(K1=1000,K2=2000,K3=3000)"</span><span class="o">,</span> <span class="mf">800.0</span><span class="o">);</span>
 
     <span class="c1">//创建一个MetricsLoader加载所有的Metrics值</span>
-    <span class="n">MetricsLoader</span> <span class="n">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="n">MetricsLoader</span><span class="o">(</span><span class="n">metrics</span><span class="o">);</span>
+    <span class="nc">MetricsLoader</span> <span class="n">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MetricsLoader</span><span class="o">(</span><span class="n">metrics</span><span class="o">);</span>
 
     <span class="c1">//获取name为X的所有Metrics并且按K1,K2两个Tag层次分组</span>
-    <span class="n">MetricNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="na">getMetricTree</span><span class="o">(</span><span class="s">"X"</span><span class="o">,</span><span class="s">"K1"</span><span class="o">,</span><span class="s">"K2"</span><span class="o">);</span>
+    <span class="nc">MetricNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="na">getMetricTree</span><span class="o">(</span><span class="s">"X"</span><span class="o">,</span><span class="s">"K1"</span><span class="o">,</span><span class="s">"K2"</span><span class="o">);</span>
 
     <span class="c1">//获取K1=1且K2=20的所有Metrics,因为node是按K1和K2的层次分组的</span>
     <span class="n">node</span><span class="o">.</span><span class="na">getChildrenNode</span><span class="o">(</span><span class="s">"1"</span><span class="o">).</span><span class="na">getChildrenNode</span><span class="o">(</span><span class="s">"20"</span><span class="o">).</span><span class="na">getMetrics</span><span class="o">();</span>
@@ -739,13 +739,13 @@ name包括:</p>
 
 <p>以处理订单这个场景为例:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OrderController</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Counter</span> <span class="n">orderCount</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Counter</span> <span class="n">orderTps</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Timer</span> <span class="n">averageLatency</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">MaxGauge</span> <span class="n">maxLatency</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Counter</span> <span class="n">orderCount</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Counter</span> <span class="n">orderTps</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Timer</span> <span class="n">averageLatency</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">MaxGauge</span> <span class="n">maxLatency</span><span class="o">;</span>
 
-  <span class="n">OrderController</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
+  <span class="nc">OrderController</span><span class="o">()</span> <span class="o">{</span>
+    <span class="nc">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
     <span class="c1">//"商品名","levis jeans"与"型号","512" 是两个自定义Tag的name和value,支持定义多Tag</span>
     <span class="k">this</span><span class="o">.</span><span class="na">orderCount</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"订单数量"</span><span class="o">,</span> <span class="s">"商品名"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"型号"</span><span class="o">,</span> <span class="s">"512"</span><span class="o">) [...]
     <span class="k">this</span><span class="o">.</span><span class="na">orderTps</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">getCounter</span><span class="o">(</span><span class="nl">StepCounter:</span><span class="o">:</span><span class="k">new</span><span class="o">,</span> <span class="s">"生成订单"</span><span class="o">,</span> <span class="s">"统计项"</span><span class="o">,</span> <span class="s">"事务每秒"</span><span class="o">);</span>
@@ -754,11 +754,11 @@ name包括:</p>
   <span class="o">}</span>
 
   <span class="kd">public</span> <span class="kt">void</span> <span class="nf">makeOrder</span><span class="o">()</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">startTime</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">();</span>
+    <span class="kt">long</span> <span class="n">startTime</span> <span class="o">=</span> <span class="nc">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">();</span>
     <span class="c1">//处理订单逻辑</span>
     <span class="c1">//...</span>
     <span class="c1">//处理完毕</span>
-    <span class="kt">long</span> <span class="n">totalTime</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">()</span> <span class="o">-</span> <span class="n">startTime</span><span class="err">;</span>
+    <span class="kt">long</span> <span class="n">totalTime</span> <span class="o">=</span> <span class="nc">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">()</span> <span class="o">-</span> <span class="n">startTime</span><span class="err">;</span>
 
     <span class="c1">//增加订单数量</span>
     <span class="k">this</span><span class="o">.</span><span class="na">orderCount</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
@@ -767,10 +767,10 @@ name包括:</p>
     <span class="k">this</span><span class="o">.</span><span class="na">orderTps</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 
     <span class="c1">//记录订单生成处理时间</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">averageLatency</span><span class="o">.</span><span class="na">record</span><span class="o">(</span><span class="n">totalTime</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">);</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">averageLatency</span><span class="o">.</span><span class="na">record</span><span class="o">(</span><span class="n">totalTime</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">);</span>
 
     <span class="c1">//记录最大订单生成时间,因为惯用毫秒作为最终输出,因此我们转换一下单位</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">maxLatency</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">totalTime</span><span class="o">));</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">maxLatency</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="nc">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">totalTime</span><span class="o">));</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -779,7 +779,7 @@ name包括:</p>
 
 <p>1.通过MonitorManager获取Monitor传递name和tag数组,最终输出的ID是它们连接后的字符串,所以请保持唯一性,上面的例子输出的Metrics为:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span><span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
 
 <span class="c1">//metrics的keySet()将包含:</span>
 <span class="c1">//	订单数量(商品名=levis jeans,型号=512)</span>
@@ -790,15 +790,15 @@ name包括:</p>
 
 <p>2.MonitorManager获取Monitor的方法均为<strong>获取或创建</strong>,因此多次传递相同的name和tag数组返回的是同一个计数器:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Counter</span> <span class="n">counter1</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"订单数量"</span><span class="o">,</span> <span class="s">"商品名"</span><span class="o">,</span> <span class="s">"lev [...]
-<span class="n">Counter</span> <span class="n">counter2</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"订单数量"</span><span class="o">,</span> <span class="s">"商品名"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"型号"</span><span class="o">,</span> <spa [...]
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Counter</span> <span class="n">counter1</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"订单数量"</span><span class="o">,</span> <span class="s">"商品名"</span><span class="o">,</span> <span class="s">"l [...]
+<span class="nc">Counter</span> <span class="n">counter2</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"订单数量"</span><span class="o">,</span> <span class="s">"商品名"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"型号"</span><span class="o">,</span> <s [...]
 
 <span class="n">counter1</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 <span class="n">counter2</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter1</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter2</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mf">2.0</span><span class="o">,</span><span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="s">"订单数量(商品名=levis jeans,型号=512)"</span><span class="o">),</span><span class="mi">0</ [...]
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter1</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter2</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mf">2.0</span><span class="o">,</span><span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="s">"订单数量(商品名=levis jeans,型号=512)"</span><span class="o">),</span><span class="mi">0 [...]
 </code></pre></div></div>
 
 <p><strong>获取Monitor的方法性能较低,请在初始化阶段一次获取所需的Monitor,然后将它们缓存起来,请参照前面OrderController的做法。</strong></p>
diff --git a/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html b/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
index a375178..edc9aa9 100644
--- a/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
+++ b/content/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
@@ -429,7 +429,7 @@ Prometheus推荐Pull模式拉取Metrics数据,被监控微服务作为Producer
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="na">prometheus</span><span class="pi">:</span>
       <span class="c1">#prometheus provider的端口</span>
-      <span class="na">port</span><span class="pi">:</span> <span class="s">9696</span>
+      <span class="na">port</span><span class="pi">:</span> <span class="m">9696</span>
 </code></pre></div></div>
 <p><em>如果不做配置,默认端口为9696</em></p>
 <h3 id="依赖配置">依赖配置</h3>
diff --git a/content/cn/users/metrics-write-file-extension-and-sample-in-1.0.0-m1/index.html b/content/cn/users/metrics-write-file-extension-and-sample-in-1.0.0-m1/index.html
index 44fb319..fb5d278 100644
--- a/content/cn/users/metrics-write-file-extension-and-sample-in-1.0.0-m1/index.html
+++ b/content/cn/users/metrics-write-file-extension-and-sample-in-1.0.0-m1/index.html
@@ -428,15 +428,15 @@
 <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="c1">#1.0.0-m1日志输出间隔配置项,单位毫秒</span>
-    <span class="na">window_time</span><span class="pi">:</span> <span class="s">5000</span>
+    <span class="na">window_time</span><span class="pi">:</span> <span class="m">5000</span>
     <span class="c1">#如果metric是浮点数,输出结果保留几位小数,默认为1</span>
-    <span class="na">round_places</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">round_places</span><span class="pi">:</span> <span class="m">1</span>
     <span class="na">file</span><span class="pi">:</span>
       <span class="c1">#日志根目录</span>
       <span class="na">root_path</span><span class="pi">:</span> <span class="s">./log/metric/</span>
       <span class="na">rolling</span><span class="pi">:</span>
         <span class="c1">#最大保留文件数</span>
-        <span class="na">max_file_count</span><span class="pi">:</span> <span class="s">10</span>
+        <span class="na">max_file_count</span><span class="pi">:</span> <span class="m">10</span>
         <span class="c1">#文件最大大小,单位可以是KB,MB和GB</span>
         <span class="na">max_file_size </span><span class="pi">:</span> <span class="s">10MB</span>
 </code></pre></div></div>
diff --git a/content/cn/users/run-mode/index.html b/content/cn/users/run-mode/index.html
index a7d0e6c..fd47cfa 100644
--- a/content/cn/users/run-mode/index.html
+++ b/content/cn/users/run-mode/index.html
@@ -401,9 +401,9 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.BeanUtils</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainServer</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-   <span class="err"> </span><span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#日志初始化</span>
-   <span class="err"> </span><span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span> <span class="n">Spring</span> <span class="n">bean</span><span class="err">初始化</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+   <span class="err"> </span><span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#日志初始化</span>
+   <span class="err"> </span><span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span> <span class="nc">Spring</span> <span class="n">bean</span><span class="err">初始化</span>
      <span class="c1">// other codes omitted</span>
    <span class="o">}</span>
  <span class="o">}</span>
diff --git a/content/cn/users/service-configurations/index.html b/content/cn/users/service-configurations/index.html
index 272a9e4..c53a840 100644
--- a/content/cn/users/service-configurations/index.html
+++ b/content/cn/users/service-configurations/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="服务配置">
     <meta itemprop="description" content="服务配置">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -621,11 +621,11 @@
     <span class="na">Consumer</span><span class="pi">:</span>
       <span class="na">timeout</span><span class="pi">:</span>
         <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
-      <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="s">30000</span>
+      <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="m">30000</span>
   <span class="na">circuitBreaker</span><span class="pi">:</span>
     <span class="na">Consumer</span><span class="pi">:</span>
-      <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="s">15000</span>
-      <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">20</span>
+      <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="m">15000</span>
+      <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="m">20</span>
   <span class="na">fallback</span><span class="pi">:</span>
     <span class="na">Consumer</span><span class="pi">:</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
diff --git a/content/cn/users/service-contract/index.html b/content/cn/users/service-contract/index.html
index be58243..710c4e3 100644
--- a/content/cn/users/service-contract/index.html
+++ b/content/cn/users/service-contract/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="服务契约">
     <meta itemprop="description" content="服务契约">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/service-definition/index.html b/content/cn/users/service-definition/index.html
index acdf0d3..99ba9ef 100644
--- a/content/cn/users/service-definition/index.html
+++ b/content/cn/users/service-definition/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="服务定义">
     <meta itemprop="description" content="服务定义">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/service-heartbeat/index.html b/content/cn/users/service-heartbeat/index.html
index 0e51392..0c79a7b 100644
--- a/content/cn/users/service-heartbeat/index.html
+++ b/content/cn/users/service-heartbeat/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="服务心跳">
     <meta itemprop="description" content="服务心跳">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -397,12 +397,12 @@
 
 <p><code class="highlighter-rouge">ServiceRegistryClient</code>提供了发送心跳的方法<code class="highlighter-rouge">heartbeat</code>,用户直接调用即可,示例代码如下:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
   <span class="c1">// 首先需要注册微服务和实例</span>
   <span class="c1">// 发送心跳,不然实例会消失</span>
   <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"heartbeat sended:"</span> <span class="o">+</span> <span class="n">client</span><span class="o">.</span><span class="na">heartbeat</span><span class="o">(</span><span class="n">service2</span><span class="o">.</span><span class="na">getServiceId</span><span class="o">(),</span> <span class="n">instance</span><s [...]
-    <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
+    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"heartbeat sended:"</span> <span class="o">+</span> <span class="n">client</span><span class="o">.</span><span class="na">heartbeat</span><span class="o">(</span><span class="n">service2</span><span class="o">.</span><span class="na">getServiceId</span><span class="o">(),</span> <span class="n">instance</span>< [...]
+    <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/cn/users/service-interface-constraints/index.html b/content/cn/users/service-interface-constraints/index.html
index 345e1d5..b42fd83 100644
--- a/content/cn/users/service-interface-constraints/index.html
+++ b/content/cn/users/service-interface-constraints/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="服务接口约束">
     <meta itemprop="description" content="服务接口约束">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -386,18 +386,18 @@
 <h2 id="接口约束说明">接口约束说明</h2>
 <p>Java Chassis对于接口的使用约束建立在一个简单的原则上:接口定义即接口使用说明,不用通过查看代码实现,就能识别如何调用这个接口。举个例子:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="n">String</span> <span class="n">id</span><span class="o">);</span>
-<span class="kd">public</span> <span class="n">Object</span> <span class="nf">query</span><span class="o">(</span><span class="n">String</span> <span class="n">id</span><span class="o">);</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Person</span> <span class="o">{</span><span class="n">String</span> <span class="n">name</span><span class="o">;}</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nc">String</span> <span class="n">id</span><span class="o">);</span>
+<span class="kd">public</span> <span class="nc">Object</span> <span class="nf">query</span><span class="o">(</span><span class="nc">String</span> <span class="n">id</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Person</span> <span class="o">{</span><span class="nc">String</span> <span class="n">name</span><span class="o">;}</span>
 </code></pre></div></div>
 
 <p>显然如果调用接口一,我们知道要传递一个String类型的id参数,返回值是一个Person类型,Person里面存在String类型的name等参数。如果调用接口二,我们不知道怎么处理返回值,必须参考服务提供者的文档说明。可以看出,我们是站在使用者视角这边的,以更容易被使用作为参考。</p>
 
 <p>当我们要将接口发布为REST接口的时候,可以通过使用swagger文件,指定id使用RequestParam或者PathVariable或者RequestBody进行传递,也可以使用SpringMVC或者JAX RS提供的标签来描述。</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestParam</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
-<span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
-<span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestParam</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
+<span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
+<span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
 </code></pre></div></div>
 
 <p>通常,我们会将简单的数据类型,比如String, int等在RequestParam或者PathVariable传递,而把复杂的数据类型使用JSON编码以后在RequestBody传递,以减少HTTP协议限制可能给开发者带来的各种问题。</p>
@@ -413,14 +413,14 @@
 </code></pre></div>    </div>
   </li>
   <li>泛型
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">PersonHolder</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="o">{...}</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">PersonHolder</span><span class="o">&lt;</span><span class="no">T</span><span class="o">&gt;</span> <span class="o">{...}</span>
 </code></pre></div>    </div>
   </li>
   <li>
     <p>上述类型的集合类型或者没指定类型的集合,比如:<code class="highlighter-rouge">List&lt;IPerson&gt;, Map&lt;String, PersonHolder&lt;?&gt;&gt;, List, Map</code>等。 <code class="highlighter-rouge">List&lt;String&gt;, List&lt;Person&gt;</code>这些具体类型是支持的。</p>
   </li>
   <li>包含上述类型作为属性的类型
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GroupOfPerson</span> <span class="o">{</span><span class="n">IPerson</span> <span class="n">master</span> <span class="o">...}</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GroupOfPerson</span> <span class="o">{</span><span class="nc">IPerson</span> <span class="n">master</span> <span class="o">...}</span>
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/cn/users/setup-environment/index.html b/content/cn/users/setup-environment/index.html
index a328314..96d07af 100644
--- a/content/cn/users/setup-environment/index.html
+++ b/content/cn/users/setup-environment/index.html
@@ -532,38 +532,38 @@ manager_cluster = "10.12.0.4:2379"
 </code></pre></div></div>
 <p>将会返回下面的内容 :</p>
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"instances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+    </span><span class="nl">"instances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
         </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e9e976f9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+            </span><span class="nl">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e9e976f9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                 </span><span class="s2">"rest://10.12.0.1:30100"</span><span class="w">
             </span><span class="p">],</span><span class="w">
-            </span><span class="s2">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_1"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-                </span><span class="s2">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
+            </span><span class="nl">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_1"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+                </span><span class="nl">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
             </span><span class="p">},</span><span class="w">
-            </span><span class="s2">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="w">
+            </span><span class="nl">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="w">
         </span><span class="p">},</span><span class="w">
         </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"16d4cb35f9e011e7a58a286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+            </span><span class="nl">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"16d4cb35f9e011e7a58a286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                 </span><span class="s2">"rest://10.12.0.2:30100"</span><span class="w">
             </span><span class="p">],</span><span class="w">
-            </span><span class="s2">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_2"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-                </span><span class="s2">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
+            </span><span class="nl">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_2"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+                </span><span class="nl">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
             </span><span class="p">},</span><span class="w">
-            </span><span class="s2">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="w">
+            </span><span class="nl">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="w">
         </span><span class="p">}</span><span class="w">
     </span><span class="p">]</span><span class="w">
 </span><span class="p">}</span><span class="w">
diff --git a/content/cn/users/use-service-contract/index.html b/content/cn/users/use-service-contract/index.html
index d216268..bce29e1 100644
--- a/content/cn/users/use-service-contract/index.html
+++ b/content/cn/users/use-service-contract/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用服务契约">
     <meta itemprop="description" content="使用服务契约">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/cn/users/use-tls/index.html b/content/cn/users/use-tls/index.html
index 8c58027..7e181cd 100644
--- a/content/cn/users/use-tls/index.html
+++ b/content/cn/users/use-tls/index.html
@@ -357,7 +357,7 @@
     <meta itemprop="headline" content="使用TLS通信">
     <meta itemprop="description" content="使用TLS通信">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/developers/contributing.html b/content/developers/contributing.html
index 5b1ad56..849d6fc 100644
--- a/content/developers/contributing.html
+++ b/content/developers/contributing.html
@@ -468,43 +468,23 @@ Then we can add your issue to git and then we’ll know when its really fixed an
 
 <h2 id="working-on-the-code">Working on the code</h2>
 
-<p>We recommend to work on the code from  <a href="https://github.com/search?q=org%3Aapache+servicecomb">Github</a>, it has the following sub-projects:</p>
-
-<table>
-  <thead>
-    <tr>
-      <th>Project Name</th>
-      <th>Project Introduction</th>
-      <th>Programming Language</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><a href="https://github.com/apache/servicecomb-java-chassis">Java Chassis</a></td>
-      <td>Java Microservice Framework(SDK)</td>
-      <td>Java</td>
-    </tr>
-    <tr>
-      <td><a href="https://github.com/apache/servicecomb-service-center">Service Center</a></td>
-      <td>Service registration and discovery</td>
-      <td>Go</td>
-    </tr>
-    <tr>
-      <td><a href="https://github.com/apache/servicecomb-saga">Saga</a></td>
-      <td>Data Eventually Consistency Solution for Microservice</td>
-      <td>Java</td>
-    </tr>
-    <tr>
-      <td><a href="https://github.com/apache/servicecomb-website">Website</a></td>
-      <td>ServiceComb Website</td>
-      <td>Markdown</td>
-    </tr>
-  </tbody>
-</table>
+<p>We recommend to work on the code from  <a href="https://github.com/search?q=org%3Aapache+servicecomb">Github</a>, it has the following sub-projects:
+| Project Name | Project Introduction | Programming Language |
+|——————————————————————————-|—————————-|———-|
+| <a href="https://github.com/apache/servicecomb-java-chassis">servicecomb-java-chassis</a> | Java Microservice Framework(SDK) | Java |
+| <a href="https://github.com/apache/servicecomb-service-center">servicecomb-service-center</a> | Service registration and discovery | Golang |
+| <a href="https://github.com/apache/servicecomb-pack">servicecomb-pack</a> | Distributed transaction schemes,support Saga and TCC | Java |
+| <a href="https://github.com/apache/servicecomb-Mesher">servicecomb-mesher</a>       | Service Mesh implementation of ServiceComb     | Golang    |
+| <a href="https://github.com/apache/servicecomb-kie">servicecomb-kie</a>                                   |  Microsevice configure center  | Golang    |
+| <a href="https://github.com/apache/servicecomb-toolkit">servicecomb-toolkit</a>               | A contract-based Microservice development toolkit | Java       |
+| <a href="https://github.com/apache/servicecomb-samples">servicecomb-samples</a>                                   | Microservice examples of ServiceComb  | Java     |
+| <a href="https://github.com/apache/servicecomb-fence">servicecomb-fence</a>               | Apache ServiceComb security module for java-chassis | Java       |
+| <a href="https://github.com/apache/servicecomb-docs">servicecomb-docs</a> | User manual | CSS |
+| <a href="https://github.com/apache/servicecomb-website">servicecomb-website</a> | Website | HTML |
+| <a href="https://github.com/apache/servicecomb-saga-actuator">servicecomb-saga-actuator</a> | Centralized Saga Transaction Coordinator <em>Archived</em> | Java |</p>
 
 <p>If you intend to work on the code and provide patches and other work you want to submit to the Apache ServiceComb projects, then you can fork the project on github and work on your own fork. The custom work you do should be done on branches you create, which can then be committed and pushed upstream, and then submitted to Apache ServiceComb as PRs (pull requests). You can find many resources online how to work on github projects and how to submit work to these projects.</p>
 
-
         
       </section>
 
diff --git a/content/developers/release-validation-guide/index.html b/content/developers/release-validation-guide/index.html
index c92107e..0d7dff1 100644
--- a/content/developers/release-validation-guide/index.html
+++ b/content/developers/release-validation-guide/index.html
@@ -488,7 +488,7 @@
 
 <p>Verify the Hash:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sha512sum <span class="nt">-c</span> xxx-src.zip.sha512
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sha512sum</span> <span class="nt">-c</span> xxx-src.zip.sha512
 </code></pre></div></div>
 
 <p>Then <code class="highlighter-rouge">OK</code> will output if verified successfully.</p>
@@ -501,12 +501,12 @@
 
 <p>Run test case under source code root:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pit</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pit</span>
 </code></pre></div></div>
 
 <blockquote>
   <p>Hint: If the OS of environment is Windows:</p>
-  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pit</span> <span class="nt">-Pdocker-machine</span>
+  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pit</span> <span class="nt">-Pdocker-machine</span>
 </code></pre></div>  </div>
 </blockquote>
 
@@ -515,7 +515,7 @@
 <h3 id="verify-the-staging-repository">Verify the Staging Repository</h3>
 <p>First need delete all ServiceComb cache in local maven repo:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rm <span class="nt">-rf</span> /root/.m2/repository/org/apache/servicecomb/
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">rm</span> <span class="nt">-rf</span> /root/.m2/repository/org/apache/servicecomb/
 </code></pre></div></div>
 
 <blockquote>
@@ -560,12 +560,12 @@
 
 <p>After that, enter <strong>demo folder under the source code(not root folder of source code)</strong> and run:</p>
 
-<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span>
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span>
 </code></pre></div></div>
 
 <blockquote>
   <p>Hint: If the OS of environment is Windows:</p>
-  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span> <span class="nt">-Pdocker-machine</span>
+  <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean <span class="nb">install</span> <span class="nt">-Pdocker</span> <span class="nt">-Pstaging</span> <span class="nt">-Pdocker-machine</span>
 </code></pre></div>  </div>
 </blockquote>
 
diff --git a/content/developers/submit-codes/index.html b/content/developers/submit-codes/index.html
index ef4e5b1..7b32be4 100644
--- a/content/developers/submit-codes/index.html
+++ b/content/developers/submit-codes/index.html
@@ -406,7 +406,7 @@
     <meta itemprop="headline" content="Howto Submit Code">
     <meta itemprop="description" content="Howto submit code for SerivceComb">
     
-    <meta itemprop="dateModified" content="September 10, 2017">
+    <meta itemprop="dateModified" content="September 08, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/developers/use-jira/index.html b/content/developers/use-jira/index.html
index 52811b0..8762e91 100644
--- a/content/developers/use-jira/index.html
+++ b/content/developers/use-jira/index.html
@@ -406,7 +406,7 @@
     <meta itemprop="headline" content="Howto Use JIRA">
     <meta itemprop="description" content="How to use JIRA">
     
-    <meta itemprop="dateModified" content="March 01, 2018">
+    <meta itemprop="dateModified" content="February 28, 2018">
 
     <div class="page__inner-wrap">
       
diff --git a/content/docs/autoscale-on-company/index.html b/content/docs/autoscale-on-company/index.html
index 6588385..3a85fed 100644
--- a/content/docs/autoscale-on-company/index.html
+++ b/content/docs/autoscale-on-company/index.html
@@ -412,7 +412,7 @@
 </code></pre></div></div>
 
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">spec</span><span class="pi">:</span>
-  <span class="na">replicas</span><span class="pi">:</span> <span class="s">1</span>
+  <span class="na">replicas</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">template</span><span class="pi">:</span>
     <span class="na">metadata</span><span class="pi">:</span>
       <span class="na">labels</span><span class="pi">:</span>
diff --git a/content/docs/company-on-kubernetes/index.html b/content/docs/company-on-kubernetes/index.html
index 04c6e50..1153380 100644
--- a/content/docs/company-on-kubernetes/index.html
+++ b/content/docs/company-on-kubernetes/index.html
@@ -449,9 +449,9 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
     <span class="s">spec</span><span class="pi">:</span>
       <span class="na">ports</span><span class="pi">:</span>
 <span class="err">    </span><span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">30100"</span>
-      <span class="na">port</span><span class="pi">:</span> <span class="s">30100</span>
-      <span class="na">targetPort</span><span class="pi">:</span> <span class="s">30100</span>
-        <span class="s">selector</span><span class="pi">:</span>
+      <span class="na">port</span><span class="pi">:</span> <span class="m">30100</span>
+      <span class="na">targetPort</span><span class="pi">:</span> <span class="m">30100</span>
+        <span class="na">selector</span><span class="pi">:</span>
       <span class="s">io.kompose.service</span><span class="pi">:</span> <span class="s">company-bulletin-board</span>
       <span class="na">status</span><span class="pi">:</span>
         <span class="na">loadBalancer</span><span class="pi">:</span> <span class="pi">{}</span>
@@ -469,7 +469,7 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
 <span class="err">	</span><span class="s">io.kompose.service</span><span class="pi">:</span> <span class="s">company-worker</span>
   <span class="s">name</span><span class="pi">:</span> <span class="s">company-worker</span>
 <span class="na">spec</span><span class="pi">:</span>
-  <span class="na">replicas</span><span class="pi">:</span> <span class="s">1</span>
+  <span class="na">replicas</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">strategy</span><span class="pi">:</span> <span class="pi">{}</span>
   <span class="na">template</span><span class="pi">:</span>
 <span class="err">	</span><span class="na">metadata</span><span class="pi">:</span>
@@ -486,8 +486,8 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
     <span class="na">image</span><span class="pi">:</span> <span class="s">servicecomb/worker:0.0.1-SNAPSHOT</span>
     <span class="na">name</span><span class="pi">:</span> <span class="s">company-worker</span>
     <span class="na">ports</span><span class="pi">:</span>
-    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="s">7070</span>
-    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="s">8080</span>
+    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="m">7070</span>
+    <span class="pi">-</span> <span class="na">containerPort</span><span class="pi">:</span> <span class="m">8080</span>
     <span class="na">resources</span><span class="pi">:</span> <span class="pi">{}</span>
   <span class="na">restartPolicy</span><span class="pi">:</span> <span class="s">Always</span>
 <span class="na">status</span><span class="pi">:</span> <span class="pi">{}</span>
@@ -500,10 +500,10 @@ zipkin                   10.104.92.198   &lt;none&gt;        9411/TCP         12
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">spec</span><span class="pi">:</span>
   <span class="na">ports</span><span class="pi">:</span>
   <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">8083"</span>
-<span class="err">  	</span><span class="na">port</span><span class="pi">:</span> <span class="s">8083</span>
-  <span class="err">	</span><span class="s">targetPort</span><span class="pi">:</span> <span class="s">8080</span>
-  <span class="err">	</span><span class="s">nodePort</span><span class="pi">:</span> <span class="s">30301</span>
-  <span class="err">	</span><span class="s">protocol</span><span class="pi">:</span> <span class="s">TCP</span>
+<span class="err">  	</span><span class="na">port</span><span class="pi">:</span> <span class="m">8083</span>
+<span class="err">  	</span><span class="na">targetPort</span><span class="pi">:</span> <span class="m">8080</span>
+<span class="err">  	</span><span class="na">nodePort</span><span class="pi">:</span> <span class="m">30301</span>
+<span class="err">  	</span><span class="na">protocol</span><span class="pi">:</span> <span class="s">TCP</span>
   <span class="s">type</span><span class="pi">:</span> <span class="s">NodePort</span>
 </code></pre></div></div>
 
diff --git a/content/docs/howto-upgrade-topzipkin2/index.html b/content/docs/howto-upgrade-topzipkin2/index.html
index 6853e69..562e941 100644
--- a/content/docs/howto-upgrade-topzipkin2/index.html
+++ b/content/docs/howto-upgrade-topzipkin2/index.html
@@ -444,9 +444,9 @@
 <h3 id="modify-the-maven-dependencies-to-use-the-target-version-of-related-libraries">Modify the maven dependencies to use the target version of related libraries.</h3>
 <p>Change the group <code class="highlighter-rouge">io.zipkin.java</code> and <code class="highlighter-rouge">io.zipkin.reporter</code> to <code class="highlighter-rouge">io.zipkin.zipkin2</code> and <code class="highlighter-rouge">io.zipkin.reporter2</code> respectively.</p>
 
-<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code>java-chassis-dependencies/pom.xml
-<span class="gu">@@ -50,8 +50,8 @@
-</span>     &lt;cxf.version&gt;3.1.6&lt;/cxf.version&gt;
+<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">java-chassis-dependencies/pom.xml
+@@ -50,8 +50,8 @@</span>
+     &lt;cxf.version&gt;3.1.6&lt;/cxf.version&gt;
      &lt;logback.version&gt;1.1.7&lt;/logback.version&gt;
      &lt;brave.version&gt;4.13.1&lt;/brave.version&gt;
 <span class="gd">-    &lt;zipkin.version&gt;1.24.0&lt;/zipkin.version&gt;
@@ -456,8 +456,8 @@
 </span>   &lt;/properties&gt;
  
    &lt;dependencyManagement&gt;
-<span class="gu">@@ -646,7 +646,7 @@
-</span> 
+<span class="p">@@ -646,7 +646,7 @@</span>
+ 
        &lt;!-- zipkin dependencies --&gt;
        &lt;dependency&gt;
 <span class="gd">-        &lt;groupId&gt;io.zipkin.java&lt;/groupId&gt;
@@ -465,8 +465,8 @@
 </span>         &lt;artifactId&gt;zipkin&lt;/artifactId&gt;
          &lt;version&gt;${zipkin.version}&lt;/version&gt;
        &lt;/dependency&gt;
-<span class="gu">@@ -661,7 +661,7 @@
-</span>         &lt;version&gt;${brave.version}&lt;/version&gt;
+<span class="p">@@ -661,7 +661,7 @@</span>
+         &lt;version&gt;${brave.version}&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
 <span class="gd">-        &lt;groupId&gt;io.zipkin.reporter&lt;/groupId&gt;
@@ -476,8 +476,8 @@
        &lt;/dependency&gt;
 
 handlers/handler-tracing-zipkin/pom.xml
-<span class="gu">@@ -50,7 +50,7 @@
-</span>       &lt;artifactId&gt;brave&lt;/artifactId&gt;
+<span class="p">@@ -50,7 +50,7 @@</span>
+       &lt;artifactId&gt;brave&lt;/artifactId&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
 <span class="gd">-      &lt;groupId&gt;io.zipkin.reporter&lt;/groupId&gt;
@@ -492,9 +492,9 @@ handlers/handler-tracing-zipkin/pom.xml
 
 <p>Change the zipkin.xxx import to zipkin2.xxx on imports, and most importantly, use <code class="highlighter-rouge">spanReporter()</code> instead of <code class="highlighter-rouge">reporter()</code> for generating reporter for brave, change the api path to /api/v2/xxx when creating sender.</p>
 
-<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code>handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/TracingConfiguration.java
-<span class="gu">@@ -31,11 +31,11 @@
-</span> import brave.http.HttpTracing;
+<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/TracingConfiguration.java
+@@ -31,11 +31,11 @@</span>
+ import brave.http.HttpTracing;
  import brave.propagation.CurrentTraceContext;
  import org.apache.servicecomb.config.DynamicProperties;
 <span class="gd">-import zipkin.Span;
@@ -510,8 +510,8 @@ handlers/handler-tracing-zipkin/pom.xml
 </span> 
  @Configuration
  class TracingConfiguration {
-<span class="gu">@@ -56,14 +56,15 @@ Sender sender(DynamicProperties dynamicProperties) {
-</span>     return AsyncReporter.builder(sender).build();
+<span class="p">@@ -56,14 +56,15 @@</span> Sender sender(DynamicProperties dynamicProperties) {
+     return AsyncReporter.builder(sender).build();
    }
  
 <span class="gi">+
@@ -543,12 +543,12 @@ handlers/handler-tracing-zipkin/pom.xml
 
 <p>But this will not work. In <code class="highlighter-rouge">zipkin2.Reporter</code>, the <code class="highlighter-rouge">create(sender)</code> is actually equivalent to <code class="highlighter-rouge">builder(sender).build()</code></p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="kd">public</span> <span class="kd">static</span> <span class="n">AsyncReporter</span><span class="o">&lt;</span><span class="n">Span</span><span class="o">&gt;</span> <span class="nf">create</span><span class="o">(</span><span class="n">Sender</span> <span class="n">sender</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="o">(</span><span class="k">new</span> <span class="n">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span><span class="o">(</span><span class="n">sender</span><span class="o">)).</span><span class="na">build</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="kd">public</span> <span class="kd">static</span> <span class="nc">AsyncReporter</span><span class="o">&lt;</span><span class="nc">Span</span><span class="o">&gt;</span> <span class="nf">create</span><span class="o">(</span><span class="nc">Sender</span> <span class="n">sender</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="o">(</span><span class="k">new</span> <span class="nc">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span><span class="o">(</span><span class="n">sender</span><span class="o">)).</span><span class="na">build</span><span class="o">();</span>
   <span class="o">}</span>
   
-  <span class="kd">public</span> <span class="kd">static</span> <span class="n">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span> <span class="nf">builder</span><span class="o">(</span><span class="n">Sender</span> <span class="n">sender</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span><span class="o">(</span><span class="n">sender</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="nc">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span> <span class="nf">builder</span><span class="o">(</span><span class="nc">Sender</span> <span class="n">sender</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">AsyncReporter</span><span class="o">.</span><span class="na">Builder</span><span class="o">(</span><span class="n">sender</span><span class="o">);</span>
   <span class="o">}</span>
 </code></pre></div></div>
 
@@ -556,9 +556,9 @@ handlers/handler-tracing-zipkin/pom.xml
 
 <p>We do not use zipkin.Span in our production code, but we do use it in our tests. Those changes are quite straight forward, we just change the accessing of fields to calling methods as described in the What’s Changed section.</p>
 
-<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tracing/tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java 
-<span class="gu">@@ -45,7 +45,7 @@
-</span> import org.apache.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication;
+<div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">tracing/tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinSpanAspectTest.java 
+@@ -45,7 +45,7 @@</span>
+ import org.apache.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication;
  import org.apache.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication.CustomSpanTask;
  import org.apache.servicecomb.tracing.zipkin.app.ZipkinSpanTestApplication.SomeSlowTask;
 <span class="gd">-import zipkin.Span;
@@ -566,8 +566,8 @@ handlers/handler-tracing-zipkin/pom.xml
 </span> 
  @RunWith(SpringRunner.class)
  @SpringBootTest(classes = {ZipkinSpanTestApplication.class, TracingConfig.class})
-<span class="gu">@@ -74,8 +74,8 @@ public void reportedSpanContainsAnnotatedMethodInfo() throws Exception {
-</span> 
+<span class="p">@@ -74,8 +74,8 @@</span> public void reportedSpanContainsAnnotatedMethodInfo() throws Exception {
+ 
      await().atMost(2, SECONDS).until(() -&gt; !spans.isEmpty());
  
 <span class="gd">-    zipkin.Span span = spans.poll();
@@ -577,8 +577,8 @@ handlers/handler-tracing-zipkin/pom.xml
 </span>     assertThat(tracedValues(span), contains(SomeSlowTask.class.getMethod("crawl").toString()));
    }
    
-<span class="gu">@@ -84,17 +84,17 @@ public void reportCustomSpanInfomation() throws Exception {
-</span>     customSpanTask.invoke();
+<span class="p">@@ -84,17 +84,17 @@</span> public void reportCustomSpanInfomation() throws Exception {
+     customSpanTask.invoke();
      await().atMost(2, SECONDS).until(() -&gt; !spans.isEmpty());
    
 <span class="gd">-    zipkin.Span span = spans.poll();
@@ -602,8 +602,8 @@ handlers/handler-tracing-zipkin/pom.xml
 </span>         .distinct()
          .collect(Collectors.toList());
    }
-<span class="gu">@@ -110,7 +110,7 @@ public void reportCustomSpanInfomation() throws Exception {
-</span>     Tracing tracing(Queue&lt;Span&gt; spans) {
+<span class="p">@@ -110,7 +110,7 @@</span> public void reportCustomSpanInfomation() throws Exception {
+     Tracing tracing(Queue&lt;Span&gt; spans) {
        return Tracing.newBuilder()
            .currentTraceContext(new StrictCurrentTraceContext())
 <span class="gd">-          .reporter(spans::add)
@@ -619,9 +619,9 @@ handlers/handler-tracing-zipkin/pom.xml
 
 <p>Supporting v1 api is built into zipkin2, so we do not need to rely on the v1 libraries. Just use the <code class="highlighter-rouge">SpanBytesEncoder.JSON_V1</code> when building reporter and change the sender api path.</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sender</span> <span class="o">=</span> <span class="n">URLConnectionSender</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="s">"http://localhost:9411/api/v1/spans"</span><span class="o">)</span>
-<span class="n">reporter</span> <span class="o">=</span> <span class="n">AsyncReporter</span><span class="o">.</span><span class="na">builder</span><span class="o">(</span><span class="n">sender</span><span class="o">)</span>
-                        <span class="o">.</span><span class="na">build</span><span class="o">(</span><span class="n">SpanBytesEncoder</span><span class="o">.</span><span class="na">JSON_V1</span><span class="o">);</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sender</span> <span class="o">=</span> <span class="nc">URLConnectionSender</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="s">"http://localhost:9411/api/v1/spans"</span><span class="o">)</span>
+<span class="n">reporter</span> <span class="o">=</span> <span class="nc">AsyncReporter</span><span class="o">.</span><span class="na">builder</span><span class="o">(</span><span class="n">sender</span><span class="o">)</span>
+                        <span class="o">.</span><span class="na">build</span><span class="o">(</span><span class="nc">SpanBytesEncoder</span><span class="o">.</span><span class="na">JSON_V1</span><span class="o">);</span>
 </code></pre></div></div>
 
 <p>That’s all, for the complete changes, please refer the <a href="https://github.com/apache/incubator-servicecomb-java-chassis/pull/488">pull request</a> for the complete changes.</p>
diff --git a/content/docs/linuxcon-workshop-demo/index.html b/content/docs/linuxcon-workshop-demo/index.html
index 6736c30..970274b 100644
--- a/content/docs/linuxcon-workshop-demo/index.html
+++ b/content/docs/linuxcon-workshop-demo/index.html
@@ -512,7 +512,7 @@
 <span class="o">}</span>
 
 <span class="nd">@Service</span>
-<span class="kd">class</span> <span class="nc">FibonacciServiceImpl</span> <span class="kd">implements</span> <span class="n">FibonacciService</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">FibonacciServiceImpl</span> <span class="kd">implements</span> <span class="nc">FibonacciService</span> <span class="o">{</span>
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">long</span> <span class="nf">term</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">n</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
@@ -548,17 +548,17 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRestEndpoint"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/fibonacci"</span><span class="o">)</span>
 <span class="nd">@Controller</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRestEndpoint</span> <span class="kd">implements</span> <span class="n">FibonacciEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRestEndpoint</span> <span class="kd">implements</span> <span class="nc">FibonacciEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">FibonacciRestEndpoint</span><span class="o">(</span><span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">FibonacciRestEndpoint</span><span class="o">(</span><span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciService</span> <span class="o">=</span> <span class="n">fibonacciService</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/term"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/term"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
   <span class="kd">public</span> <span class="kt">long</span> <span class="nf">term</span><span class="o">(</span><span class="kt">int</span> <span class="n">n</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">fibonacciService</span><span class="o">.</span><span class="na">term</span><span class="o">(</span><span class="n">n</span><span class="o">);</span>
@@ -567,12 +567,12 @@
 </code></pre></div></div>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RpcSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRpcEndpoint"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRpcEndpoint</span> <span class="kd">implements</span> <span class="n">FibonacciEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FibonacciRpcEndpoint</span> <span class="kd">implements</span> <span class="nc">FibonacciEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">FibonacciRpcEndpoint</span><span class="o">(</span><span class="n">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">FibonacciRpcEndpoint</span><span class="o">(</span><span class="nc">FibonacciService</span> <span class="n">fibonacciService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciService</span> <span class="o">=</span> <span class="n">fibonacciService</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -609,8 +609,8 @@
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">WorkerApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">WorkerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">WorkerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -646,11 +646,11 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
   <span class="kt">long</span> <span class="nf">ancestorsOfQueenAt</span><span class="o">(</span><span class="kt">int</span> <span class="n">generation</span><span class="o">);</span>
 <span class="o">}</span>
 
-<span class="kd">class</span> <span class="nc">BeekeeperServiceImpl</span> <span class="kd">implements</span> <span class="n">BeekeeperService</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">BeekeeperServiceImpl</span> <span class="kd">implements</span> <span class="nc">BeekeeperService</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
 
-  <span class="n">BeekeeperServiceImpl</span><span class="o">(</span><span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">BeekeeperServiceImpl</span><span class="o">(</span><span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">fibonacciCalculator</span> <span class="o">=</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -681,10 +681,10 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="kd">class</span> <span class="nc">BeekeeperConfig</span> <span class="o">{</span>
 
   <span class="nd">@RpcReference</span><span class="o">(</span><span class="n">microserviceName</span> <span class="o">=</span> <span class="s">"worker"</span><span class="o">,</span> <span class="n">schemaId</span> <span class="o">=</span> <span class="s">"fibonacciRpcEndpoint"</span><span class="o">)</span>
-  <span class="kd">private</span> <span class="n">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">FibonacciCalculator</span> <span class="n">fibonacciCalculator</span><span class="o">;</span>
 
   <span class="nd">@Bean</span>
-  <span class="n">BeekeeperService</span> <span class="nf">beekeeperService</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">BeekeeperService</span> <span class="nf">beekeeperService</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="k">new</span> <span class="nf">BeekeeperServiceImpl</span><span class="o">(</span><span class="n">fibonacciCalculator</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -701,18 +701,18 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@Controller</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">BeekeeperController</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">BeekeeperController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">BeekeeperController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">BeekeeperController</span><span class="o">(</span><span class="n">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">BeekeeperController</span><span class="o">(</span><span class="nc">BeekeeperService</span> <span class="n">beekeeperService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">beekeeperService</span> <span class="o">=</span> <span class="n">beekeeperService</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/drone/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/drone/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">Ancestor</span> <span class="nf">ancestorsOfDrone</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Ancestor</span> <span class="nf">ancestorsOfDrone</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span>
         <span class="s">"Received request to find the number of ancestors of drone at generation {}"</span><span class="o">,</span>
         <span class="n">generation</span><span class="o">);</span>
@@ -720,9 +720,9 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="k">return</span> <span class="k">new</span> <span class="nf">Ancestor</span><span class="o">(</span><span class="n">beekeeperService</span><span class="o">.</span><span class="na">ancestorsOfDroneAt</span><span class="o">(</span><span class="n">generation</span><span class="o">));</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/queen/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/queen/ancestors/{generation}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">GET</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">)</span>
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">Ancestor</span> <span class="nf">ancestorsOfQueen</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Ancestor</span> <span class="nf">ancestorsOfQueen</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="kt">int</span> <span class="n">generation</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span>
         <span class="s">"Received request to find the number of ancestors of queen at generation {}"</span><span class="o">,</span>
         <span class="n">generation</span><span class="o">);</span>
@@ -734,10 +734,10 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="kd">class</span> <span class="nc">Ancestor</span> <span class="o">{</span>
   <span class="kd">private</span> <span class="kt">long</span> <span class="n">ancestors</span><span class="o">;</span>
 
-  <span class="n">Ancestor</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">Ancestor</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
 
-  <span class="n">Ancestor</span><span class="o">(</span><span class="kt">long</span> <span class="n">ancestors</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Ancestor</span><span class="o">(</span><span class="kt">long</span> <span class="n">ancestors</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">ancestors</span> <span class="o">=</span> <span class="n">ancestors</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -779,8 +779,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">BeekeeperApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">BeekeeperApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">BeekeeperApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -796,9 +796,9 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 请求都需要带上返回的JWT token,而 <code class="highlighter-rouge">validate</code> 方法将验证token以确认其有效。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="nf">authenticate</span><span class="o">(</span><span class="n">String</span> <span class="n">username</span><span class="o">,</span> <span class="n">String</span> <span class="n">password</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">authenticate</span><span class="o">(</span><span class="nc">String</span> <span class="n">username</span><span class="o">,</span> <span class="nc">String</span> <span class="n">password</span><span class="o">);</span>
 
-  <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">);</span>
+  <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -811,57 +811,57 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/rest"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationController</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationController</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">USERNAME</span> <span class="o">=</span> <span class="s">"username"</span><span class="o">;</span>
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">PASSWORD</span> <span class="o">=</span> <span class="s">"password"</span><span class="o">;</span>
-  <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">TOKEN</span> <span class="o">=</span> <span class="s">"token"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">USERNAME</span> <span class="o">=</span> <span class="s">"username"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">PASSWORD</span> <span class="o">=</span> <span class="s">"password"</span><span class="o">;</span>
+  <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">TOKEN</span> <span class="o">=</span> <span class="s">"token"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">AuthenticationController</span><span class="o">(</span><span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">AuthenticationController</span><span class="o">(</span><span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">authenticationService</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">POST</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">TEXT_PLAIN_VALUE</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span>
-      <span class="nd">@RequestParam</span><span class="o">(</span><span class="n">USERNAME</span><span class="o">)</span> <span class="n">String</span> <span class="n">username</span><span class="o">,</span>
-      <span class="nd">@RequestParam</span><span class="o">(</span><span class="n">PASSWORD</span><span class="o">)</span> <span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">POST</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no">TEXT_PLAIN_VALUE</span><span class="o">)</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">login</span><span class="o">(</span>
+      <span class="nd">@RequestParam</span><span class="o">(</span><span class="no">USERNAME</span><span class="o">)</span> <span class="nc">String</span> <span class="n">username</span><span class="o">,</span>
+      <span class="nd">@RequestParam</span><span class="o">(</span><span class="no">PASSWORD</span><span class="o">)</span> <span class="nc">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span>
 
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received login request from user {}"</span><span class="o">,</span> <span class="n">username</span><span class="o">);</span>
-    <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">authenticate</span><span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">password</span><span class="o">);</span>
-    <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpHeaders</span><span class="o">();</span>
-    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">,</span> <span class="n">TOKEN_PREFIX</span> <span class="o">+</span> <span class="n">token</span><span class="o">);</span>
+    <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">authenticate</span><span class="o">(</span><span class="n">username</span><span class="o">,</span> <span class="n">password</span><span class="o">);</span>
+    <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HttpHeaders</span><span class="o">();</span>
+    <span class="n">headers</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">,</span> <span class="no">TOKEN_PREFIX</span> <span class="o">+</span> <span class="n">token</span><span class="o">);</span>
 
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Authenticated user {} successfully"</span><span class="o">,</span> <span class="n">username</span><span class="o">);</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="s">"Welcome, "</span> <span class="o">+</span> <span class="n">username</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="n">OK</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="s">"Welcome, "</span> <span class="o">+</span> <span class="n">username</span><span class="o">,</span> <span class="n">headers</span><span class="o">,</span> <span class="no">OK</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/validate"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">POST</span><span class="o">,</span> <span class="n">consumes</span> <span class="o">=</span> <span class="n">APPLICATION_JSON_UTF8_VALUE</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">TE [...]
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span> <span class="o">=</span> <span class="s">"/validate"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="no">POST</span><span class="o">,</span> <span class="n">consumes</span> <span class="o">=</span> <span class="no">APPLICATION_JSON_UTF8_VALUE</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="no" [...]
   <span class="nd">@ResponseBody</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Token</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">validate</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Token</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received validation request of token {}"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
     <span class="k">return</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">.</span><span class="na">getToken</span><span class="o">());</span>
   <span class="o">}</span>
 <span class="o">}</span>
 
 <span class="kd">class</span> <span class="nc">Token</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="n">String</span> <span class="n">token</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="n">token</span><span class="o">;</span>
 
-  <span class="n">Token</span><span class="o">()</span> <span class="o">{</span>
+  <span class="nc">Token</span><span class="o">()</span> <span class="o">{</span>
   <span class="o">}</span>
 
-  <span class="n">Token</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">Token</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getToken</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getToken</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">token</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">toString</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">toString</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"Token{"</span> <span class="o">+</span>
         <span class="s">"token='"</span> <span class="o">+</span> <span class="n">token</span> <span class="o">+</span> <span class="sc">'\''</span> <span class="o">+</span>
         <span class="sc">'}'</span><span class="o">;</span>
@@ -875,8 +875,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">DoormanApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">DoormanApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">DoormanApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -936,33 +936,33 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Service</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">AuthenticationService</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">DOORMAN_ADDRESS</span> <span class="o">=</span> <span class="s">"cse://doorman"</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationService</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">DOORMAN_ADDRESS</span> <span class="o">=</span> <span class="s">"cse://doorman"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">RestTemplate</span> <span class="n">restTemplate</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">RestTemplate</span> <span class="n">restTemplate</span><span class="o">;</span>
 
-  <span class="n">AuthenticationService</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
+  <span class="nc">AuthenticationService</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
 
-    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="n">ResponseErrorHandler</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">restTemplate</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="nc">ResponseErrorHandler</span><span class="o">()</span> <span class="o">{</span>
       <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">hasError</span><span class="o">(</span><span class="n">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+      <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">hasError</span><span class="o">(</span><span class="nc">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">IOException</span> <span class="o">{</span>
         <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       <span class="o">}</span>
 
       <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="kt">void</span> <span class="nf">handleError</span><span class="o">(</span><span class="n">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+      <span class="kd">public</span> <span class="kt">void</span> <span class="nf">handleError</span><span class="o">(</span><span class="nc">ClientHttpResponse</span> <span class="n">clientHttpResponse</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">IOException</span> <span class="o">{</span>
       <span class="o">}</span>
     <span class="o">});</span>
   <span class="o">}</span>
 
   <span class="nd">@HystrixCommand</span><span class="o">(</span><span class="n">fallbackMethod</span> <span class="o">=</span> <span class="s">"timeout"</span><span class="o">)</span>
-  <span class="kd">public</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">validate</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">validate</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Validating token {}"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
-    <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
-        <span class="n">DOORMAN_ADDRESS</span> <span class="o">+</span> <span class="s">"/rest/validate"</span><span class="o">,</span>
+    <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">restTemplate</span><span class="o">.</span><span class="na">postForEntity</span><span class="o">(</span>
+        <span class="no">DOORMAN_ADDRESS</span> <span class="o">+</span> <span class="s">"/rest/validate"</span><span class="o">,</span>
         <span class="n">validationRequest</span><span class="o">(</span><span class="n">token</span><span class="o">),</span>
-        <span class="n">String</span><span class="o">.</span><span class="na">class</span>
+        <span class="nc">String</span><span class="o">.</span><span class="na">class</span>
     <span class="o">);</span>
 
     <span class="k">if</span> <span class="o">(!</span><span class="n">responseEntity</span><span class="o">.</span><span class="na">getStatusCode</span><span class="o">().</span><span class="na">is2xxSuccessful</span><span class="o">())</span> <span class="o">{</span>
@@ -972,16 +972,16 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="k">return</span> <span class="n">responseEntity</span><span class="o">;</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="nf">timeout</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="nf">timeout</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"Request to validate token {} timed out"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="n">REQUEST_TIMEOUT</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">ResponseEntity</span><span class="o">&lt;&gt;(</span><span class="no">REQUEST_TIMEOUT</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">HttpEntity</span><span class="o">&lt;</span><span class="n">Token</span><span class="o">&gt;</span> <span class="nf">validationRequest</span><span class="o">(</span><span class="n">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpHeaders</span><span class="o">();</span>
-    <span class="n">headers</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON_UTF8</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">HttpEntity</span><span class="o">&lt;</span><span class="nc">Token</span><span class="o">&gt;</span> <span class="nf">validationRequest</span><span class="o">(</span><span class="nc">String</span> <span class="n">token</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">HttpHeaders</span> <span class="n">headers</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HttpHeaders</span><span class="o">();</span>
+    <span class="n">headers</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON_UTF8</span><span class="o">);</span>
 
-    <span class="k">return</span> <span class="k">new</span> <span class="n">HttpEntity</span><span class="o">&lt;&gt;(</span><span class="k">new</span> <span class="n">Token</span><span class="o">(</span><span class="n">token</span><span class="o">),</span> <span class="n">headers</span><span class="o">);</span>
+    <span class="k">return</span> <span class="k">new</span> <span class="nc">HttpEntity</span><span class="o">&lt;&gt;(</span><span class="k">new</span> <span class="nc">Token</span><span class="o">(</span><span class="n">token</span><span class="o">),</span> <span class="n">headers</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -991,26 +991,26 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 若用户合法则路由用户请求到对应服务,否则返回 <code class="highlighter-rouge">403 forbidden</code>。</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Component</span>
-<span class="kd">class</span> <span class="nc">AuthenticationAwareFilter</span> <span class="kd">extends</span> <span class="n">ZuulFilter</span> <span class="o">{</span>
+<span class="kd">class</span> <span class="nc">AuthenticationAwareFilter</span> <span class="kd">extends</span> <span class="nc">ZuulFilter</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">AuthenticationAwareFilter</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">AuthenticationAwareFilter</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">LOGIN_PATH</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">String</span> <span class="no">LOGIN_PATH</span> <span class="o">=</span> <span class="s">"/login"</span><span class="o">;</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">AuthenticationAwareFilter</span><span class="o">(</span>
-      <span class="n">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">,</span>
-      <span class="n">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">AuthenticationAwareFilter</span><span class="o">(</span>
+      <span class="nc">AuthenticationService</span> <span class="n">authenticationService</span><span class="o">,</span>
+      <span class="nc">PathExtractor</span> <span class="n">pathExtractor</span><span class="o">)</span> <span class="o">{</span>
 
     <span class="k">this</span><span class="o">.</span><span class="na">authenticationService</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">;</span>
     <span class="k">this</span><span class="o">.</span><span class="na">pathExtractor</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">filterType</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">filterType</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"pre"</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -1021,26 +1021,26 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">shouldFilter</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">.</span><span class="na">path</span><span class="o">(</span><span class="n">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">());</span>
+    <span class="nc">String</span> <span class="n">path</span> <span class="o">=</span> <span class="n">pathExtractor</span><span class="o">.</span><span class="na">path</span><span class="o">(</span><span class="nc">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">());</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Received request with query path: {}"</span><span class="o">,</span> <span class="n">path</span><span class="o">);</span>
-    <span class="k">return</span> <span class="o">!</span><span class="n">path</span><span class="o">.</span><span class="na">endsWith</span><span class="o">(</span><span class="n">LOGIN_PATH</span><span class="o">);</span>
+    <span class="k">return</span> <span class="o">!</span><span class="n">path</span><span class="o">.</span><span class="na">endsWith</span><span class="o">(</span><span class="no">LOGIN_PATH</span><span class="o">);</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">Object</span> <span class="nf">run</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">Object</span> <span class="nf">run</span><span class="o">()</span> <span class="o">{</span>
     <span class="n">filter</span><span class="o">();</span>
     <span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="kd">private</span> <span class="kt">void</span> <span class="nf">filter</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">RequestContext</span> <span class="n">context</span> <span class="o">=</span> <span class="n">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">();</span>
+    <span class="nc">RequestContext</span> <span class="n">context</span> <span class="o">=</span> <span class="nc">RequestContext</span><span class="o">.</span><span class="na">getCurrentContext</span><span class="o">();</span>
 
     <span class="k">if</span> <span class="o">(</span><span class="n">doesNotContainToken</span><span class="o">(</span><span class="n">context</span><span class="o">))</span> <span class="o">{</span>
       <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"No token found in request header"</span><span class="o">);</span>
       <span class="n">rejectRequest</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
     <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
-      <span class="n">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
-      <span class="n">ResponseEntity</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
+      <span class="nc">String</span> <span class="n">token</span> <span class="o">=</span> <span class="n">token</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
+      <span class="nc">ResponseEntity</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;</span> <span class="n">responseEntity</span> <span class="o">=</span> <span class="n">authenticationService</span><span class="o">.</span><span class="na">validate</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
       <span class="k">if</span> <span class="o">(!</span><span class="n">responseEntity</span><span class="o">.</span><span class="na">getStatusCode</span><span class="o">().</span><span class="na">is2xxSuccessful</span><span class="o">())</span> <span class="o">{</span>
         <span class="n">logger</span><span class="o">.</span><span class="na">warn</span><span class="o">(</span><span class="s">"Unauthorized token {} and request rejected"</span><span class="o">,</span> <span class="n">token</span><span class="o">);</span>
         <span class="n">rejectRequest</span><span class="o">(</span><span class="n">context</span><span class="o">);</span>
@@ -1050,22 +1050,22 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
     <span class="o">}</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">rejectRequest</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">context</span><span class="o">.</span><span class="na">setResponseStatusCode</span><span class="o">(</span><span class="n">SC_FORBIDDEN</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="kt">void</span> <span class="nf">rejectRequest</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="n">context</span><span class="o">.</span><span class="na">setResponseStatusCode</span><span class="o">(</span><span class="no">SC_FORBIDDEN</span><span class="o">);</span>
     <span class="n">context</span><span class="o">.</span><span class="na">setSendZuulResponse</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">doesNotContainToken</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kt">boolean</span> <span class="nf">doesNotContainToken</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">)</span> <span class="o">==</span> <span class="kc">null</span>
-        <span class="o">||</span> <span class="o">!</span><span class="n">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">startsWith</span><span class="o">(</span><span class="n">TOKEN_PREFIX</span><span class="o">);</span>
+        <span class="o">||</span> <span class="o">!</span><span class="n">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">startsWith</span><span class="o">(</span><span class="no">TOKEN_PREFIX</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">String</span> <span class="nf">token</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">replace</span><span class="o">(</span><span class="n">TOKEN_PREFIX</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="nf">token</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">context</span><span class="o">).</span><span class="na">replace</span><span class="o">(</span><span class="no">TOKEN_PREFIX</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
   <span class="o">}</span>
 
-  <span class="kd">private</span> <span class="n">String</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="n">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">context</span><span class="o">.</span><span class="na">getRequest</span><span class="o">().</span><span class="na">getHeader</span><span class="o">(</span><span class="n">AUTHORIZATION</span><span class="o">);</span>
+  <span class="kd">private</span> <span class="nc">String</span> <span class="nf">authorizationHeader</span><span class="o">(</span><span class="nc">RequestContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="n">context</span><span class="o">.</span><span class="na">getRequest</span><span class="o">().</span><span class="na">getHeader</span><span class="o">(</span><span class="no">AUTHORIZATION</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -1079,8 +1079,8 @@ Credit: <a href="http://www.dave-cushman.net&quot;">Dave Cushman’s website</a>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ManagerApplication</span> <span class="o">{</span>
 
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ManagerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ManagerApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/docs/mersher-quick-start-advance/mersher-flow-control/index.html b/content/docs/mersher-quick-start-advance/mersher-flow-control/index.html
index ebb4190..2ae852a 100644
--- a/content/docs/mersher-quick-start-advance/mersher-flow-control/index.html
+++ b/content/docs/mersher-quick-start-advance/mersher-flow-control/index.html
@@ -465,9 +465,9 @@
    <span class="na">qps</span><span class="pi">:</span>
      <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>                 <span class="c1"># enable rate limiting or not</span>
      <span class="na">global</span><span class="pi">:</span>
-       <span class="na">limit</span><span class="pi">:</span> <span class="s">0</span>                    <span class="c1"># default limit of provider</span>
+       <span class="na">limit</span><span class="pi">:</span> <span class="m">0</span>                    <span class="c1"># default limit of provider</span>
      <span class="na">limit</span><span class="pi">:</span>
-       <span class="na">Server</span><span class="pi">:</span> <span class="s">0</span>                  <span class="c1"># rate limit for request from a provider</span>
+       <span class="na">Server</span><span class="pi">:</span> <span class="m">0</span>                  <span class="c1"># rate limit for request from a provider</span>
 </code></pre></div>    </div>
 
     <p>The frequency limit configuration make the request accepted per second is 0 which means no service is provided.</p>
diff --git a/content/docs/mersher-quick-start-advance/mersher-service-management/index.html b/content/docs/mersher-quick-start-advance/mersher-service-management/index.html
index 1bc652d..f0f50aa 100644
--- a/content/docs/mersher-quick-start-advance/mersher-service-management/index.html
+++ b/content/docs/mersher-quick-start-advance/mersher-service-management/index.html
@@ -469,14 +469,14 @@
 
     <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">routeRule</span><span class="pi">:</span>
   <span class="na">calculator</span><span class="pi">:</span>        <span class="c1">#service name</span>
-    <span class="pi">-</span> <span class="na">precedence</span><span class="pi">:</span> <span class="s">2</span>    <span class="c1">#precedence of route rule</span>
+    <span class="pi">-</span> <span class="na">precedence</span><span class="pi">:</span> <span class="m">2</span>    <span class="c1">#precedence of route rule</span>
       <span class="na">route</span><span class="pi">:</span>           <span class="c1">#route rule list</span>
       <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
           <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.1</span>
-        <span class="na">weight</span><span class="pi">:</span> <span class="s">70</span>     <span class="c1">#weight of 20%</span>
+        <span class="na">weight</span><span class="pi">:</span> <span class="m">70</span>     <span class="c1">#weight of 20%</span>
       <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
           <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.2</span>
-        <span class="na">weight</span><span class="pi">:</span> <span class="s">30</span>     <span class="c1">#weight of 20%</span>
+        <span class="na">weight</span><span class="pi">:</span> <span class="m">30</span>     <span class="c1">#weight of 20%</span>
 </code></pre></div>    </div>
   </li>
 </ul>
@@ -500,7 +500,7 @@
     <span class="na">timeout</span><span class="pi">:</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
     <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="s">1000</span>            
-    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">circuitBreaker</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
@@ -508,11 +508,11 @@
     <span class="na">forceClosed</span><span class="pi">:</span> <span class="no">false</span>
     <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="s">10000</span>    
     <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">1</span>          
-    <span class="na">errorThresholdPercentage</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">errorThresholdPercentage</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">fallback</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
-    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
 <span class="na">fallbackpolicy</span><span class="pi">:</span>
   <span class="na">Consumer</span><span class="pi">:</span>
     <span class="na">policy</span><span class="pi">:</span> <span class="s">returnnull</span>
diff --git a/content/docs/mersher-quick-start/index.html b/content/docs/mersher-quick-start/index.html
index a479762..60605bb 100644
--- a/content/docs/mersher-quick-start/index.html
+++ b/content/docs/mersher-quick-start/index.html
@@ -514,9 +514,9 @@ docker run <span class="nt">-d</span> <span class="nt">-p</span> 30100:30100 ser
   <li>
     <p>2 Create <strong>mersher_webapp</strong> which serves for <strong>httpserver_webapp</strong>. In the mersher directory execute the following linux command to create mersher_webapp. In order to the run mersher you also need to copy the conf.</p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /usr/local/src/mersher_webapp
-cp ./mesher /usr/local/src/mersher_webapp
-cp <span class="nt">-r</span> ./conf /usr/local/src/mersher_webapp
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> /usr/local/src/mersher_webapp
+<span class="nb">cp</span> ./mesher /usr/local/src/mersher_webapp
+<span class="nb">cp</span> <span class="nt">-r</span> ./conf /usr/local/src/mersher_webapp
 </code></pre></div>    </div>
 
     <p>Change <strong>service name</strong> in microservice.yaml from hellemesher to <strong>webapp</strong>. Change the listening service address in chassis.yaml from 127.0.0.1 to <strong>intranet ip</strong>(Viewed by cmd ifconfig in linux, such as 192.168.88.64).</p>
@@ -529,9 +529,9 @@ listenAddress: 127.0.0.1:30102  <span class="nt">-----</span>》  listenAddress:
   <li>
     <p>3 Create mersher_calculator service.</p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /usr/local/src/mersher_calculator
-cp ./mesher /usr/local/src/mersher_calculator
-cp <span class="nt">-r</span> ./conf /usr/local/src/mersher_calculator
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> /usr/local/src/mersher_calculator
+<span class="nb">cp</span> ./mesher /usr/local/src/mersher_calculator
+<span class="nb">cp</span> <span class="nt">-r</span> ./conf /usr/local/src/mersher_calculator
 </code></pre></div>    </div>
 
     <p>Change the <strong>service name</strong> in conf file <strong>microservice.yaml</strong> from hellemesher to <strong>calculator</strong>.<br />
@@ -558,8 +558,8 @@ listenAddress: 127.0.0.1:30102  <span class="nt">-----</span>》  listenAddress:
     <p>5 Run <strong>httpserver_webapp</strong>.</p>
 
     <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /usr/local/src/httpserver_webapp
-npm install
-<span class="nb">export </span><span class="nv">http_proxy</span><span class="o">=</span>http://127.0.0.1:30101
+npm <span class="nb">install
+export </span><span class="nv">http_proxy</span><span class="o">=</span>http://127.0.0.1:30101
 node ./httpserver_webapp.js
 </code></pre></div>    </div>
   </li>
diff --git a/content/docs/quick-start-advance/flow-control/index.html b/content/docs/quick-start-advance/flow-control/index.html
index 82d61be..e5eae7d 100644
--- a/content/docs/quick-start-advance/flow-control/index.html
+++ b/content/docs/quick-start-advance/flow-control/index.html
@@ -487,7 +487,7 @@
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">qps</span><span class="pi">:</span>
         <span class="na">limit</span><span class="pi">:</span>
-          <span class="na">gateway</span><span class="pi">:</span> <span class="s">1</span>
+          <span class="na">gateway</span><span class="pi">:</span> <span class="m">1</span>
 </code></pre></div>    </div>
   </li>
 </ol>
diff --git a/content/docs/quick-start-advance/service-management/index.html b/content/docs/quick-start-advance/service-management/index.html
index 1bf9809..933b928 100644
--- a/content/docs/quick-start-advance/service-management/index.html
+++ b/content/docs/quick-start-advance/service-management/index.html
@@ -486,7 +486,7 @@
   <span class="na">circuitBreaker</span><span class="pi">:</span>
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">calculator</span><span class="pi">:</span>
-        <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">3</span>
+        <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="m">3</span>
   <span class="na">fallbackpolicy</span><span class="pi">:</span>
     <span class="na">Provider</span><span class="pi">:</span>
       <span class="na">policy</span><span class="pi">:</span> <span class="s">returnnull</span>
diff --git a/content/docs/quick-start-bmi/index.html b/content/docs/quick-start-bmi/index.html
index 5c26747..dc0b28f 100644
--- a/content/docs/quick-start-bmi/index.html
+++ b/content/docs/quick-start-bmi/index.html
@@ -521,7 +521,7 @@
 <span class="o">}</span>
 
 <span class="nd">@Service</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="n">CalculatorService</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorServiceImpl</span> <span class="kd">implements</span> <span class="nc">CalculatorService</span> <span class="o">{</span>
   <span class="nd">@Override</span>
   <span class="kd">public</span> <span class="kt">double</span> <span class="nf">calculate</span><span class="o">(</span><span class="kt">double</span> <span class="n">height</span><span class="o">,</span> <span class="kt">double</span> <span class="n">weight</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">height</span> <span class="o">&lt;=</span> <span class="mi">0</span> <span class="o">||</span> <span class="n">weight</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
@@ -548,12 +548,12 @@
 <p>Expose calculator service’s restful endpoint:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"calculatorRestEndpoint"</span><span class="o">)</span>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorRestEndpoint</span> <span class="kd">implements</span> <span class="n">CalculatorEndpoint</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorRestEndpoint</span> <span class="kd">implements</span> <span class="nc">CalculatorEndpoint</span> <span class="o">{</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">CalculatorService</span> <span class="n">calculatorService</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">CalculatorService</span> <span class="n">calculatorService</span><span class="o">;</span>
 
   <span class="nd">@Autowired</span>
-  <span class="kd">public</span> <span class="nf">CalculatorRestEndpoint</span><span class="o">(</span><span class="n">CalculatorService</span> <span class="n">calculatorService</span><span class="o">)</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nf">CalculatorRestEndpoint</span><span class="o">(</span><span class="nc">CalculatorService</span> <span class="n">calculatorService</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">this</span><span class="o">.</span><span class="na">calculatorService</span> <span class="o">=</span> <span class="n">calculatorService</span><span class="o">;</span>
   <span class="o">}</span>
 
@@ -585,8 +585,8 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CalculatorApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">CalculatorApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -639,7 +639,7 @@
     <span class="na">enabled</span><span class="pi">:</span> <span class="no">false</span>
 
 <span class="na">server</span><span class="pi">:</span>
-  <span class="na">port</span><span class="pi">:</span> <span class="s">8889</span>
+  <span class="na">port</span><span class="pi">:</span> <span class="m">8889</span>
 </code></pre></div></div>
 <p>Enable service discovery with zuul by putting the application information and service center address in <code class="highlighter-rouge">microservice.yaml</code>.</p>
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">APPLICATION_ID</span><span class="pi">:</span> <span class="s">bmi</span>
@@ -657,8 +657,8 @@
 <span class="nd">@EnableZuulProxy</span>
 <span class="nd">@EnableServiceComb</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GatewayApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">GatewayApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">GatewayApplication</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/docs/quick-start-dataconsistency/index.html b/content/docs/quick-start-dataconsistency/index.html
index 634f0fe..edd882a 100644
--- a/content/docs/quick-start-dataconsistency/index.html
+++ b/content/docs/quick-start-dataconsistency/index.html
@@ -530,7 +530,7 @@
          <span class="na">test</span><span class="pi">:</span> <span class="pi">[</span><span class="s2">"</span><span class="s">CMD-SHELL"</span><span class="pi">,</span> <span class="s2">"</span><span class="s">nc</span><span class="nv"> </span><span class="s">-z</span><span class="nv"> </span><span class="s">localhost</span><span class="nv"> </span><span class="s">3306</span><span class="nv"> </span><span class="s">&amp;&gt;</span><span class="nv"> </span><span class="s">/dev/null;</s [...]
          <span class="na">interval</span><span class="pi">:</span> <span class="s">30s</span>
          <span class="na">timeout</span><span class="pi">:</span> <span class="s">10s</span>
-         <span class="na">retries</span><span class="pi">:</span> <span class="s">5</span>
+         <span class="na">retries</span><span class="pi">:</span> <span class="m">5</span>
 
    <span class="na">car-rental-service</span><span class="pi">:</span>
      <span class="na">image</span><span class="pi">:</span> <span class="s2">"</span><span class="s">car-rental-service:0.0.2-SNAPSHOT"</span>
@@ -604,101 +604,101 @@
     <p>Use <a href="https://github.com/apache/servicecomb-saga/blob/master/docs/api/api.md">Saga API</a> to set request content and save it to <em>request.json</em></p>
 
     <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w"> </span><span class="p">{</span><span class="w">
-   </span><span class="s2">"policy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BackwardRecovery"</span><span class="p">,</span><span class="w">
-   </span><span class="s2">"requests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+   </span><span class="nl">"policy"</span><span class="p">:</span><span class="w"> </span><span class="s2">"BackwardRecovery"</span><span class="p">,</span><span class="w">
+   </span><span class="nl">"requests"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"car-rental-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"car-rental-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/rentals"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-hotel"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hotel-reservation-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-hotel"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hotel-reservation-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/reservations"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"flight-booking-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"flight-booking-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/bookings"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
-       </span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-payment"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"payment-service"</span><span class="p">,</span><span class="w">
-       </span><span class="s2">"parents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+       </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"request-payment"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"serviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"payment-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nl">"parents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
          </span><span class="s2">"request-car"</span><span class="p">,</span><span class="w">
          </span><span class="s2">"request-flight"</span><span class="p">,</span><span class="w">
          </span><span class="s2">"request-hotel"</span><span class="w">
        </span><span class="p">],</span><span class="w">
-       </span><span class="s2">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"transaction"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">},</span><span class="w">
-       </span><span class="s2">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-         </span><span class="s2">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
-         </span><span class="s2">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-           </span><span class="s2">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-             </span><span class="s2">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
+       </span><span class="nl">"compensation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+         </span><span class="nl">"method"</span><span class="p">:</span><span class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/payments"</span><span class="p">,</span><span class="w">
+         </span><span class="nl">"params"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nl">"form"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nl">"customerId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
diff --git a/content/docs/quick-start/index.html b/content/docs/quick-start/index.html
index e39cf2e..6406b75 100644
--- a/content/docs/quick-start/index.html
+++ b/content/docs/quick-start/index.html
@@ -475,7 +475,7 @@
 
     <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code> git clone https://github.com/apache/servicecomb-java-chassis.git
  <span class="nb">cd </span>servicecomb-java-chassis
- mvn clean install <span class="nt">-DskipTests</span>
+ mvn clean <span class="nb">install</span> <span class="nt">-DskipTests</span>
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/docs/release-note-1-0-0/index.html b/content/docs/release-note-1-0-0/index.html
index 72fc11c..be3da01 100644
--- a/content/docs/release-note-1-0-0/index.html
+++ b/content/docs/release-note-1-0-0/index.html
@@ -469,10 +469,10 @@
     </ul>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RequestMapping</span><span class="o">(</span><span class="s">"/address"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="n">String</span> <span class="nf">address</span><span class="o">(</span><span class="n">Address</span> <span class="n">address</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
+<span class="kd">public</span> <span class="nc">String</span> <span class="nf">address</span><span class="o">(</span><span class="nc">Address</span> <span class="n">address</span><span class="o">)</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Address</span> <span class="o">{</span>
-	<span class="n">String</span> <span class="n">country</span><span class="o">;</span>
-	<span class="n">String</span> <span class="n">city</span><span class="o">;</span>
+	<span class="nc">String</span> <span class="n">country</span><span class="o">;</span>
+	<span class="nc">String</span> <span class="n">city</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div>    </div>
 
diff --git a/content/docs/seckill-development-journey-part-III/index.html b/content/docs/seckill-development-journey-part-III/index.html
index 3b641eb..973d049 100644
--- a/content/docs/seckill-development-journey-part-III/index.html
+++ b/content/docs/seckill-development-journey-part-III/index.html
@@ -431,7 +431,7 @@
 <h4 id="command-micro-service-message-publisher-component">Command micro-service Message Publisher component</h4>
 <p>Since the Event Sourcing was not introduced before, the PromotionEvent entity only needed to write to the database directly. Now it is necessary to publish PromotionEvent to Message Broker. Considering that future we will be replaced by Distributed Message Service (DMS) as Message Broker in order to deploy to <a href="http://www.hwclouds.com/">Huawei Cloud</a>, We defined the generic message publish interface:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SecKillMessagePublisher</span> <span class="o">{</span>
-  <span class="kt">void</span> <span class="nf">publishMessage</span><span class="o">(</span><span class="n">String</span> <span class="n">messageContent</span><span class="o">);</span>
+  <span class="kt">void</span> <span class="nf">publishMessage</span><span class="o">(</span><span class="nc">String</span> <span class="n">messageContent</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
@@ -445,7 +445,7 @@
 
     <p>Also considering that future we will be replaced by Distributed Message Service (DMS) as Message Broker in order to deploy to <a href="http://www.hwclouds.com/">Huawei Cloud</a>, We defined the generic message subscribe interface:</p>
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SecKillMessageSubscriber</span> <span class="o">{</span>
-<span class="kt">void</span> <span class="nf">subscribeMessage</span><span class="o">(</span><span class="n">String</span> <span class="n">messageContent</span><span class="o">);</span>
+<span class="kt">void</span> <span class="nf">subscribeMessage</span><span class="o">(</span><span class="nc">String</span> <span class="n">messageContent</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div>    </div>
   </li>
diff --git a/content/docs/servicecomb-pack-cluster/index.html b/content/docs/servicecomb-pack-cluster/index.html
index 4fef4de..f650278 100644
--- a/content/docs/servicecomb-pack-cluster/index.html
+++ b/content/docs/servicecomb-pack-cluster/index.html
@@ -452,21 +452,21 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
 <p>Event scanning is implemented by <code class="highlighter-rouge">EventScanner.java</code> , initialize it in <code class="highlighter-rouge">AlphaConfig.java</code> , you can enable it by setting the parameter ‘alpha.event.scanner.enabled=true’, it will be instantiated EventScanner. The variable nodeStatus is the node type(Master or Slave). Later, I will introduce how <code class="highlighter-rouge">nodeStatus</code> is initialized.</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Bean</span>
-<span class="n">TxConsistentService</span> <span class="nf">txConsistentService</span><span class="o">(</span>
+<span class="nc">TxConsistentService</span> <span class="nf">txConsistentService</span><span class="o">(</span>
   <span class="nd">@Value</span><span class="o">(</span><span class="s">"${alpha.event.pollingInterval:500}"</span><span class="o">)</span> <span class="kt">int</span> <span class="n">eventPollingInterval</span><span class="o">,</span>
   <span class="nd">@Value</span><span class="o">(</span><span class="s">"${alpha.event.scanner.enabled:true}"</span><span class="o">)</span> <span class="kt">boolean</span> <span class="n">eventScannerEnabled</span><span class="o">,</span>
-  <span class="n">ScheduledExecutorService</span> <span class="n">scheduler</span><span class="o">,</span>
-  <span class="n">TxEventRepository</span> <span class="n">eventRepository</span><span class="o">,</span>
-  <span class="n">CommandRepository</span> <span class="n">commandRepository</span><span class="o">,</span>
-  <span class="n">TxTimeoutRepository</span> <span class="n">timeoutRepository</span><span class="o">,</span>
-  <span class="n">OmegaCallback</span> <span class="n">omegaCallback</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">ScheduledExecutorService</span> <span class="n">scheduler</span><span class="o">,</span>
+  <span class="nc">TxEventRepository</span> <span class="n">eventRepository</span><span class="o">,</span>
+  <span class="nc">CommandRepository</span> <span class="n">commandRepository</span><span class="o">,</span>
+  <span class="nc">TxTimeoutRepository</span> <span class="n">timeoutRepository</span><span class="o">,</span>
+  <span class="nc">OmegaCallback</span> <span class="n">omegaCallback</span><span class="o">)</span> <span class="o">{</span>
     <span class="k">if</span> <span class="o">(</span><span class="n">eventScannerEnabled</span><span class="o">)</span> <span class="o">{</span>
       <span class="k">new</span> <span class="nf">EventScanner</span><span class="o">(</span><span class="n">scheduler</span><span class="o">,</span>
           <span class="n">eventRepository</span><span class="o">,</span> <span class="n">commandRepository</span><span class="o">,</span> <span class="n">timeoutRepository</span><span class="o">,</span>
           <span class="n">omegaCallback</span><span class="o">,</span> <span class="n">eventPollingInterval</span><span class="o">,</span> <span class="n">nodeStatus</span><span class="o">).</span><span class="na">run</span><span class="o">();</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Starting the EventScanner."</span><span class="o">);</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Starting the EventScanner."</span><span class="o">);</span>
       <span class="o">}</span>
-    <span class="n">TxConsistentService</span> <span class="n">consistentService</span> <span class="o">=</span> <span class="k">new</span> <span class="n">TxConsistentService</span><span class="o">(</span><span class="n">eventRepository</span><span class="o">);</span>
+    <span class="nc">TxConsistentService</span> <span class="n">consistentService</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">TxConsistentService</span><span class="o">(</span><span class="n">eventRepository</span><span class="o">);</span>
     <span class="k">return</span> <span class="n">consistentService</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -490,29 +490,29 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     <span class="o">},</span>
     <span class="mi">0</span><span class="o">,</span>
     <span class="n">eventPollingInterval</span><span class="o">,</span>
-    <span class="n">MILLISECONDS</span><span class="o">);</span>
+    <span class="no">MILLISECONDS</span><span class="o">);</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
 <p>Construct NodeStatus in <code class="highlighter-rouge">AlphaConfig.java</code> by the following to ensure that the event scan will work regardless of whether you have configured the <code class="highlighter-rouge">alpha.cluster.master.enabled</code> parameter, Here you can see the node is a slave just after startup when cluster mode is enabled. Later, I will introduce how to switch to master.</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="nd">@Bean</span>
-  <span class="n">NodeStatus</span> <span class="nf">nodeStatus</span> <span class="o">(){</span>
+  <span class="nc">NodeStatus</span> <span class="nf">nodeStatus</span> <span class="o">(){</span>
     <span class="k">if</span><span class="o">(</span><span class="n">masterEnabled</span><span class="o">){</span>
-      <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
+      <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
     <span class="o">}</span><span class="k">else</span><span class="o">{</span>
-      <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
+      <span class="k">return</span> <span class="k">new</span> <span class="nf">NodeStatus</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
     <span class="o">}</span>
   <span class="o">}</span>
 
   <span class="nd">@Autowired</span>
-  <span class="n">NodeStatus</span> <span class="n">nodeStatus</span><span class="o">;</span>
+  <span class="nc">NodeStatus</span> <span class="n">nodeStatus</span><span class="o">;</span>
 </code></pre></div></div>
 
 <p><code class="highlighter-rouge">ClusterLockService.java</code> is in charge of node state switching, It periodically perform lock preemption and set the node as a master after successful preemption.</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="nd">@Autowired</span>
-  <span class="n">LockProvider</span> <span class="n">lockProvider</span><span class="o">;</span>
+  <span class="nc">LockProvider</span> <span class="n">lockProvider</span><span class="o">;</span>
   <span class="o">...</span>
   <span class="o">...</span>
   <span class="nd">@Scheduled</span><span class="o">(</span><span class="n">cron</span> <span class="o">=</span> <span class="s">"0/1 * * * * ?"</span><span class="o">)</span>
@@ -522,15 +522,15 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
       <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">locker</span><span class="o">.</span><span class="na">isPresent</span><span class="o">())</span> <span class="o">{</span>
         <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="na">locked</span><span class="o">)</span> <span class="o">{</span>
           <span class="k">this</span><span class="o">.</span><span class="na">locked</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
-          <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
-          <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Master Node"</span><span class="o">);</span>
+          <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">MASTER</span><span class="o">);</span>
+          <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Master Node"</span><span class="o">);</span>
         <span class="o">}</span>
         <span class="c1">//Keep locked</span>
       <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
         <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">locked</span> <span class="o">||</span> <span class="o">!</span><span class="n">lockExecuted</span><span class="o">)</span> <span class="o">{</span>
           <span class="n">locked</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-          <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="n">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
-          <span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Slave Node"</span><span class="o">);</span>
+          <span class="n">nodeStatus</span><span class="o">.</span><span class="na">setTypeEnum</span><span class="o">(</span><span class="nc">NodeStatus</span><span class="o">.</span><span class="na">TypeEnum</span><span class="o">.</span><span class="na">SLAVE</span><span class="o">);</span>
+          <span class="no">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Slave Node"</span><span class="o">);</span>
         <span class="o">}</span>
       <span class="o">}</span>
       <span class="n">lockExecuted</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
@@ -613,10 +613,10 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
 </ul>
 
 <div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">IF</span> <span class="k">NOT</span> <span class="k">EXISTS</span> <span class="n">master_lock</span> <span class="p">(</span>
-  <span class="n">serviceName</span> <span class="n">varchar</span><span class="p">(</span><span class="mi">36</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
-  <span class="n">expireTime</span> <span class="n">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
-  <span class="n">lockedTime</span> <span class="n">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
-  <span class="n">instanceId</span>  <span class="n">varchar</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
+  <span class="n">serviceName</span> <span class="nb">varchar</span><span class="p">(</span><span class="mi">36</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
+  <span class="n">expireTime</span> <span class="nb">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
+  <span class="n">lockedTime</span> <span class="nb">datetime</span> <span class="k">NOT</span> <span class="k">NULL</span> <span class="k">DEFAULT</span> <span class="k">CURRENT_TIMESTAMP</span><span class="p">,</span>
+  <span class="n">instanceId</span>  <span class="nb">varchar</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span> <span class="k">not</span> <span class="k">NULL</span><span class="p">,</span>
   <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">serviceName</span><span class="p">)</span>
 <span class="p">)</span> <span class="n">ENGINE</span><span class="o">=</span><span class="n">InnoDB</span> <span class="k">DEFAULT</span> <span class="n">CHARSET</span><span class="o">=</span><span class="n">utf8</span><span class="p">;</span>
 </code></pre></div></div>
@@ -651,10 +651,10 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
        <span class="o">+</span> <span class="s">"VALUES "</span>
        <span class="o">+</span> <span class="s">"(?1, ?2, ?3, ?4)"</span><span class="o">,</span> <span class="n">nativeQuery</span> <span class="o">=</span> <span class="kc">true</span><span class="o">)</span>
    <span class="kt">int</span> <span class="nf">initLock</span><span class="o">(</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="n">String</span> <span class="n">serviceName</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">expireTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="n">String</span> <span class="n">instanceId</span><span class="o">);</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">expireTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">instanceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>
@@ -673,10 +673,10 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
        <span class="o">+</span> <span class="s">",t.instanceId = :instanceId "</span>
        <span class="o">+</span> <span class="s">"WHERE t.serviceName = :serviceName AND (t.expireTime &lt;= :lockedTime OR t.instanceId = :instanceId)"</span><span class="o">)</span>
    <span class="kt">int</span> <span class="nf">updateLock</span><span class="o">(</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="n">String</span> <span class="n">serviceName</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="n">Date</span> <span class="n">expireTime</span><span class="o">,</span>
-       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="n">String</span> <span class="n">instanceId</span><span class="o">);</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"serviceName"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"lockedTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">lockedTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"expireTime"</span><span class="o">)</span> <span class="nc">Date</span> <span class="n">expireTime</span><span class="o">,</span>
+       <span class="nd">@Param</span><span class="o">(</span><span class="s">"instanceId"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">instanceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>
diff --git a/content/docs/servicecomb-pack-consul/index.html b/content/docs/servicecomb-pack-consul/index.html
index fdf7bce..3946b72 100644
--- a/content/docs/servicecomb-pack-consul/index.html
+++ b/content/docs/servicecomb-pack-consul/index.html
@@ -441,22 +441,22 @@
 <p>Use <code class="highlighter-rouge">curl http://0.0.0.0:8500/v1/agent/services</code> You can see that Alpha’s gRPC address and port have been registered in Consul’s Tags</p>
 
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-        </span><span class="s2">"ID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+    </span><span class="nl">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+        </span><span class="nl">"ID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"servicecomb-alpha-server"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
             </span><span class="s2">"alpha-server-host=0.0.0.0"</span><span class="p">,</span><span class="w">
             </span><span class="s2">"alpha-server-port=8080"</span><span class="p">,</span><span class="w">
             </span><span class="s2">"secure=false"</span><span class="w">
         </span><span class="p">],</span><span class="w">
-        </span><span class="s2">"Meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
-        </span><span class="s2">"Port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8090</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.116"</span><span class="p">,</span><span class="w">
-        </span><span class="s2">"Weights"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"Passing"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"Warning"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
+        </span><span class="nl">"Meta"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
+        </span><span class="nl">"Port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8090</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"192.168.1.116"</span><span class="p">,</span><span class="w">
+        </span><span class="nl">"Weights"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+            </span><span class="nl">"Passing"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"Warning"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w">
         </span><span class="p">},</span><span class="w">
-        </span><span class="s2">"EnableTagOverride"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
+        </span><span class="nl">"EnableTagOverride"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
     </span><span class="p">}</span><span class="w">
 </span><span class="p">}</span><span class="w">
 </span></code></pre></div></div>
@@ -486,7 +486,7 @@
       <span class="na">discovery</span><span class="pi">:</span>
 <span class="err">      	</span><span class="na">register</span><span class="pi">:</span> <span class="no">false</span>
       <span class="s">host</span><span class="pi">:</span> <span class="s">0.0.0.0</span>
-      <span class="s">port</span><span class="pi">:</span> <span class="s">8500</span>
+      <span class="s">port</span><span class="pi">:</span> <span class="m">8500</span>
       
 <span class="na">alpha</span><span class="pi">:</span>
   <span class="na">cluster</span><span class="pi">:</span>
diff --git a/content/docs/servicecomb-pack-eureka/index.html b/content/docs/servicecomb-pack-eureka/index.html
index 2016454..380bbd7 100644
--- a/content/docs/servicecomb-pack-eureka/index.html
+++ b/content/docs/servicecomb-pack-eureka/index.html
@@ -406,7 +406,7 @@
 
 <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/apache/servicecomb-pack.git
 <span class="nb">cd </span>servicecomb-pack
-mvn clean install <span class="nt">-DskipTests</span><span class="o">=</span><span class="nb">true</span> <span class="nt">-Pspring-boot-2</span>,spring-cloud-eureka
+mvn clean <span class="nb">install</span> <span class="nt">-DskipTests</span><span class="o">=</span><span class="nb">true</span> <span class="nt">-Pspring-boot-2</span>,spring-cloud-eureka
 </code></pre></div></div>
 
 <h3 id="run-eureka">Run Eureka</h3>
diff --git a/content/docs/stress-test-on-company-with-jmeter-in-k8s/index.html b/content/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
index 4d6b5c8..3aac847 100644
--- a/content/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
+++ b/content/docs/stress-test-on-company-with-jmeter-in-k8s/index.html
@@ -507,7 +507,7 @@ fig-4 CPU Load on various concurrency</p>
   <li>
     <p>run JMeter slave on each test node, the command is as follows:</p>
 
-    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jmeter-server <span class="nt">-Djava</span>.rmi.server.hostname<span class="o">=</span><span class="k">$(</span>ifconfig eth0 | <span class="nb">grep</span> <span class="s2">"inet addr"</span> | awk <span class="s1">'{print $2}'</span> | cut <span class="nt">-d</span> <span class="s2">":"</span> <span class="nt">-f2</span><span class="k">)</span>
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jmeter-server <span class="nt">-Djava</span>.rmi.server.hostname<span class="o">=</span><span class="si">$(</span>ifconfig eth0 | <span class="nb">grep</span> <span class="s2">"inet addr"</span> | <span class="nb">awk</span> <span class="s1">'{print $2}'</span> | <span class="nb">cut</span> <span class="nt">-d</span> <span class="s2">":"</span> <span class="nt">-f2</span><span class="si"> [...]
 </code></pre></div>    </div>
   </li>
   <li>
diff --git a/content/faqs/index.html b/content/faqs/index.html
index e6e8cb5..5057165 100644
--- a/content/faqs/index.html
+++ b/content/faqs/index.html
@@ -362,7 +362,7 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestController</span>
 <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"worker"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">WorkerController</span> <span class="o">{</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span><span class="o">=</span><span class="s">"/count"</span><span class="o">,</span> <span class="n">method</span><span class="o">=</span><span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span><span class="o">=</span><span class="s">"/count"</span><span class="o">,</span> <span class="n">method</span><span class="o">=</span><span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getWorkerNumbers</span><span class="o">()</span> <span class="o">{</span>
     <span class="o">...</span>
   <span class="o">}</span>
diff --git a/content/feed.xml b/content/feed.xml
index a45e255..3388861 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,130 +1,130 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.5">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-10-14T19:03:28+08:00</updated><id>/feed.xml</id><title type="html">Apache ServiceComb</title><subtitle>The homepage of ServiceComb</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot [...]
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.5">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-10-17T10:34:41+08:00</updated><id>/feed.xml</id><title type="html">Apache ServiceComb</title><subtitle>The homepage of ServiceComb</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot [...]
 
-&lt;p&gt;The event invited the chairman of the Apache Foundation, the chairman of the Apache Incubator Project Management Committee, Apache Member, Apache Committer, and Huawei Cloud PaaS team architect. They shared the “Apache Explained”, “The Apache Incubator”, “ServiceComb Incubating Journey”, “Apache ServiceComb-Innovative Microservices”, “HUAWEI CLOUD Microservice Tool Improves Development Efficiency”, etc. Many micro-service technologies and experience. ServiceComb community has al [...]
+&lt;p&gt;本次活动邀请了Apache基金会主席、Apache孵化器项目管理委员会主席、Apache Member、Apache Committer、华为云PaaS团队架构师,携手为大家分享了Apache基金会介绍、Apache 孵化器的运作、ServiceComb的Apache孵化之路分享、Apache ServiceComb:微服务创新项目解读、华为云微服务工具解放开发者等诸多微服务技术及经验,ServiceComb社区也重磅发布了一系列解决用户应用微服务化痛点的创新新品。&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Session 1: The Apache Way&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Session 1: 《Apache软件基金会开源开发详解》&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;The Apache Software Foundation is the world’s largest open source foundation and currently has more than 300 open source projects covering big data, cloud computing, server and web frameworks, build management, content management, and the Internet of Things. Foundation members introduced the Apache Software Foundation, open source community governance principles, and the operating mechanism of the Apache incubator, and shared the Apache project’s successful incubation experience [...]
+&lt;p&gt;Apache软件基金会是全球最大的开源基金会,目前拥有300多个开源项目,涵盖大数据、云计算、服务器和Web框架、构建管理、内容管理、物联网等众多领域。基金会成员介绍了Apache软件基金会,开源社区治理原则,以及Apache孵化器的运作机制,并以华为捐赠的Apache ServiceComb孵化经历,分享Apache项目的孵化成功经验。&lt;/p&gt;
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/The_Apache_Way_En.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/The_Apache_Way_En.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/The_Apache_Way_En.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/apache.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Apache Explained&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;《Apache基金会介绍》&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Craig Russell, Chairman of the ASF, Apache Software Foundation:&lt;/strong&gt; A detailed introduction to the history and current state of the Apache Foundation and its core principles.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Craig Russell, Apache基金会主席:&lt;/strong&gt; 详细的介绍的Apache基金会的历史和现状及核心原则。&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/introduction.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;The Apache Incubator&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Justin Mclean, Apache孵化器项目管理委员会主席:&lt;/strong&gt; 详解了Apache孵化器的运作机制以及Apache协议的特点,Apache项目的发布流程。&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Justin Mclean, Chairman of the Apache IPMC, Apache Software Foundation:&lt;/strong&gt;  Explains the operating mechanism of the Apache incubator and the features of the Apache protocol, and the release process for the Apache project.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;《Apache 孵化器的运作》&lt;/strong&gt;&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/process.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;ServiceComb Incubating Journey&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;姜宁,华为开源软件部技术专家,Apache软件基金会会员:&lt;/strong&gt; 分享了华为捐赠的Apache ServiceComb成功孵化的实战经验,并对如何更好的发展开源社区给出了自己的总结和建议。&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Willem Jiang, Huawei Open Source Expert, ASF Member:&lt;/strong&gt; Shared the practical experience of Huawei’s donated Apache ServiceComb successful incubation, and gave its own summary and suggestions on how to better develop the open source community.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;《ServiceComb的Apache孵化之路》&lt;/strong&gt;&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/incubation.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
-&lt;p&gt;&lt;strong&gt;Session 2: Innovative Microservices for More Efficient Development&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Session 2: 《庖丁解牛: 微服务创新实践解放开发者》&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;The Apache ServiceComb community has listened carefully to the pain points encountered by users implementing the microservices architecture. The first half of this topic will share these pain points and incubate projects to solve some pain points. I hope to discuss with users how to solve the problems in micro-service practice. The second half of this topic will introduce the micro-service tool innovation practices that work hand-in-hand with users.&lt;/p&gt;
+&lt;p&gt;Apache ServiceComb社区认真的听取了用户实施微服务架构中遇到的痛点。本主题前半部分将和大家分享这些获取到的痛点和为解决部分痛点而孵化项目,期望与用户一起思考如何去摆平微服务化实践中的难题。本主题后半部分将介绍与用户携手实践出真知的微服务化工具创新实践。&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/servicecomb.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Apache ServiceComb-Innovative Microservices&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;《Apache ServiceComb:微服务创新项目解读》&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Ma Bin, Huawei Open Source Architect, Apache Committer:&lt;/strong&gt; Interpret the innovative project architecture, roadmap and scenario cases launched by the ServiceComb community for user pain points, including: multi-language operating environment, micro-service contract tools, heterogeneous communication in service centers, distributed configuration centers, micro-service authentication; The convening order calls for more interested fans to contribute to the  [...]
+&lt;p&gt;&lt;strong&gt;马彬,华为开源软件部架构师,Apache Committer:&lt;/strong&gt; 解读ServiceComb社区针对用户痛点所推出的创新项目架构、roadmap及场景案例,包括:多语言运行环境、微服务契约工具、服务中心异构通信、分布式配置中心、微服务鉴权;同时向社区发出召集令,号召更多的兴趣爱好者投入开源社区贡献。&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/innovative.jpg&quot; alt=&quot;2&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
 
-&lt;p&gt;&lt;strong&gt;HUAWEI CLOUD Microservice Tool Improves Development Efficiency&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;《华为云微服务工具解放开发者》&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Wang Qijun, Huawei Cloud PaaS Architect:&lt;/strong&gt; Based on the practice of ServiceComb, Huawei Cloud Micro Service shared the micro-service splitting tools and contract management tools, which are the two developers/users with the highest attention.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;王启军, 华为云PaaS团队架构师:&lt;/strong&gt; 华为云微服务基于ServiceComb的实践,通过案例分享了微服务拆分工具,契约管理工具这2个开发者/用户关注度最高的微服务工具。&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/efficiency.jpg&quot; alt=&quot;4&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
 
-&lt;p&gt;&lt;strong&gt;About the Apache ServiceComb&lt;/strong&gt;:&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;关于Apache ServiceComb 项目&lt;/strong&gt;:&lt;/p&gt;
 
-&lt;p&gt;Apache ServiceComb, the main code of the Apache Software Foundation Incubation Project, donated by Huawei Cloud, is dedicated to helping enterprises easily build cloud native applications and traditional enterprise business rapid micro-services, helping users quickly develop micro-services through a series of solutions to achieve these Efficient operation and maintenance management of microservice applications. It has a complete micro-service ecological stack, no vendor lock-in, [...]
+&lt;p&gt;ServiceComb Apache软件基金会孵化项目的主体代码由华为云捐赠,致力于帮助企业轻松构建云原生应用及传统企业业务快速微服务化,通过系列解决方案帮助用户快速开发微服务的同时实现对这些微服务应用的高效运维管理。它具有完整的微服务生态栈,无厂商锁定,当前遵循Apache Way进行孵化,已拥有如消费者云、云EI、云安全、云核等华为业务之外的一批非华为商用用户,且社区和开发者也日趋多样化。&lt;/p&gt;
 
 &lt;hr /&gt;
-&lt;p&gt;&lt;strong&gt;more questions, welcome to scan the QR code or WeChat to add “ServiceComb Assistant&lt;/strong&gt;
-&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Mabin</name></author><category term="microservice" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)</summary></entry><entry xml:lang="cn"><title type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT Download)</title><link href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-Report/" rel="alternate" type=" [...]
+&lt;p&gt;&lt;strong&gt;如您有更多问题关于Aapche ServiceComb,欢迎您扫码或微信添加“ServiceComb小助手”,我们将认真对待您的每一个问题&lt;/strong&gt;
+&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Dean Lee</name></author><category term="microservice" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)</summary></entry><entry xml:lang="en"><title type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT Download)</title><link href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-Report/" rel="alternate" type=" [...]
 
-&lt;p&gt;本次活动邀请了Apache基金会主席、Apache孵化器项目管理委员会主席、Apache Member、Apache Committer、华为云PaaS团队架构师,携手为大家分享了Apache基金会介绍、Apache 孵化器的运作、ServiceComb的Apache孵化之路分享、Apache ServiceComb:微服务创新项目解读、华为云微服务工具解放开发者等诸多微服务技术及经验,ServiceComb社区也重磅发布了一系列解决用户应用微服务化痛点的创新新品。&lt;/p&gt;
+&lt;p&gt;The event invited the chairman of the Apache Foundation, the chairman of the Apache Incubator Project Management Committee, Apache Member, Apache Committer, and Huawei Cloud PaaS team architect. They shared the “Apache Explained”, “The Apache Incubator”, “ServiceComb Incubating Journey”, “Apache ServiceComb-Innovative Microservices”, “HUAWEI CLOUD Microservice Tool Improves Development Efficiency”, etc. Many micro-service technologies and experience. ServiceComb community has al [...]
 
-&lt;p&gt;&lt;strong&gt;Session 1: 《Apache软件基金会开源开发详解》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Session 1: The Apache Way&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;Apache软件基金会是全球最大的开源基金会,目前拥有300多个开源项目,涵盖大数据、云计算、服务器和Web框架、构建管理、内容管理、物联网等众多领域。基金会成员介绍了Apache软件基金会,开源社区治理原则,以及Apache孵化器的运作机制,并以华为捐赠的Apache ServiceComb孵化经历,分享Apache项目的孵化成功经验。&lt;/p&gt;
+&lt;p&gt;The Apache Software Foundation is the world’s largest open source foundation and currently has more than 300 open source projects covering big data, cloud computing, server and web frameworks, build management, content management, and the Internet of Things. Foundation members introduced the Apache Software Foundation, open source community governance principles, and the operating mechanism of the Apache incubator, and shared the Apache project’s successful incubation experience [...]
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/The_Apache_Way_En.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/The_Apache_Way_En.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/The_Apache_Way_En.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/apache.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;《Apache基金会介绍》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Apache Explained&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Craig Russell, Apache基金会主席:&lt;/strong&gt; 详细的介绍的Apache基金会的历史和现状及核心原则。&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Craig Russell, Chairman of the ASF, Apache Software Foundation:&lt;/strong&gt; A detailed introduction to the history and current state of the Apache Foundation and its core principles.&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/introduction.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;Justin Mclean, Apache孵化器项目管理委员会主席:&lt;/strong&gt; 详解了Apache孵化器的运作机制以及Apache协议的特点,Apache项目的发布流程。&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;The Apache Incubator&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;《Apache 孵化器的运作》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Justin Mclean, Chairman of the Apache IPMC, Apache Software Foundation:&lt;/strong&gt;  Explains the operating mechanism of the Apache incubator and the features of the Apache protocol, and the release process for the Apache project.&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/process.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;姜宁,华为开源软件部技术专家,Apache软件基金会会员:&lt;/strong&gt; 分享了华为捐赠的Apache ServiceComb成功孵化的实战经验,并对如何更好的发展开源社区给出了自己的总结和建议。&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;ServiceComb Incubating Journey&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;《ServiceComb的Apache孵化之路》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Willem Jiang, Huawei Open Source Expert, ASF Member:&lt;/strong&gt; Shared the practical experience of Huawei’s donated Apache ServiceComb successful incubation, and gave its own summary and suggestions on how to better develop the open source community.&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/incubation.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
-&lt;p&gt;&lt;strong&gt;Session 2: 《庖丁解牛: 微服务创新实践解放开发者》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Session 2: Innovative Microservices for More Efficient Development&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;Apache ServiceComb社区认真的听取了用户实施微服务架构中遇到的痛点。本主题前半部分将和大家分享这些获取到的痛点和为解决部分痛点而孵化项目,期望与用户一起思考如何去摆平微服务化实践中的难题。本主题后半部分将介绍与用户携手实践出真知的微服务化工具创新实践。&lt;/p&gt;
+&lt;p&gt;The Apache ServiceComb community has listened carefully to the pain points encountered by users implementing the microservices architecture. The first half of this topic will share these pain points and incubate projects to solve some pain points. I hope to discuss with users how to solve the problems in micro-service practice. The second half of this topic will introduce the micro-service tool innovation practices that work hand-in-hand with users.&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/servicecomb.jpg&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;《Apache ServiceComb:微服务创新项目解读》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Apache ServiceComb-Innovative Microservices&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/Apache_ServiceComb-Innovative_Microservices.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;马彬,华为开源软件部架构师,Apache Committer:&lt;/strong&gt; 解读ServiceComb社区针对用户痛点所推出的创新项目架构、roadmap及场景案例,包括:多语言运行环境、微服务契约工具、服务中心异构通信、分布式配置中心、微服务鉴权;同时向社区发出召集令,号召更多的兴趣爱好者投入开源社区贡献。&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Ma Bin, Huawei Open Source Architect, Apache Committer:&lt;/strong&gt; Interpret the innovative project architecture, roadmap and scenario cases launched by the ServiceComb community for user pain points, including: multi-language operating environment, micro-service contract tools, heterogeneous communication in service centers, distributed configuration centers, micro-service authentication; The convening order calls for more interested fans to contribute to the  [...]
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/innovative.jpg&quot; alt=&quot;2&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
 
-&lt;p&gt;&lt;strong&gt;《华为云微服务工具解放开发者》&lt;/strong&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;HUAWEI CLOUD Microservice Tool Improves Development Efficiency&lt;/strong&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;中文PDF下载&lt;/a&gt;  &lt;a href=&quot;/assets/slides/20190920/EN/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;英文PDF下载&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;/assets/slides/20190920/EN/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf&quot;&gt;PDF Download&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;王启军, 华为云PaaS团队架构师:&lt;/strong&gt; 华为云微服务基于ServiceComb的实践,通过案例分享了微服务拆分工具,契约管理工具这2个开发者/用户关注度最高的微服务工具。&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Wang Qijun, Huawei Cloud PaaS Architect:&lt;/strong&gt; Based on the practice of ServiceComb, Huawei Cloud Micro Service shared the micro-service splitting tools and contract management tools, which are the two developers/users with the highest attention.&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/hc2019/efficiency.jpg&quot; alt=&quot;4&quot; /&gt;&lt;/p&gt;
 
 &lt;hr /&gt;
 
-&lt;p&gt;&lt;strong&gt;关于Apache ServiceComb 项目&lt;/strong&gt;:&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;About the Apache ServiceComb&lt;/strong&gt;:&lt;/p&gt;
 
-&lt;p&gt;ServiceComb Apache软件基金会孵化项目的主体代码由华为云捐赠,致力于帮助企业轻松构建云原生应用及传统企业业务快速微服务化,通过系列解决方案帮助用户快速开发微服务的同时实现对这些微服务应用的高效运维管理。它具有完整的微服务生态栈,无厂商锁定,当前遵循Apache Way进行孵化,已拥有如消费者云、云EI、云安全、云核等华为业务之外的一批非华为商用用户,且社区和开发者也日趋多样化。&lt;/p&gt;
+&lt;p&gt;Apache ServiceComb, the main code of the Apache Software Foundation Incubation Project, donated by Huawei Cloud, is dedicated to helping enterprises easily build cloud native applications and traditional enterprise business rapid micro-services, helping users quickly develop micro-services through a series of solutions to achieve these Efficient operation and maintenance management of microservice applications. It has a complete micro-service ecological stack, no vendor lock-in, [...]
 
 &lt;hr /&gt;
-&lt;p&gt;&lt;strong&gt;如您有更多问题关于Aapche ServiceComb,欢迎您扫码或微信添加“ServiceComb小助手”,我们将认真对待您的每一个问题&lt;/strong&gt;
-&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Dean Lee</name></author><category term="microservice" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)</summary></entry><entry xml:lang="cn"><title type="html">如何给微服务架构的项目做验收测试?</title><link href="/cn/docs/how-to-do-microservice-accept-test/" rel="alternate" type="text/html" title="如何给微服务架构的项目做验收测试?" /><published>2019-07-04 [...]
+&lt;p&gt;&lt;strong&gt;more questions, welcome to scan the QR code or WeChat to add “ServiceComb Assistant&lt;/strong&gt;
+&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Mabin</name></author><category term="microservice" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)</summary></entry><entry xml:lang="cn"><title type="html">如何给微服务架构的项目做验收测试?</title><link href="/cn/docs/how-to-do-microservice-accept-test/" rel="alternate" type="text/html" title="如何给微服务架构的项目做验收测试?" /><published>2019-07-04T00 [...]
 
 &lt;p&gt;基于微服务架构的应用相对于单体架构的应用而言在验收测试阶段具有以下挑战:&lt;/p&gt;
 
@@ -150,29 +150,29 @@
 &lt;p&gt;下面是Product的Schema:&lt;/p&gt;
 
 &lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;p&gt;下面是ProductPrice的Schema:&lt;/p&gt;
 
 &lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;price&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;number&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;price&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;number&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;p&gt;Product Service返回的Schema则是:&lt;/p&gt;
 
 &lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-  &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;products&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;products&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
     &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-      &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-      &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-      &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-      &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;price&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&amp;lt;number&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&amp;lt;string&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;price&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&amp;lt;number&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
     &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
@@ -298,16 +298,16 @@ ENDRULE
 
 &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Stepdefs&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
 
-  &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n [...]
+  &lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&qu [...]
 
   &lt;span class=&quot;nd&quot;&gt;@Given&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;^Product Service is up and running$&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;productServiceIsUpAndRunning&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;probe&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Product Service&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PRODUCT_ADDRESS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+    &lt;span class=&quot;n&quot;&gt;probe&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Product Service&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;PRODUCT_ADDRESS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
   &lt;span class=&quot;nd&quot;&gt;@And&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;^Product Price Service is up and running$&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;productPriceServiceIsUpAndRunning&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;probe&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Product Price Service&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PRODUCT_PRICE_ADDRESS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+    &lt;span class=&quot;n&quot;&gt;probe&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Product Price Service&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;PRODUCT_PRICE_ADDRESS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;n&quot;&gt;clearBytemanScript&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
@@ -315,22 +315,22 @@ ENDRULE
   &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;queryProductList&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;n&quot;&gt;answer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;given&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;when&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
-      &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRODUCT_ADDRESS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/products&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
+      &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;PRODUCT_ADDRESS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/products&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;then&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;statusCode&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;is&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;))&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;extract&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;jsonPath&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;
-      &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getList&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;products&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+      &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getList&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;products&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
   &lt;span class=&quot;nd&quot;&gt;@Given&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;^Install the byteman script ([A-Za-z0-9_\\.]+) to Product Price Service$&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-  &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;injectExceptionIntoProductPriceService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bytemanScript&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;throws&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Exception&lt;/ [...]
+  &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;injectExceptionIntoProductPriceService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bytemanScript&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;throws&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Exception&lt [...]
     &lt;span class=&quot;n&quot;&gt;injectBytemanScript&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;target/test-classes/&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bytemanScript&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
   &lt;span class=&quot;nd&quot;&gt;@Then&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;^Get following products$&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-  &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;compareResult&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot [...]
+  &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;compareResult&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Map&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&q [...]
     &lt;span class=&quot;n&quot;&gt;assertThat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;answer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;containsExactlyInAnyOrderElementsOf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;expected&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
@@ -578,37 +578,37 @@ ENDRULE
 
 &lt;hr /&gt;
 &lt;p&gt;&lt;strong&gt;如您有更多问题关于Aapche ServiceComb,欢迎您扫码或微信添加“ServiceComb小助手”,我们将认真对待您的每一个问题&lt;/strong&gt;
-&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Mabin</name></author><category term="微服务" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup</summary></entry><entry xml:lang="en"><title type="html">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka</title><link href="/docs/servicecomb-pack-eureka/" rel="alternate" type="text/html" title="ServiceComb Pack 0.4.0 Integrated Discovery Service : Eurek [...]
+&lt;img src=&quot;/assets/images/QRcode.png&quot; alt=&quot;1&quot; /&gt;&lt;/p&gt;</content><author><name>Mabin</name></author><category term="微服务" /><category term="Meetup" /><summary type="html">Apache ServiceComb Meetup</summary></entry><entry xml:lang="cn"><title type="html">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka</title><link href="/cn/docs/servicecomb-pack-eureka/" rel="alternate" type="text/html" title="ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka" /><published [...]
 
-&lt;h3 id=&quot;compile-with-eureka&quot;&gt;Compile with Eureka&lt;/h3&gt;
+&lt;h3 id=&quot;编译支持-eureka-的版本&quot;&gt;编译支持 Eureka 的版本&lt;/h3&gt;
 
-&lt;p&gt;Pack doesn’t include Eureka support by default,you can use profile &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-cloud-eureka&lt;/code&gt; to enable the feature of eureka when building the code of Pack.&lt;/p&gt;
+&lt;p&gt;默认发行版不包含 Eureka 的支持,你需要使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-cloud-eureka&lt;/code&gt; 参数编译支持 Eureka 的版本&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone https://github.com/apache/servicecomb-pack.git
 &lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;servicecomb-pack
-mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Pspring-boot-2&lt;/span&gt;,spring-cloud-eureka
+mvn clean &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Pspring-boot-2&lt;/span&gt;,spring-cloud-eureka
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;run-eureka&quot;&gt;Run Eureka&lt;/h3&gt;
+&lt;h3 id=&quot;启动-eureka&quot;&gt;启动 Eureka&lt;/h3&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Start Eureka with Docker, please refer to the official website &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#spring-cloud-eureka-server&quot;&gt;https://cloud.spring.io&lt;/a&gt; for more information.&lt;/li&gt;
+  &lt;li&gt;使用 Docker 启动 Eureka,更多方式请参考官方网站 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#spring-cloud-eureka-server&quot;&gt;https://cloud.spring.io&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; 8761:8761 springcloud/eureka
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Eureka UI&lt;/li&gt;
+  &lt;li&gt;访问 Eureka UI&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;Visit http://0.0.0.0:8761 in the browser, you can see the following page shows that Eureka is started successfully&lt;/p&gt;
+&lt;p&gt;在浏览器中访问 http://0.0.0.0:8761  ,能看到如下页面表示 Eureka 启动成功&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-15-servicecomb-pack-eureka/eureka-main.png&quot; alt=&quot;eureka_main&quot; /&gt;&lt;/p&gt;
 
-&lt;h3 id=&quot;run-alpha&quot;&gt;Run Alpha&lt;/h3&gt;
+&lt;h3 id=&quot;启动-alpha&quot;&gt;启动 Alpha&lt;/h3&gt;
 
-&lt;p&gt;Enable registration to Eureka with the configuration of &lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.enabled=true&lt;/code&gt;&lt;/p&gt;
+&lt;p&gt;注册中心功能通过设置  &lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.enabled=true&lt;/code&gt; 参数开启&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
@@ -620,13 +620,13 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
   &lt;span class=&quot;nt&quot;&gt;--eureka&lt;/span&gt;.client.service-url.defaultZone&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;http://0.0.0.0:8761/eureka &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.profiles.active&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;prd 
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Check out for Eureka more details &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 1.x&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;注意:&lt;/strong&gt; 更多 eureka 参数请参考 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 1.x&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;After Alpha is launched, you can see that you have registered to Eureka&lt;/p&gt;
+&lt;p&gt;Alpha 启动完毕后可以看到已经注册到 Eureka&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-15-servicecomb-pack-eureka/alpha_register_to_eureka.png&quot; alt=&quot;alpha_register_to_eureka&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;Use &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://127.0.0.1:8761/eureka/apps/&lt;/code&gt; You can see that Alpha’s gRPC service address and port have been registered in Eureka’s Metadata&lt;/p&gt;
+&lt;p&gt;执行命令 &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://127.0.0.1:8761/eureka/apps/&lt;/code&gt; 可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Eureka 的 Metadata 中&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;applications&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;versions__delta&amp;gt;&lt;/span&gt;1&lt;span class=&quot;nt&quot;&gt;&amp;lt;/versions__delta&amp;gt;&lt;/span&gt;
@@ -671,15 +671,15 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/applications&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;configuring-the-omega-side&quot;&gt;Configuring the Omega side&lt;/h3&gt;
+&lt;h3 id=&quot;配置-omega-端&quot;&gt;配置 Omega 端&lt;/h3&gt;
 
 &lt;blockquote&gt;
-  &lt;p&gt;ServiceComb Pack 0.4.0 Omega defaults use Spring Boot 2.x Spring and Spring Cloud Netflix 2.x, If your Omega side project base on Spring Boot 1.x you can use &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; to rebuild ServiceComb Pack to Spring Boot 1.x and Spring Cloud Netflix 1.x&lt;/p&gt;
+  &lt;p&gt;ServiceComb Pack 0.4.0 Omega 默认依赖 Spring Boot 2.x Spring 和 Spring Cloud Netflix 2.x ,如果你的 Omega 端项目依赖 Spring Boot 1.x 你可以使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; 参数重新编译 Spring Boot 1.x 和 Spring Cloud Netflix 1.x 的版本&lt;/p&gt;
 &lt;/blockquote&gt;
 
-&lt;p&gt;Modify the original omega project&lt;/p&gt;
+&lt;p&gt;修改原有 omega 端项目&lt;/p&gt;
 
-&lt;p&gt;add dependencies&lt;/p&gt;
+&lt;p&gt;增加以下依赖&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.servicecomb.pack&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -688,7 +688,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;Add the following to &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt;&lt;/p&gt;
+&lt;p&gt;在 &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt; 添加下面的配置项&lt;/p&gt;
 
 &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;eureka&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;client&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -699,41 +699,38 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
     &lt;span class=&quot;na&quot;&gt;register&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
       &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;eureka&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.service-url.defaultZone&lt;/code&gt; property is set to the Eureka server’s instance address, check out Spring Boot’s  &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; or &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_cl [...]
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.service-url.defaultZone&lt;/code&gt; 配置 Eureka 注册中心的地址,更多 Eureka 客户端配置可以参考&lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; 或 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot; [...]
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=eureka&lt;/code&gt;  property is omega gets alpha gRPC address from Eureka&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=eureka&lt;/code&gt; 配置 Omega 获取Alpha的方式是通过 Eureka 的注册中心&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;spring boot version compatible&lt;/p&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;
+    &lt;p&gt;spring boot 版本兼容&lt;/p&gt;
 
-&lt;p&gt;If your project is not using spring boot 2.1.1, please refer to this list to add a compatible spring-cloud-starter-netflix-eureka-client version&lt;/p&gt;
+    &lt;p&gt;如果你的项目使用的不是 spring boot 2.1.1 版本,那么请参照此列表增加兼容的 spring-cloud-starter-consul-discovery 版本&lt;/p&gt;
 
-&lt;table&gt;
-  &lt;thead&gt;
-    &lt;tr&gt;
-      &lt;th&gt;spring boot&lt;/th&gt;
-      &lt;th&gt;spring-cloud-starter-netflix-eureka-client&lt;/th&gt;
-    &lt;/tr&gt;
-  &lt;/thead&gt;
-  &lt;tbody&gt;
-    &lt;tr&gt;
-      &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
-      &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
-    &lt;/tr&gt;
-    &lt;tr&gt;
-      &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
-      &lt;td&gt;2.0.3.RELEASE&lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;/tbody&gt;
-&lt;/table&gt;
+    &lt;table&gt;
+      &lt;thead&gt;
+        &lt;tr&gt;
+          &lt;th&gt;spring boot&lt;/th&gt;
+          &lt;th&gt;spring-cloud-starter-netflix-eureka-client&lt;/th&gt;
+        &lt;/tr&gt;
+      &lt;/thead&gt;
+      &lt;tbody&gt;
+        &lt;tr&gt;
+          &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
+          &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
+        &lt;/tr&gt;
+        &lt;tr&gt;
+          &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
+          &lt;td&gt;2.0.3.RELEASE&lt;/td&gt;
+        &lt;/tr&gt;
+      &lt;/tbody&gt;
+    &lt;/table&gt;
 
-&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
+    &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
       &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -742,37 +739,39 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Eureka" /><category term="Discovery" /><summary type="html">ServiceComb Pack Integrated Discovery Service Eurek</summary></entry><entry xml:lang="cn"><title type="html">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka</title><link href="/cn/docs/servicecomb-pack-eu [...]
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Spring Cloud Eureka" /><category term="Discovery" /><summary type="html">ServiceComb Pack 集成发现服务 Eureka</summary></entry><entry xml:lang="en"><title type="html">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka</title><link href="/docs/servicecomb-pack-eureka/" rel="alternate" type="text/html"  [...]
 
-&lt;h3 id=&quot;编译支持-eureka-的版本&quot;&gt;编译支持 Eureka 的版本&lt;/h3&gt;
+&lt;h3 id=&quot;compile-with-eureka&quot;&gt;Compile with Eureka&lt;/h3&gt;
 
-&lt;p&gt;默认发行版不包含 Eureka 的支持,你需要使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-cloud-eureka&lt;/code&gt; 参数编译支持 Eureka 的版本&lt;/p&gt;
+&lt;p&gt;Pack doesn’t include Eureka support by default,you can use profile &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-cloud-eureka&lt;/code&gt; to enable the feature of eureka when building the code of Pack.&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone https://github.com/apache/servicecomb-pack.git
 &lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;servicecomb-pack
-mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Pspring-boot-2&lt;/span&gt;,spring-cloud-eureka
+mvn clean &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-Pspring-boot-2&lt;/span&gt;,spring-cloud-eureka
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;启动-eureka&quot;&gt;启动 Eureka&lt;/h3&gt;
+&lt;h3 id=&quot;run-eureka&quot;&gt;Run Eureka&lt;/h3&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;使用 Docker 启动 Eureka,更多方式请参考官方网站 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#spring-cloud-eureka-server&quot;&gt;https://cloud.spring.io&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Start Eureka with Docker, please refer to the official website &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#spring-cloud-eureka-server&quot;&gt;https://cloud.spring.io&lt;/a&gt; for more information.&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; 8761:8761 springcloud/eureka
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;访问 Eureka UI&lt;/li&gt;
+  &lt;li&gt;Eureka UI&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;在浏览器中访问 http://0.0.0.0:8761  ,能看到如下页面表示 Eureka 启动成功&lt;/p&gt;
+&lt;p&gt;Visit http://0.0.0.0:8761 in the browser, you can see the following page shows that Eureka is started successfully&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-15-servicecomb-pack-eureka/eureka-main.png&quot; alt=&quot;eureka_main&quot; /&gt;&lt;/p&gt;
 
-&lt;h3 id=&quot;启动-alpha&quot;&gt;启动 Alpha&lt;/h3&gt;
+&lt;h3 id=&quot;run-alpha&quot;&gt;Run Alpha&lt;/h3&gt;
 
-&lt;p&gt;注册中心功能通过设置  &lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.enabled=true&lt;/code&gt; 参数开启&lt;/p&gt;
+&lt;p&gt;Enable registration to Eureka with the configuration of &lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.enabled=true&lt;/code&gt;&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
@@ -784,13 +783,13 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
   &lt;span class=&quot;nt&quot;&gt;--eureka&lt;/span&gt;.client.service-url.defaultZone&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;http://0.0.0.0:8761/eureka &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.profiles.active&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;prd 
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;p&gt;&lt;strong&gt;注意:&lt;/strong&gt; 更多 eureka 参数请参考 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 1.x&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Check out for Eureka more details &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 1.x&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;Alpha 启动完毕后可以看到已经注册到 Eureka&lt;/p&gt;
+&lt;p&gt;After Alpha is launched, you can see that you have registered to Eureka&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-15-servicecomb-pack-eureka/alpha_register_to_eureka.png&quot; alt=&quot;alpha_register_to_eureka&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;执行命令 &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://127.0.0.1:8761/eureka/apps/&lt;/code&gt; 可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Eureka 的 Metadata 中&lt;/p&gt;
+&lt;p&gt;Use &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://127.0.0.1:8761/eureka/apps/&lt;/code&gt; You can see that Alpha’s gRPC service address and port have been registered in Eureka’s Metadata&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;applications&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;versions__delta&amp;gt;&lt;/span&gt;1&lt;span class=&quot;nt&quot;&gt;&amp;lt;/versions__delta&amp;gt;&lt;/span&gt;
@@ -835,15 +834,15 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/applications&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;配置-omega-端&quot;&gt;配置 Omega 端&lt;/h3&gt;
+&lt;h3 id=&quot;configuring-the-omega-side&quot;&gt;Configuring the Omega side&lt;/h3&gt;
 
 &lt;blockquote&gt;
-  &lt;p&gt;ServiceComb Pack 0.4.0 Omega 默认依赖 Spring Boot 2.x Spring 和 Spring Cloud Netflix 2.x ,如果你的 Omega 端项目依赖 Spring Boot 1.x 你可以使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; 参数重新编译 Spring Boot 1.x 和 Spring Cloud Netflix 1.x 的版本&lt;/p&gt;
+  &lt;p&gt;ServiceComb Pack 0.4.0 Omega defaults use Spring Boot 2.x Spring and Spring Cloud Netflix 2.x, If your Omega side project base on Spring Boot 1.x you can use &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; to rebuild ServiceComb Pack to Spring Boot 1.x and Spring Cloud Netflix 1.x&lt;/p&gt;
 &lt;/blockquote&gt;
 
-&lt;p&gt;修改原有 omega 端项目&lt;/p&gt;
+&lt;p&gt;Modify the original omega project&lt;/p&gt;
 
-&lt;p&gt;增加以下依赖&lt;/p&gt;
+&lt;p&gt;add dependencies&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.servicecomb.pack&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -852,7 +851,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;在 &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt; 添加下面的配置项&lt;/p&gt;
+&lt;p&gt;Add the following to &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt;&lt;/p&gt;
 
 &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;eureka&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;client&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -863,38 +862,41 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
     &lt;span class=&quot;na&quot;&gt;register&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
       &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;eureka&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.service-url.defaultZone&lt;/code&gt; 配置 Eureka 注册中心的地址,更多 Eureka 客户端配置可以参考&lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; 或 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot; [...]
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;eureka.client.service-url.defaultZone&lt;/code&gt; property is set to the Eureka server’s instance address, check out Spring Boot’s  &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter&quot;&gt;Spring Cloud Netflix 2.x&lt;/a&gt; or &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_cl [...]
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=eureka&lt;/code&gt; 配置 Omega 获取Alpha的方式是通过 Eureka 的注册中心&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=eureka&lt;/code&gt;  property is omega gets alpha gRPC address from Eureka&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;spring boot 版本兼容&lt;/p&gt;
+    &lt;p&gt;spring boot version compatible&lt;/p&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 
-    &lt;p&gt;如果你的项目使用的不是 spring boot 2.1.1 版本,那么请参照此列表增加兼容的 spring-cloud-starter-consul-discovery 版本&lt;/p&gt;
+&lt;p&gt;If your project is not using spring boot 2.1.1, please refer to this list to add a compatible spring-cloud-starter-netflix-eureka-client version&lt;/p&gt;
 
-    &lt;table&gt;
-      &lt;thead&gt;
-        &lt;tr&gt;
-          &lt;th&gt;spring boot&lt;/th&gt;
-          &lt;th&gt;spring-cloud-starter-netflix-eureka-client&lt;/th&gt;
-        &lt;/tr&gt;
-      &lt;/thead&gt;
-      &lt;tbody&gt;
-        &lt;tr&gt;
-          &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
-          &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
-        &lt;/tr&gt;
-        &lt;tr&gt;
-          &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
-          &lt;td&gt;2.0.3.RELEASE&lt;/td&gt;
-        &lt;/tr&gt;
-      &lt;/tbody&gt;
-    &lt;/table&gt;
+&lt;table&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;spring boot&lt;/th&gt;
+      &lt;th&gt;spring-cloud-starter-netflix-eureka-client&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
+      &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
+    &lt;/tr&gt;
+    &lt;tr&gt;
+      &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
+      &lt;td&gt;2.0.3.RELEASE&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
 
-    &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
       &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -903,30 +905,28 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Spring Cloud Eureka" /><category term="Discovery" /><summary type="html">ServiceComb Pack 集成发现服务 Eureka</summary></entry><entry xml:lang="en"><title type="html">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul</title><link href="/docs/servicecomb-pack-consul/" rel="alternate" type="text/html"  [...]
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Eureka" /><category term="Discovery" /><summary type="html">ServiceComb Pack Integrated Discovery Service Eurek</summary></entry><entry xml:lang="cn"><title type="html">ServiceComb Pack 0.4.0 集成发现服务 : Consul</title><link href="/cn/docs/servicecomb-pack-consul/" rel="a [...]
 
-&lt;h3 id=&quot;run-consul&quot;&gt;Run Consul&lt;/h3&gt;
+&lt;h3 id=&quot;启动-consul&quot;&gt;启动 Consul&lt;/h3&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Start Consul with Docker, please refer to the official website &lt;a href=&quot;https://www.consul.io&quot;&gt;https://www.consul.io&lt;/a&gt; for more ways&lt;/li&gt;
+  &lt;li&gt;使用 Docker 启动 Consul,更多方式请参考官方网站 &lt;a href=&quot;https://www.consul.io&quot;&gt;https://www.consul.io&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; 8500:8500 consul
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Consul UI&lt;/li&gt;
+  &lt;li&gt;访问 Consul UI&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;Visit http://0.0.0.0:8500 in the browser, you can see the following page indicates that Consul started successfully&lt;/p&gt;
+&lt;p&gt;在浏览器中访问 http://0.0.0.0:8500  ,能看到如下页面表示 Consul 启动成功&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-12-servicecomb-pack-consul/consul_main.png&quot; alt=&quot;consul_main&quot; /&gt;&lt;/p&gt;
 
-&lt;h3 id=&quot;run-alpha&quot;&gt;Run Alpha&lt;/h3&gt;
+&lt;h3 id=&quot;启动-alpha&quot;&gt;启动 Alpha&lt;/h3&gt;
 
-&lt;p&gt;Enable registration to Consul with the parameter &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.enabled = true&lt;/code&gt;&lt;/p&gt;
+&lt;p&gt;注册中心功能通过设置 &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.enabled=true&lt;/code&gt; 参数开启&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
@@ -939,44 +939,44 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.cloud.consul.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8500 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.profiles.active&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;prd 
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Check out for Consul more details &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/1.3.x/single/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 1.x&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;注意:&lt;/strong&gt; 更多 Consul 参数请参考 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/1.3.x/single/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 1.x&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;After Alpha is launched, you can see that you have registered to Consul&lt;/p&gt;
+&lt;p&gt;Alpha 启动完毕后可以看到已经注册到 Consul&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-12-servicecomb-pack-consul/alpha_register_to_consul.png&quot; alt=&quot;alpha_register_to_consul&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;Use &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://0.0.0.0:8500/v1/agent/services&lt;/code&gt; You can see that Alpha’s gRPC address and port have been registered in Consul’s Tags&lt;/p&gt;
+&lt;p&gt;执行命令行 &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://0.0.0.0:8500/v1/agent/services&lt;/code&gt; 可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Consul 的 Tags 中&lt;/p&gt;
 
 &lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-    &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;ID&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Service&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;ID&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Service&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;alpha-server-host=0.0.0.0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;alpha-server-port=8080&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;secure=false&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
         &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Meta&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Port&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8090&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Address&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;192.168.1.116&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Weights&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-            &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Passing&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-            &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Warning&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Meta&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Port&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8090&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Address&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;192.168.1.116&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Weights&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Passing&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Warning&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
         &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;EnableTagOverride&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;EnableTagOverride&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
     &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;configuring-the-omega-side&quot;&gt;Configuring the Omega side&lt;/h3&gt;
+&lt;h3 id=&quot;配置-omega-端&quot;&gt;配置 Omega 端&lt;/h3&gt;
 
 &lt;blockquote&gt;
-  &lt;p&gt;ServiceComb Pack 0.4.0 Omega defaults use Spring Boot 2.x Spring and Cloud Consul 2.x, If your Omega side project base on Spring Boot 1.x you can use &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; to rebuild ServiceComb Pack to Spring Boot 1.x and Spring Cloud Consul 1.x&lt;/p&gt;
+  &lt;p&gt;ServiceComb Pack 0.4.0 Omega 默认依赖 Spring Boot 2.x Spring 和 Cloud Consul 2.x ,如果你的 Omega 端项目依赖 Spring Boot 1.x 你可以使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; 参数重新编译 Spring Boot 1.x 和 Spring Cloud Consul 1.x 的版本&lt;/p&gt;
 &lt;/blockquote&gt;
 
-&lt;p&gt;Modify the original omega project&lt;/p&gt;
+&lt;p&gt;修改原有 omega 端项目&lt;/p&gt;
 
-&lt;p&gt;add dependencies&lt;/p&gt;
+&lt;p&gt;增加以下依赖&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
 	&lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.servicecomb.pack&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -985,7 +985,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;Add the following to &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt;&lt;/p&gt;
+&lt;p&gt;在 &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt; 添加下面的配置项&lt;/p&gt;
 
 &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;cloud&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -993,7 +993,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
       &lt;span class=&quot;na&quot;&gt;discovery&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
 &lt;span class=&quot;err&quot;&gt;      	&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;register&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;false&lt;/span&gt;
       &lt;span class=&quot;s&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;0.0.0.0&lt;/span&gt;
-      &lt;span class=&quot;s&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;8500&lt;/span&gt;
+      &lt;span class=&quot;s&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;8500&lt;/span&gt;
       
 &lt;span class=&quot;na&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;cluster&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -1003,70 +1003,68 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.host&lt;/code&gt; property is set to the Consul server’s instance address, &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.port&lt;/code&gt; property is set to the Consul server’s instance port, &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.discovery.register=false&lt;/code&gt; property is not register yourself , check out Spring Boot’s  &lt;a href=&quot;https://clou [...]
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.host&lt;/code&gt; 配置 Consul 注册中心的地址,&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.port&lt;/code&gt; 配置 Consul 注册中心的端口,&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.discovery.register=false&lt;/code&gt; 表示不注册自己到注册中心,更多 Consul 客户端配置可以参考&lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt; [...]
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=consul&lt;/code&gt;  property is omega gets Alpha gRPC address from Consul&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=consul&lt;/code&gt; 配置 Omega 获取 Alpha 的方式是通过 Consul 的注册中心&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;spring boot version compatible&lt;/p&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;If your project is not using spring boot 2.1.1, please refer to this list to add a compatible spring-cloud-starter-consul-discovery version&lt;/p&gt;
+    &lt;p&gt;spring boot 和 spring cloud 版本兼容&lt;/p&gt;
 
-&lt;table&gt;
-  &lt;thead&gt;
-    &lt;tr&gt;
-      &lt;th&gt;spring boot&lt;/th&gt;
-      &lt;th&gt;spring-cloud-starter-consul-discovery&lt;/th&gt;
-    &lt;/tr&gt;
-  &lt;/thead&gt;
-  &lt;tbody&gt;
-    &lt;tr&gt;
-      &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
-      &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
-    &lt;/tr&gt;
-    &lt;tr&gt;
-      &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
-      &lt;td&gt;2.0.2.RELEASE&lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;/tbody&gt;
-&lt;/table&gt;
+    &lt;p&gt;如果你的项目使用的不是spring boot 2.1.1版本,那么请参照此列表增加兼容的spring-cloud-starter-consul-discovery版本&lt;/p&gt;
 
-&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
-     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
-       &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
-         &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
-         &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-cloud-starter-consul-discovery&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
-         &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.0.2.RELEASE&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
-       &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
-     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
-   &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+    &lt;table&gt;
+      &lt;thead&gt;
+        &lt;tr&gt;
+          &lt;th&gt;spring boot&lt;/th&gt;
+          &lt;th&gt;spring-cloud-starter-consul-discovery&lt;/th&gt;
+        &lt;/tr&gt;
+      &lt;/thead&gt;
+      &lt;tbody&gt;
+        &lt;tr&gt;
+          &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
+          &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
+        &lt;/tr&gt;
+        &lt;tr&gt;
+          &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
+          &lt;td&gt;2.0.2.RELEASE&lt;/td&gt;
+        &lt;/tr&gt;
+      &lt;/tbody&gt;
+    &lt;/table&gt;
 
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you define &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.application.name&lt;/code&gt; parameter when start Alpha,  You need to specify this service name in Omega via the parameter &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.serviceId&lt;/code&gt;&lt;/p&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><c [...]
+    &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
+       &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
+           &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
+           &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-cloud-starter-consul-discovery&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
+           &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.0.2.RELEASE&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
+       &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
+     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Consul" /><category term="Discovery" /><summary type="html">ServiceComb Pack 集成发现服务 Consul</summary></entry><entry xml:lang="en"><title type="html">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul</title><link href="/docs/servicecomb-pack-consul/" rel="alternate" type="text/html" title="Servic [...]
 
-&lt;h3 id=&quot;启动-consul&quot;&gt;启动 Consul&lt;/h3&gt;
+&lt;h3 id=&quot;run-consul&quot;&gt;Run Consul&lt;/h3&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;使用 Docker 启动 Consul,更多方式请参考官方网站 &lt;a href=&quot;https://www.consul.io&quot;&gt;https://www.consul.io&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Start Consul with Docker, please refer to the official website &lt;a href=&quot;https://www.consul.io&quot;&gt;https://www.consul.io&lt;/a&gt; for more ways&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; 8500:8500 consul
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;访问 Consul UI&lt;/li&gt;
+  &lt;li&gt;Consul UI&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;在浏览器中访问 http://0.0.0.0:8500  ,能看到如下页面表示 Consul 启动成功&lt;/p&gt;
+&lt;p&gt;Visit http://0.0.0.0:8500 in the browser, you can see the following page indicates that Consul started successfully&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-12-servicecomb-pack-consul/consul_main.png&quot; alt=&quot;consul_main&quot; /&gt;&lt;/p&gt;
 
-&lt;h3 id=&quot;启动-alpha&quot;&gt;启动 Alpha&lt;/h3&gt;
+&lt;h3 id=&quot;run-alpha&quot;&gt;Run Alpha&lt;/h3&gt;
 
-&lt;p&gt;注册中心功能通过设置 &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.enabled=true&lt;/code&gt; 参数开启&lt;/p&gt;
+&lt;p&gt;Enable registration to Consul with the parameter &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.enabled = true&lt;/code&gt;&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
@@ -1079,44 +1077,44 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.cloud.consul.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8500 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
   &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.profiles.active&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;prd 
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;p&gt;&lt;strong&gt;注意:&lt;/strong&gt; 更多 Consul 参数请参考 &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/1.3.x/single/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 1.x&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Check out for Consul more details &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/1.3.x/single/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 1.x&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;Alpha 启动完毕后可以看到已经注册到 Consul&lt;/p&gt;
+&lt;p&gt;After Alpha is launched, you can see that you have registered to Consul&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-12-servicecomb-pack-consul/alpha_register_to_consul.png&quot; alt=&quot;alpha_register_to_consul&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;执行命令行 &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://0.0.0.0:8500/v1/agent/services&lt;/code&gt; 可以看到已经将 Alpha 的 gRPC 地址和端口注册到 Consul 的 Tags 中&lt;/p&gt;
+&lt;p&gt;Use &lt;code class=&quot;highlighter-rouge&quot;&gt;curl http://0.0.0.0:8500/v1/agent/services&lt;/code&gt; You can see that Alpha’s gRPC address and port have been registered in Consul’s Tags&lt;/p&gt;
 
 &lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-    &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;ID&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Service&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;ID&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server-0-0-0-0-336b06581fb5b92ed91c7ade3fdafa88&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Service&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;servicecomb-alpha-server&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;alpha-server-host=0.0.0.0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;alpha-server-port=8080&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
             &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;secure=false&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
         &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Meta&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Port&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8090&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Address&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;192.168.1.116&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Weights&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-            &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Passing&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-            &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Warning&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Meta&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Port&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8090&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Address&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;192.168.1.116&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Weights&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Passing&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Warning&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
         &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
-        &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;EnableTagOverride&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
+        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;EnableTagOverride&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
     &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
 &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h3 id=&quot;配置-omega-端&quot;&gt;配置 Omega 端&lt;/h3&gt;
+&lt;h3 id=&quot;configuring-the-omega-side&quot;&gt;Configuring the Omega side&lt;/h3&gt;
 
 &lt;blockquote&gt;
-  &lt;p&gt;ServiceComb Pack 0.4.0 Omega 默认依赖 Spring Boot 2.x Spring 和 Cloud Consul 2.x ,如果你的 Omega 端项目依赖 Spring Boot 1.x 你可以使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; 参数重新编译 Spring Boot 1.x 和 Spring Cloud Consul 1.x 的版本&lt;/p&gt;
+  &lt;p&gt;ServiceComb Pack 0.4.0 Omega defaults use Spring Boot 2.x Spring and Cloud Consul 2.x, If your Omega side project base on Spring Boot 1.x you can use &lt;code class=&quot;highlighter-rouge&quot;&gt;-Pspring-boot-1&lt;/code&gt; to rebuild ServiceComb Pack to Spring Boot 1.x and Spring Cloud Consul 1.x&lt;/p&gt;
 &lt;/blockquote&gt;
 
-&lt;p&gt;修改原有 omega 端项目&lt;/p&gt;
+&lt;p&gt;Modify the original omega project&lt;/p&gt;
 
-&lt;p&gt;增加以下依赖&lt;/p&gt;
+&lt;p&gt;add dependencies&lt;/p&gt;
 
 &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
 	&lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.servicecomb.pack&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
@@ -1125,7 +1123,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;在 &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt; 添加下面的配置项&lt;/p&gt;
+&lt;p&gt;Add the following to &lt;code class=&quot;highlighter-rouge&quot;&gt;application.yaml&lt;/code&gt;&lt;/p&gt;
 
 &lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;spring&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;cloud&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -1133,7 +1131,7 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
       &lt;span class=&quot;na&quot;&gt;discovery&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
 &lt;span class=&quot;err&quot;&gt;      	&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;register&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;false&lt;/span&gt;
       &lt;span class=&quot;s&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;0.0.0.0&lt;/span&gt;
-      &lt;span class=&quot;s&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;8500&lt;/span&gt;
+      &lt;span class=&quot;s&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;8500&lt;/span&gt;
       
 &lt;span class=&quot;na&quot;&gt;alpha&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
   &lt;span class=&quot;na&quot;&gt;cluster&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
@@ -1143,195 +1141,197 @@ mvn clean install &lt;span class=&quot;nt&quot;&gt;-DskipTests&lt;/span&gt;&lt;s
 
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.host&lt;/code&gt; 配置 Consul 注册中心的地址,&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.port&lt;/code&gt; 配置 Consul 注册中心的端口,&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.discovery.register=false&lt;/code&gt; 表示不注册自己到注册中心,更多 Consul 客户端配置可以参考&lt;a href=&quot;https://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html&quot;&gt;Spring Cloud Consul 2.x&lt;/a&gt; &lt; [...]
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.host&lt;/code&gt; property is set to the Consul server’s instance address, &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.port&lt;/code&gt; property is set to the Consul server’s instance port, &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.cloud.consul.discovery.register=false&lt;/code&gt; property is not register yourself , check out Spring Boot’s  &lt;a href=&quot;https://clou [...]
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=consul&lt;/code&gt; 配置 Omega 获取 Alpha 的方式是通过 Consul 的注册中心&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.register.type=consul&lt;/code&gt;  property is omega gets Alpha gRPC address from Consul&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;spring boot 和 spring cloud 版本兼容&lt;/p&gt;
+    &lt;p&gt;spring boot version compatible&lt;/p&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
 
-    &lt;p&gt;如果你的项目使用的不是spring boot 2.1.1版本,那么请参照此列表增加兼容的spring-cloud-starter-consul-discovery版本&lt;/p&gt;
+&lt;p&gt;If your project is not using spring boot 2.1.1, please refer to this list to add a compatible spring-cloud-starter-consul-discovery version&lt;/p&gt;
 
-    &lt;table&gt;
-      &lt;thead&gt;
-        &lt;tr&gt;
-          &lt;th&gt;spring boot&lt;/th&gt;
-          &lt;th&gt;spring-cloud-starter-consul-discovery&lt;/th&gt;
-        &lt;/tr&gt;
-      &lt;/thead&gt;
-      &lt;tbody&gt;
-        &lt;tr&gt;
-          &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
-          &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
-        &lt;/tr&gt;
-        &lt;tr&gt;
-          &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
-          &lt;td&gt;2.0.2.RELEASE&lt;/td&gt;
-        &lt;/tr&gt;
-      &lt;/tbody&gt;
-    &lt;/table&gt;
+&lt;table&gt;
+  &lt;thead&gt;
+    &lt;tr&gt;
+      &lt;th&gt;spring boot&lt;/th&gt;
+      &lt;th&gt;spring-cloud-starter-consul-discovery&lt;/th&gt;
+    &lt;/tr&gt;
+  &lt;/thead&gt;
+  &lt;tbody&gt;
+    &lt;tr&gt;
+      &lt;td&gt;2.1.x.RELEASE&lt;/td&gt;
+      &lt;td&gt;2.1.1.RELEASE&lt;/td&gt;
+    &lt;/tr&gt;
+    &lt;tr&gt;
+      &lt;td&gt;2.0.x.RELEASE&lt;/td&gt;
+      &lt;td&gt;2.0.2.RELEASE&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tbody&gt;
+&lt;/table&gt;
 
-    &lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
-       &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
-         &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
-           &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
-           &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-cloud-starter-consul-discovery&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
-           &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.0.2.RELEASE&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
-         &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
-       &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
-     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
-  &lt;/li&gt;
-&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Consul" /><category term="Discovery" /><summary type="html">ServiceComb Pack 集成发现服务 Consul</summary></entry><entry xml:lang="en"><title type="html">ServiceComb Pack 0.4.0 Cluster : Implementation</title><link href="/docs/servicecomb-pack-cluster/" rel="alternate" type="text/html" title="ServiceComb Pack 0 [...]
-We implemented database-based distributed lock in version 0.4.0 version, event scanning only runs on the master node in the cluster, When the master node is down, other nodes in the cluster will elect a new master node.&lt;/p&gt;
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencyManagement&amp;gt;&lt;/span&gt;
+     &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
+       &lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.cloud&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-cloud-starter-consul-discovery&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.0.2.RELEASE&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
+       &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
+     &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;
+   &lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependencyManagement&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h2 id=&quot;quick-starts&quot;&gt;Quick Starts&lt;/h2&gt;
+&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you define &lt;code class=&quot;highlighter-rouge&quot;&gt;spring.application.name&lt;/code&gt; parameter when start Alpha,  You need to specify this service name in Omega via the parameter &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.serviceId&lt;/code&gt;&lt;/p&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><c [...]
+在0.4.0版本中,我们通过一种基于数据库表的抢占锁机制,实现Alpha集群中主节点的动态选举,并让事务扫描方法只在主节点上执行。当主节点宕机后其他节点通过抢占的方式选出一个新的主节点,本文将介绍在0.4.0版本相关的代码实现。&lt;/p&gt;
 
-&lt;p&gt;Enable cluster support by parameter &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.master.enabled=true&lt;/code&gt;.&lt;/p&gt;
+&lt;h2 id=&quot;快速体验&quot;&gt;快速体验&lt;/h2&gt;
+
+&lt;p&gt;在0.4.0版本中开启动态主节点集群模式支持只需要增加启动参数 &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.master.enabled=true&lt;/code&gt;&lt;/p&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Start Two Alphas.&lt;/li&gt;
+  &lt;li&gt;启动两个节点&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-SNAPSHOT-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.server.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8080 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.url&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;jdbc:postgresql://127.0.0.1:5432/saga?useSSL=false&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.username&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-user &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.password&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-password &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.cluster.master.enabled&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8090 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.server.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8080 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.url&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;jdbc:postgresql://127.0.0.1:5432/saga?useSSL=false&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.username&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-user &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.password&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-password &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.cluster.master.enabled&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;java &lt;span class=&quot;nt&quot;&gt;-jar&lt;/span&gt; alpha-server-0.4.0-SNAPSHOT-exec.jar &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8091 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.server.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8081 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.url&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;jdbc:postgresql://127.0.0.1:5432/saga?useSSL=false&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.username&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-user &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.password&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-password &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.cluster.master.enabled&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--server&lt;/span&gt;.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8091 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.server.port&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;8081 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.url&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;jdbc:postgresql://127.0.0.1:5432/saga?useSSL=false&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.username&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-user &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--spring&lt;/span&gt;.datasource.password&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;saga-password &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;--alpha&lt;/span&gt;.cluster.master.enabled&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Who Is Master&lt;/li&gt;
+  &lt;li&gt;节点类型信息查看&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Master Node&lt;/code&gt; This alpha is the master&lt;/p&gt;
+&lt;p&gt;在日志中看到 &lt;code class=&quot;highlighter-rouge&quot;&gt;Master Node&lt;/code&gt; 则表示这个进程是主节点&lt;/p&gt;
 
-&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;01:31:07.032 &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;pool-3-thread-1] INFO  org.apache.servicecomb.pack.alpha.server.cluster.master.ClusterLockService - Master Node
+&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;01:31:07.032 &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;pool-3-thread-1] INFO  org.apache.servicecomb.pack.alpha.server.cluster.master.ClusterLockService - Master Node 
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Slave Node&lt;/code&gt; This alpha is the slave&lt;/p&gt;
+&lt;p&gt;在日志中看到 &lt;code class=&quot;highlighter-rouge&quot;&gt;Slave Node&lt;/code&gt; 则表示这个进程是从节点&lt;/p&gt;
 
 &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;01:31:31.059 &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;pool-3-thread-1] INFO  org.apache.servicecomb.pack.alpha.server.cluster.master.ClusterLockService - Slave Node
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Switch Master Nodes&lt;/li&gt;
+  &lt;li&gt;节点切换&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;After the master node is off line, other nodes in the cluster will elect a new master node&lt;/p&gt;
+&lt;p&gt;当主节点进程宕后,其他从节点会采用抢占的产生一个新的主节点&lt;/p&gt;
 
-&lt;h2 id=&quot;how-to-make-event-scanning-only-run-on-the-master-node&quot;&gt;How to make event scanning only run on the master node&lt;/h2&gt;
+&lt;h2 id=&quot;让事务扫描运行在主节点&quot;&gt;让事务扫描运行在主节点&lt;/h2&gt;
 
-&lt;p&gt;Event scanning is implemented by &lt;code class=&quot;highlighter-rouge&quot;&gt;EventScanner.java&lt;/code&gt; , initialize it in &lt;code class=&quot;highlighter-rouge&quot;&gt;AlphaConfig.java&lt;/code&gt; , you can enable it by setting the parameter ‘alpha.event.scanner.enabled=true’, it will be instantiated EventScanner. The variable nodeStatus is the node type(Master or Slave). Later, I will introduce how &lt;code class=&quot;highlighter-rouge&quot;&gt;nodeStatus&lt;/code& [...]
+&lt;p&gt;事务扫描是通过 &lt;code class=&quot;highlighter-rouge&quot;&gt;EventScanner.java&lt;/code&gt; 实现的,并且在 &lt;code class=&quot;highlighter-rouge&quot;&gt;AlphaConfig.java&lt;/code&gt; 中进行初始化,可以看到在 &lt;code class=&quot;highlighter-rouge&quot;&gt;new EventScanner&lt;/code&gt; 代码执行前进行了eventScannerEnabled判断,这个参数就是通过&lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.event.scanner.enabled&lt;/code&gt; 指定的(默认是true),然后传入了&lt;code class=&quot;highlighter-rouge&quot;&gt;nodeStatus&lt;/code&gt; 对象 [...]
 
 &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nd&quot;&gt;@Bean&lt;/span&gt;
-&lt;span class=&quot;n&quot;&gt;TxConsistentService&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;txConsistentService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
+&lt;span class=&quot;nc&quot;&gt;TxConsistentService&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;txConsistentService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
   &lt;span class=&quot;nd&quot;&gt;@Value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;${alpha.event.pollingInterval:500}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eventPollingInterval&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
   &lt;span class=&quot;nd&quot;&gt;@Value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;${alpha.event.scanner.enabled:true}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eventScannerEnabled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;ScheduledExecutorService&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scheduler&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;TxEventRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eventRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;CommandRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;commandRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;TxTimeoutRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;timeoutRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;OmegaCallback&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;omegaCallback&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+  &lt;span class=&quot;nc&quot;&gt;ScheduledExecutorService&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scheduler&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;nc&quot;&gt;TxEventRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eventRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;nc&quot;&gt;CommandRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;commandRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;nc&quot;&gt;TxTimeoutRepository&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;timeoutRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;nc&quot;&gt;OmegaCallback&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;omegaCallback&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;eventScannerEnabled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
       &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;EventScanner&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scheduler&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;n&quot;&gt;eventRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;commandRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;timeoutRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;n&quot;&gt;omegaCallback&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eventPollingInterval&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-      &lt;span class=&quot;n&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Starting the EventScanner.&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+      &lt;span class=&quot;no&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Starting the EventScanner.&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;TxConsistentService&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;consistentService&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;TxConsistentService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;eventRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+    &lt;span class=&quot;nc&quot;&gt;TxConsistentService&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;consistentService&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;TxConsistentService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;eventRepository&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;consistentService&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;The pollEvents method of &lt;code class=&quot;highlighter-rouge&quot;&gt;EventScanner.java&lt;/code&gt; for scanning events, If the master node &lt;code class=&quot;highlighter-rouge&quot;&gt;nodeStatus.isMaster()&lt;/code&gt; returns true.&lt;/p&gt;
+&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;EventScanner.java&lt;/code&gt; 的 pollEvents 方法进行定时事务扫描,并使用 &lt;code class=&quot;highlighter-rouge&quot;&gt;nodeStatus.isMaster()&lt;/code&gt; 判断自己是否是主节点,只有主节点才允许执行。看到这里大家应该知道 &lt;code class=&quot;highlighter-rouge&quot;&gt;nodeStatus.isMaster()&lt;/code&gt; 是我们判断主节点的关键对象,那么 &lt;code class=&quot;highlighter-rouge&quot;&gt;NodeStatus.java&lt;/code&gt; 是如何被创建并初始化的呢&lt;/p&gt;
 
 &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;pollEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;scheduler&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;scheduleWithFixedDelay&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-    &lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-      &lt;span class=&quot;c1&quot;&gt;// only pull the events when working in the master mode&lt;/span&gt;
-      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isMaster&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()){&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;updateTimeoutStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;findTimeoutEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;abortTimeoutEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;saveUncompensatedEventsToCommands&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;compensate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;updateCompensatedCommands&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;deleteDuplicateSagaEndedEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-        &lt;span class=&quot;n&quot;&gt;updateTransactionStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-      &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-    &lt;span class=&quot;o&quot;&gt;},&lt;/span&gt;
-    &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;eventPollingInterval&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;MILLISECONDS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+	&lt;span class=&quot;n&quot;&gt;scheduler&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;scheduleWithFixedDelay&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
+	    &lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+	      &lt;span class=&quot;c1&quot;&gt;// only pull the events when working in the master mode&lt;/span&gt;
+	      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isMaster&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()){&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;updateTimeoutStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;findTimeoutEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;abortTimeoutEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;saveUncompensatedEventsToCommands&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;compensate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;updateCompensatedCommands&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;deleteDuplicateSagaEndedEvents&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	        &lt;span class=&quot;n&quot;&gt;updateTransactionStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
+	      &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+	    &lt;span class=&quot;o&quot;&gt;},&lt;/span&gt;
+	    &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+	    &lt;span class=&quot;n&quot;&gt;eventPollingInterval&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+	    &lt;span class=&quot;no&quot;&gt;MILLISECONDS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
 &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;Construct NodeStatus in &lt;code class=&quot;highlighter-rouge&quot;&gt;AlphaConfig.java&lt;/code&gt; by the following to ensure that the event scan will work regardless of whether you have configured the &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.master.enabled&lt;/code&gt; parameter, Here you can see the node is a slave just after startup when cluster mode is enabled. Later, I will introduce how to switch to master.&lt;/p&gt;
+&lt;p&gt;我们在 &lt;code class=&quot;highlighter-rouge&quot;&gt;AlphaConfig.java&lt;/code&gt;  中通过以下方式创建实例,以确保无论您是否指定了 &lt;code class=&quot;highlighter-rouge&quot;&gt;alpha.cluster.master.enabled&lt;/code&gt; 参数事务扫描都可以正常工作,在这里可以看到当我们开启了集群模式后节点刚启动的时候状态是Slave,下面会说明状态是如何切换到Master的。&lt;/p&gt;
 
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &lt;span class=&quot;nd&quot;&gt;@Bean&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;nodeStatus&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(){&lt;/span&gt;
-    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;masterEnabled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
-      &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;SLAVE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt [...]
-    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-      &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;MASTER&lt;/span&gt;&lt;span class=&quot;o&quot;&g [...]
-    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-  &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nd&quot;&gt;@Bean&lt;/span&gt;
+&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;nodeStatus&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(){&lt;/span&gt;
+&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;masterEnabled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
+  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;SLAVE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;); [...]
+&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;MASTER&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;) [...]
+&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
-  &lt;span class=&quot;nd&quot;&gt;@Autowired&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+&lt;span class=&quot;nd&quot;&gt;@Autowired&lt;/span&gt;
+&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt; is in charge of node state switching, It periodically perform lock preemption and set the node as a master after successful preemption.&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &lt;span class=&quot;nd&quot;&gt;@Autowired&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;LockProvider&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockProvider&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-  &lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
-  &lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
-  &lt;span class=&quot;nd&quot;&gt;@Scheduled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cron&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;0/1 * * * * ?&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-  &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;masterCheck&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;applicationReady&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-      &lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locker&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockProvider&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;lock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span& [...]
-      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isPresent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(!&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-          &lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-          &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setTypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;MASTER&lt;/span&gt;&lt;span class=&quot;o&qu [...]
-          &lt;span class=&quot;n&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Master Node&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-        &lt;span class=&quot;c1&quot;&gt;//Keep locked&lt;/span&gt;
-      &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lockExecuted&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-          &lt;span class=&quot;n&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-          &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setTypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;SLAVE&lt;/span&gt;&lt;span class=&quot;o&quo [...]
-          &lt;span class=&quot;n&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Slave Node&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-        &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-      &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-      &lt;span class=&quot;n&quot;&gt;lockExecuted&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+&lt;p&gt;控制节点状态切换的是 &lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt; ,这个服务会定时执行锁抢占,抢占成功后设置本节点为Master,否则为Slave&lt;/p&gt;
+
+&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nd&quot;&gt;@Autowired&lt;/span&gt;
+&lt;span class=&quot;nc&quot;&gt;LockProvider&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockProvider&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+&lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
+&lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
+&lt;span class=&quot;nd&quot;&gt;@Scheduled&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cron&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;0/1 * * * * ?&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
+&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;masterCheck&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;applicationReady&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+  &lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locker&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockProvider&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;lock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;& [...]
+  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locker&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isPresent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(!&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+      &lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+      &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setTypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;MASTER&lt;/span&gt;&lt;span class=&quot;o&quot; [...]
+      &lt;span class=&quot;no&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Master Node&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+    &lt;span class=&quot;c1&quot;&gt;//Keep locked&lt;/span&gt;
+  &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lockExecuted&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
+      &lt;span class=&quot;n&quot;&gt;locked&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+      &lt;span class=&quot;n&quot;&gt;nodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setTypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;NodeStatus&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;TypeEnum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;SLAVE&lt;/span&gt;&lt;span class=&quot;o&quot;& [...]
+      &lt;span class=&quot;no&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Slave Node&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
     &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+  &lt;span class=&quot;n&quot;&gt;lockExecuted&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
+&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
+&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
-&lt;h2 id=&quot;lock-architecture&quot;&gt;Lock architecture&lt;/h2&gt;
+&lt;h2 id=&quot;加锁服务基础类&quot;&gt;加锁服务基础类&lt;/h2&gt;
 
-&lt;p&gt;As you can see from the previous description, in the &lt;code class=&quot;highlighter-rouge&quot;&gt;masterCheck&lt;/code&gt; method of &lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt;, get a lock by &lt;code class=&quot;highlighter-rouge&quot;&gt;this.locker = lockProvider.lock(this.getMasterLock());&lt;/code&gt; and determine if the lock was successful.&lt;/p&gt;
+&lt;p&gt;在前边的说明中可以看到,在 &lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt; 的 &lt;code class=&quot;highlighter-rouge&quot;&gt;masterCheck&lt;/code&gt; 方法中通过 &lt;code class=&quot;highlighter-rouge&quot;&gt;this.locker = lockProvider.lock(this.getMasterLock());&lt;/code&gt; 获取一个锁并判断是否锁成功。&lt;/p&gt;
 
-&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; is an interface. Currently, we provide an implementation based on JDBC. The package structure and class dependencies are as follows:&lt;/p&gt;
+&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; 是一个接口,目前我们提供了基于 JDBC 的实现,包结构以及类依赖关系如下:&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-03-servicecomb-pack-cluster/cluster-package-structure.png&quot; alt=&quot;cluster-package-structure&quot; /&gt;&lt;/p&gt;
 
-&lt;p&gt;Dependencies are as follows&lt;/p&gt;
+&lt;p&gt;依赖关系如下&lt;/p&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-03-servicecomb-pack-cluster/class-dependency-1.png&quot; alt=&quot;class-dependency-1&quot; /&gt;&lt;/p&gt;
 
@@ -1339,34 +1339,34 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
   &lt;li&gt;
     &lt;p&gt;LockProvider.java&lt;/p&gt;
 
-    &lt;p&gt;The interface defines the lock methods&lt;/p&gt;
+    &lt;p&gt;接口定义了锁方法 lock&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;LockProviderPersistence.java&lt;/p&gt;
 
-    &lt;p&gt;The interface defines the following three persistence methods&lt;/p&gt;
+    &lt;p&gt;接口定义了以下三个方法,作为持久化锁的接口&lt;/p&gt;
 
     &lt;ul&gt;
-      &lt;li&gt;initLock Create a lock, try to lock and return whether the lock was successful&lt;/li&gt;
-      &lt;li&gt;updateLock Update the lock, lock it again and return it successfully (the interface design of the update lock is designed for non-long connection lock design, for example, for locking according to a fixed period)&lt;/li&gt;
-      &lt;li&gt;unLock&lt;/li&gt;
+      &lt;li&gt;initLock 创建锁,尝试进行锁定并返回锁定是否成功&lt;/li&gt;
+      &lt;li&gt;updateLock 更新锁,进行再次锁定并返回是否成功(更新锁的接口设计的目的是为了非长连接锁设计,例如对于按照固定周期进行加锁的实现)&lt;/li&gt;
+      &lt;li&gt;unLock 解锁,取消锁定&lt;/li&gt;
     &lt;/ul&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;AbstractLockProvider.java&lt;/p&gt;
 
-    &lt;p&gt;Implemented the &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; interface and called the internal &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; interface for locking operations&lt;/p&gt;
+    &lt;p&gt;抽象类实现了 &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; 接口的lock方法,并调用内部的 &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; 接口进行锁操作&lt;/p&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;h2 id=&quot;jdbc-implementation&quot;&gt;JDBC implementation&lt;/h2&gt;
+&lt;h2 id=&quot;加锁服务-jdbc-实现&quot;&gt;加锁服务 JDBC 实现&lt;/h2&gt;
 
 &lt;blockquote&gt;
-  &lt;p&gt;I like to run with you, the same rhythm, the same heartbeat, I feel very good, when you fall behind, I lead everyone to run together&lt;/p&gt;
+  &lt;p&gt;我喜欢和你们一起跑步,一致的步伐,一样的心跳,这感觉真好,当你掉队了,我带着大家跑&lt;/p&gt;
 &lt;/blockquote&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;JDBC class diagram&lt;/li&gt;
+  &lt;li&gt;JDBC 类关系图&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;p&gt;&lt;img src=&quot;/assets/images/2019-04-03-servicecomb-pack-cluster/class-dependency-2.png&quot; alt=&quot;class-dependency-2&quot; /&gt;&lt;/p&gt;
@@ -1375,17 +1375,17 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
   &lt;li&gt;
     &lt;p&gt;JdbcLockPersistence.java&lt;/p&gt;
 
-    &lt;p&gt;Implement &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; interface operation database&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; 接口实现,用来实现对数据库表操作&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;JdbcLockProvider.java&lt;/p&gt;
 
-    &lt;p&gt;Inherit the abstract class &lt;code class=&quot;highlighter-rouge&quot;&gt;AbstractLockProvider.java&lt;/code&gt;, passing the &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; interface implementation class &lt;code class=&quot;highlighter-rouge&quot;&gt;JdbcLockPersistence&lt;/code&gt; in the constructor.&lt;/p&gt;
+    &lt;p&gt;继承抽象类 &lt;code class=&quot;highlighter-rouge&quot;&gt;AbstractLockProvider.java&lt;/code&gt; ,在构造函数中传入 ``LockProviderPersistence.java&lt;code class=&quot;highlighter-rouge&quot;&gt; 的接口实现  &lt;/code&gt;JdbcLockPersistence`&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;LockProviderJdbcConfiguration.java&lt;/p&gt;
 
-    &lt;p&gt;Declare a LockProvider Bean with @Configuration&lt;/p&gt;
+    &lt;p&gt;锁的JDBC实例构造类&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
     &lt;p&gt;JPA&lt;/p&gt;
@@ -1393,40 +1393,40 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     &lt;p&gt;MasterLockEntityRepository.java、SpringMasterLockRepository.java、org.apache.servicecomb.pack.alpha.server.cluster.master.provider.jdbc.jpa.*&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;Create master_lock Table&lt;/p&gt;
+    &lt;p&gt;锁定表结构设计&lt;/p&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;TABLE&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;IF&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;EXISTS&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;master_lock&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;( [...]
-  &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;CURRENT_TIMESTAMP&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;CURRENT_TIMESTAMP&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;255&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;CURRENT_TIMESTAMP&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;CURRENT_TIMESTAMP&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
+  &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;  &lt;span class=&quot;nb&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;255&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;NULL&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ENGINE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;InnoDB&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;CHARSET&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;serviceName Service name, this field takes the value &lt;code class=&quot;highlighter-rouge&quot;&gt;$ {spring.application.name}&lt;/code&gt;&lt;/li&gt;
-  &lt;li&gt;expireTime Lock expiration time, this field takes value lockedTime + 5s&lt;/li&gt;
-  &lt;li&gt;lockedTime Last lock time&lt;/li&gt;
-  &lt;li&gt;instanceId Service instance ID, this field takes the value &lt;code class=&quot;highlighter-rouge&quot;&gt;$ {alpha.server.host}]:$ {alpha.server.port}&lt;/code&gt;&lt;/li&gt;
+  &lt;li&gt;serviceName 服务名,这个字段取值  &lt;code class=&quot;highlighter-rouge&quot;&gt;${spring.application.name}&lt;/code&gt;&lt;/li&gt;
+  &lt;li&gt;expireTime 锁定过期时间,这个字段取值 lockedTime+5s&lt;/li&gt;
+  &lt;li&gt;lockedTime 最近一次锁定时间&lt;/li&gt;
+  &lt;li&gt;instanceId 集群实例ID,这个字段取值 &lt;code class=&quot;highlighter-rouge&quot;&gt;${alpha.server.host}]:${alpha.server.port}&lt;/code&gt;&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;h2 id=&quot;lock-processing&quot;&gt;Lock processing&lt;/h2&gt;
+&lt;h2 id=&quot;加锁过程&quot;&gt;加锁过程&lt;/h2&gt;
 
-&lt;p&gt;The process of locking/updating a lock is a cyclically repeating action, as follows:&lt;/p&gt;
+&lt;p&gt;加锁/更新锁的过程是一个周期性重复执行的动作,步骤如下:&lt;/p&gt;
 
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt; calls the lock method of &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; interface once per second&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;ClusterLockService.java&lt;/code&gt; 服务中会每秒调用一次 &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; 接口的lock方法&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;The lock method in the abstract class &lt;code class=&quot;highlighter-rouge&quot;&gt;AbstractLockProvider.java&lt;/code&gt; will attempt to lock the iniLock method of &lt;code class=&quot;highlighter-rouge&quot;&gt;JdbcLockPersistence.java&lt;/code&gt;, and the locked SQL implementation is defined in &lt;code class=&quot;highlighter-rouge&quot;&gt;MasterLockEntityRepository.java&lt;/code&gt;&lt;/p&gt;
+    &lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;AbstractLockProvider.java&lt;/code&gt; 抽象类中的 lock方法会尝试调用 &lt;code class=&quot;highlighter-rouge&quot;&gt;JdbcLockPersistence.java&lt;/code&gt; 的 iniLock方法进行加锁,加锁的SQL实现定义在 &lt;code class=&quot;highlighter-rouge&quot;&gt;MasterLockEntityRepository.java&lt;/code&gt; 中&lt;/p&gt;
 
     &lt;ul&gt;
-      &lt;li&gt;If the table is empty then insert a record and return the lock successfully&lt;/li&gt;
-      &lt;li&gt;Exception caught and lock failed if there are records with the same service name field in the table&lt;/li&gt;
+      &lt;li&gt;如果表为空,那么插入一条记录并返回加锁成功&lt;/li&gt;
+      &lt;li&gt;如果表中存在serviceName字段相同的记录,则捕获异常加锁失败&lt;/li&gt;
     &lt;/ul&gt;
 
     &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   &lt;span class=&quot;nd&quot;&gt;@Transactional&lt;/span&gt;
@@ -1436,18 +1436,18 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
        &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;VALUES &quot;&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;(?1, ?2, ?3, ?4)&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;nativeQuery&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;initLock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;serviceName&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;expireTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;lockedTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;instanceId&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;serviceName&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;expireTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;lockedTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;instanceId&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;If the initLock lock fails, try to update the lock by calling the updateLock method in &lt;code class=&quot;highlighter-rouge&quot;&gt;MasterLockEntityRepository.java&lt;/code&gt;.&lt;/p&gt;
+    &lt;p&gt;如果 initLock加锁失败,则尝试调用 &lt;code class=&quot;highlighter-rouge&quot;&gt;MasterLockEntityRepository.java&lt;/code&gt; 中的 updateLock 方法尝试更新锁&lt;/p&gt;
 
     &lt;ul&gt;
-      &lt;li&gt;If the record instanceId of the same service name is the same as the instance instanceId, the update succeeds and the lock is successfully returned.&lt;/li&gt;
-      &lt;li&gt;If the record expireTime of the same service name is less than the current lock time, the update is successful and the lock is successful.&lt;/li&gt;
+      &lt;li&gt;表中存在的本服务记录 instanceId 与本实例 instanceId 相同,则更新成功并返回加锁成功(这个表明上一个更新周期也是本服务更新的)&lt;/li&gt;
+      &lt;li&gt;表中存在的本服务记录 expireTime 小于当前锁定时间 ,则更新成功并返回加锁成功(表示上一个锁定周期并没有实例进行锁定更新操作)&lt;/li&gt;
     &lt;/ul&gt;
 
     &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   &lt;span class=&quot;nd&quot;&gt;@Transactional&lt;/span&gt;
@@ -1458,30 +1458,30 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
        &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;,t.instanceId = :instanceId &quot;&lt;/span&gt;
        &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;WHERE t.serviceName = :serviceName AND (t.expireTime &amp;lt;= :lockedTime OR t.instanceId = :instanceId)&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;updateLock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;serviceName&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;lockedTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;expireTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;instanceId&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;serviceName&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;serviceName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;lockedTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lockedTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;expireTime&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;expireTime&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
+       &lt;span class=&quot;nd&quot;&gt;@Param&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;instanceId&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;instanceId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;UnLock&lt;/p&gt;
+    &lt;p&gt;释放锁 unLock&lt;/p&gt;
 
-    &lt;p&gt;Reserved interface for extending other ways of locking&lt;/p&gt;
+    &lt;p&gt;保留接口,用于扩展其他锁定方式&lt;/p&gt;
   &lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;h2 id=&quot;other-lock-implementations&quot;&gt;Other lock implementations&lt;/h2&gt;
+&lt;h2 id=&quot;锁的其他实现&quot;&gt;锁的其他实现&lt;/h2&gt;
 
-&lt;p&gt;Other types of locks can be implemented through the &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; interfaces, such as zookeeper or redis etc.&lt;/p&gt;
+&lt;p&gt;可以通过 &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProvider.java&lt;/code&gt; 和 &lt;code class=&quot;highlighter-rouge&quot;&gt;LockProviderPersistence.java&lt;/code&gt; 接口实现其他方式的锁,例如zookeeper,redis等&lt;/p&gt;
 
-&lt;h2 id=&quot;note&quot;&gt;Note&lt;/h2&gt;
+&lt;h2 id=&quot;注意&quot;&gt;注意&lt;/h2&gt;
 
 &lt;ul&gt;
   &lt;li&gt;
-    &lt;p&gt;Need to synchronize time across multiple servers&lt;/p&gt;
+    &lt;p&gt;基于数据库表的方式需要集群中多个节点的服务器时钟同步&lt;/p&gt;
   &lt;/li&gt;
   &lt;li&gt;
-    &lt;p&gt;Need to configure the correct time zone parameters when using MySQL database&lt;/p&gt;
+    &lt;p&gt;基于 MySQL 数据库时需要配置正确的时区,例如:&lt;code class=&quot;highlighter-rouge&quot;&gt;serverTimezone=GMT%2b8&lt;/code&gt;&lt;/p&gt;
   &lt;/li&gt;
-&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Cluster" /><summary type="html">This article describes how to use the ServiceComb Pack 0.4.0 cluster and how it works</summary></entry></feed>
\ No newline at end of file
+&lt;/ul&gt;</content><author><name>Zhang Lei</name><email>coolbeevip@gmail.com</email><uri>http://github.com/coolbeevip</uri></author><category term="ServiceComb Pack" /><category term="Cluster" /><summary type="html">本篇将介绍如何使用 ServiceComb Pack 集群以及实现原理</summary></entry></feed>
\ No newline at end of file
diff --git a/content/sitemap.xml b/content/sitemap.xml
index a83d08f..b1ae0cc 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -319,35 +319,35 @@
 <loc>/slides/</loc>
 </url>
 <url>
-<loc>/cn/users/application-boot-process/</loc>
+<loc>/users/application-boot-process/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/application-boot-process/</loc>
+<loc>/cn/users/application-boot-process/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/becomming-a-commiter</loc>
+<loc>/developers/becomming-a-commiter</loc>
 <lastmod>2018-06-19T09:46:01+08:00</lastmod>
 </url>
 <url>
-<loc>/developers/becomming-a-commiter</loc>
+<loc>/cn/developers/becomming-a-commiter</loc>
 <lastmod>2018-06-19T09:46:01+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/communicate-protocol/</loc>
+<loc>/users/communicate-protocol/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/communicate-protocol/</loc>
+<loc>/cn/users/communicate-protocol/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/compatibleversion</loc>
+<loc>/release/compatibleversion</loc>
 <lastmod>2018-06-21T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/release/compatibleversion</loc>
+<loc>/cn/release/compatibleversion</loc>
 <lastmod>2018-06-21T08:50:43+08:00</lastmod>
 </url>
 <url>
@@ -359,19 +359,19 @@
 <lastmod>2018-05-20T19:18:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/customized-tracing/</loc>
+<loc>/users/customized-tracing/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/customized-tracing/</loc>
+<loc>/cn/users/customized-tracing/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/service-contract/</loc>
+<loc>/users/service-contract/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/service-contract/</loc>
+<loc>/cn/users/service-contract/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
@@ -379,11 +379,11 @@
 <lastmod>2018-05-25T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/run-mode/</loc>
+<loc>/users/run-mode/</loc>
 <lastmod>2017-06-06T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/run-mode/</loc>
+<loc>/cn/users/run-mode/</loc>
 <lastmod>2017-06-06T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -411,14 +411,14 @@
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/develop-with-spring-boot-starter/</loc>
-<lastmod>2018-04-24T03:01:43+08:00</lastmod>
-</url>
-<url>
 <loc>/users/develop-with-spring-boot-starter/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/users/develop-with-spring-boot-starter/</loc>
+<lastmod>2018-04-24T03:01:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/users/develop-with-springmvc/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
@@ -427,27 +427,27 @@
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/develop-with-transparent-rpc/</loc>
+<loc>/users/develop-with-transparent-rpc/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/develop-with-transparent-rpc/</loc>
+<loc>/cn/users/develop-with-transparent-rpc/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/</loc>
+<loc>/developers/</loc>
 <lastmod>2017-06-24T19:18:43+08:00</lastmod>
 </url>
 <url>
-<loc>/developers/</loc>
+<loc>/cn/developers/</loc>
 <lastmod>2017-06-24T19:18:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/docs/quick-start-advance/distributed-tracing/</loc>
+<loc>/docs/quick-start-advance/distributed-tracing/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/quick-start-advance/distributed-tracing/</loc>
+<loc>/cn/docs/quick-start-advance/distributed-tracing/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -459,42 +459,42 @@
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/dynamic-config/</loc>
-<lastmod>2018-01-12T03:01:43+08:00</lastmod>
-</url>
-<url>
 <loc>/users/dynamic-config/</loc>
 <lastmod>2018-01-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/edge-in-1.0.0-m1/</loc>
-<lastmod>2018-04-03T22:01:43+08:00</lastmod>
+<loc>/cn/users/dynamic-config/</loc>
+<lastmod>2018-01-12T03:01:43+08:00</lastmod>
 </url>
 <url>
 <loc>/users/edge-in-1.0.0-m1/</loc>
 <lastmod>2018-04-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/faqs/</loc>
-<lastmod>2017-10-30T03:01:43+08:00</lastmod>
+<loc>/cn/users/edge-in-1.0.0-m1/</loc>
+<lastmod>2018-04-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/faqs/</loc>
-<lastmod>2017-10-29T22:01:43+08:00</lastmod>
+<loc>/cn/faqs/</loc>
+<lastmod>2017-10-30T03:01:43+08:00</lastmod>
 </url>
 <url>
 <loc>/users/faq/</loc>
 <lastmod>2017-06-06T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/docs/quick-start-advance/flow-control/</loc>
-<lastmod>2017-09-03T22:01:43+08:00</lastmod>
+<loc>/faqs/</loc>
+<lastmod>2017-10-29T22:01:43+08:00</lastmod>
 </url>
 <url>
 <loc>/docs/quick-start-advance/flow-control/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/docs/quick-start-advance/flow-control/</loc>
+<lastmod>2017-09-03T22:01:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/users/healthcheck/</loc>
 <lastmod>2017-12-30T22:01:43+08:00</lastmod>
 </url>
@@ -509,10 +509,6 @@
 <loc>/</loc>
 </url>
 <url>
-<loc>/cn/faqs/faqs-huawei-cloud/</loc>
-<lastmod>2017-10-30T03:01:43+08:00</lastmod>
-</url>
-<url>
 <loc>/faqs/faqs-huawei-cloud/</loc>
 <lastmod>2017-10-29T22:01:43+08:00</lastmod>
 </url>
@@ -521,14 +517,18 @@
 <lastmod>2017-06-06T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/invoke-control/</loc>
-<lastmod>2017-08-16T03:01:43+08:00</lastmod>
+<loc>/cn/faqs/faqs-huawei-cloud/</loc>
+<lastmod>2017-10-30T03:01:43+08:00</lastmod>
 </url>
 <url>
 <loc>/users/invoke-control/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/users/invoke-control/</loc>
+<lastmod>2017-08-16T03:01:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/release/java-chassis-downloads/</loc>
 <lastmod>2019-04-12T08:50:43+08:00</lastmod>
 </url>
@@ -537,11 +537,11 @@
 <lastmod>2019-04-12T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/java-chassis-release-notes/</loc>
+<loc>/release/java-chassis-release-notes/</loc>
 <lastmod>2019-04-12T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/release/java-chassis-release-notes/</loc>
+<loc>/cn/release/java-chassis-release-notes/</loc>
 <lastmod>2019-04-12T08:50:43+08:00</lastmod>
 </url>
 <url>
@@ -561,14 +561,14 @@
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/manage_springcloud_application_using_sc_and_gs/</loc>
-<lastmod>2018-04-24T03:01:43+08:00</lastmod>
-</url>
-<url>
 <loc>/users/manage_springcloud_application_using_sc_and_gs/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/users/manage_springcloud_application_using_sc_and_gs/</loc>
+<lastmod>2018-04-24T03:01:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/docs/mersher-quick-start-advance/mersher-distributed-tracing/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
@@ -577,19 +577,23 @@
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/docs/mersher-quick-start-advance/mersher-flow-control/</loc>
+<lastmod>2019-08-08T22:01:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/docs/mersher-quick-start-advance/mersher-flow-control/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/mersher-quick-start-advance/mersher-flow-control/</loc>
+<loc>/cn/docs/mersher-quick-start-advance/mersher-load-balance/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/docs/mersher-quick-start-advance/mersher-load-balance/</loc>
+<loc>/docs/mersher-quick-start-advance/mersher-load-balance/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/mersher-quick-start-advance/mersher-load-balance/</loc>
+<loc>/docs/mersher-quick-start-advance/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -597,7 +601,7 @@
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/mersher-quick-start-advance/</loc>
+<loc>/docs/mersher-quick-start/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -605,7 +609,7 @@
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/mersher-quick-start/</loc>
+<loc>/docs/mersher-quick-start-advance/mersher-service-management/</loc>
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -613,15 +617,11 @@
 <lastmod>2019-08-08T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/mersher-quick-start-advance/mersher-service-management/</loc>
-<lastmod>2019-08-08T22:01:43+08:00</lastmod>
-</url>
-<url>
-<loc>/cn/release/mesher-downloads/</loc>
+<loc>/release/mesher-downloads/</loc>
 <lastmod>2019-09-09T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/release/mesher-downloads/</loc>
+<loc>/cn/release/mesher-downloads/</loc>
 <lastmod>2019-09-09T08:50:43+08:00</lastmod>
 </url>
 <url>
@@ -637,19 +637,19 @@
 <lastmod>2017-12-30T02:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/metrics-in-1.0.0-m1/</loc>
+<loc>/users/metrics-in-1.0.0-m1/</loc>
 <lastmod>2017-12-30T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/metrics-in-1.0.0-m1/</loc>
+<loc>/cn/users/metrics-in-1.0.0-m1/</loc>
 <lastmod>2017-12-30T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/</loc>
+<loc>/users/metrics-integration-with-prometheus-in-1.0.0-m1/</loc>
 <lastmod>2018-01-02T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/metrics-integration-with-prometheus-in-1.0.0-m1/</loc>
+<loc>/cn/users/metrics-integration-with-prometheus-in-1.0.0-m1/</loc>
 <lastmod>2018-01-02T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -681,11 +681,11 @@
 <lastmod>2019-04-06T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/docs/quick-start-advance/</loc>
+<loc>/docs/quick-start-advance/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/docs/quick-start-advance/</loc>
+<loc>/cn/docs/quick-start-advance/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
@@ -697,14 +697,14 @@
 <lastmod>2017-09-06T08:50:00+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/docs/quick-start-dataconsistency/</loc>
-<lastmod>2017-09-19T23:50:10+08:00</lastmod>
-</url>
-<url>
 <loc>/docs/quick-start-dataconsistency/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/docs/quick-start-dataconsistency/</loc>
+<lastmod>2017-09-19T23:50:10+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/docs/quick-start/</loc>
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
@@ -713,22 +713,22 @@
 <lastmod>2017-09-06T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/</loc>
-<lastmod>2019-04-06T08:50:43+08:00</lastmod>
-</url>
-<url>
 <loc>/release/</loc>
 <lastmod>2019-04-06T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/release-guide/</loc>
-<lastmod>2018-05-08T09:55:44+08:00</lastmod>
+<loc>/cn/release/</loc>
+<lastmod>2019-04-06T08:50:43+08:00</lastmod>
 </url>
 <url>
 <loc>/developers/release-guide/</loc>
 <lastmod>2018-04-03T18:33:43+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/developers/release-guide/</loc>
+<lastmod>2018-05-08T09:55:44+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/developers/release-validation-guide/</loc>
 <lastmod>2018-06-12T00:00:00+08:00</lastmod>
 </url>
@@ -769,19 +769,19 @@
 <lastmod>2018-03-28T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/security/</loc>
+<loc>/security/</loc>
 <lastmod>2018-06-07T14:28:13+08:00</lastmod>
 </url>
 <url>
-<loc>/security/</loc>
+<loc>/cn/security/</loc>
 <lastmod>2018-06-07T14:28:13+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/service-configurations/</loc>
+<loc>/users/service-configurations/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/users/service-configurations/</loc>
+<loc>/cn/users/service-configurations/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
@@ -817,11 +817,11 @@
 <lastmod>2017-09-03T22:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/service-center-downloads/</loc>
+<loc>/release/service-center-downloads/</loc>
 <lastmod>2019-04-06T08:50:43+08:00</lastmod>
 </url>
 <url>
-<loc>/release/service-center-downloads/</loc>
+<loc>/cn/release/service-center-downloads/</loc>
 <lastmod>2019-04-06T08:50:43+08:00</lastmod>
 </url>
 <url>
@@ -849,11 +849,11 @@
 <lastmod>2017-12-22T22:49:00+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/setup-develop-environment/</loc>
+<loc>/developers/setup-develop-environment/</loc>
 <lastmod>2017-06-24T18:48:43+08:00</lastmod>
 </url>
 <url>
-<loc>/developers/setup-develop-environment/</loc>
+<loc>/cn/developers/setup-develop-environment/</loc>
 <lastmod>2017-06-24T18:48:43+08:00</lastmod>
 </url>
 <url>
@@ -868,11 +868,11 @@
 <loc>/sitemap/</loc>
 </url>
 <url>
-<loc>/cn/developers/submit-codes/</loc>
+<loc>/developers/submit-codes/</loc>
 <lastmod>2017-09-10T01:12:43+08:00</lastmod>
 </url>
 <url>
-<loc>/developers/submit-codes/</loc>
+<loc>/cn/developers/submit-codes/</loc>
 <lastmod>2017-09-10T01:12:43+08:00</lastmod>
 </url>
 <url>
@@ -892,15 +892,11 @@
 <lastmod>2018-06-01T19:18:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/toolkit-downloads/</loc>
-<lastmod>2019-09-02T22:06:43+08:00</lastmod>
-</url>
-<url>
 <loc>/release/toolkit-downloads/</loc>
 <lastmod>2019-09-02T22:06:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/release/toolkit-release-notes/</loc>
+<loc>/cn/release/toolkit-downloads/</loc>
 <lastmod>2019-09-02T22:06:43+08:00</lastmod>
 </url>
 <url>
@@ -908,11 +904,11 @@
 <lastmod>2019-09-02T22:06:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/use-gitter/</loc>
-<lastmod>2018-03-01T16:12:43+08:00</lastmod>
+<loc>/cn/release/toolkit-release-notes/</loc>
+<lastmod>2019-09-02T22:06:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/developers/use-jira/</loc>
+<loc>/cn/developers/use-gitter/</loc>
 <lastmod>2018-03-01T16:12:43+08:00</lastmod>
 </url>
 <url>
@@ -920,15 +916,15 @@
 <lastmod>2018-03-01T16:12:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/use-service-contract/</loc>
-<lastmod>2017-08-16T03:01:43+08:00</lastmod>
+<loc>/cn/developers/use-jira/</loc>
+<lastmod>2018-03-01T16:12:43+08:00</lastmod>
 </url>
 <url>
 <loc>/users/use-service-contract/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/users/use-tls/</loc>
+<loc>/cn/users/use-service-contract/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
@@ -936,12 +932,16 @@
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
-<loc>/cn/year-archive/</loc>
+<loc>/cn/users/use-tls/</loc>
+<lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
 <url>
 <loc>/year-archive/</loc>
 </url>
 <url>
+<loc>/cn/year-archive/</loc>
+</url>
+<url>
 <loc>/cn/users/edging-service/zuul/</loc>
 <lastmod>2017-08-16T03:01:43+08:00</lastmod>
 </url>
@@ -951,210 +951,210 @@
 </url>
 <url>
 <loc>/assets/slides/20170619/LinuxCon-Workshop-company.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20170619/MSAPrinciple&amp;EcoSystem.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20170619/ServiceCombIntroduction.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20170619/ServiceCombRoadMap.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171026/ServiceCombIntroduce1026.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171102/ServiceComb_PastAndPresent.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171109/MicroservicePracticeOfHuaweiConsumerCloudBasedOnServiceComb.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171207/Uncover_ServiceComb_Design.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171209/PracticeOfServiceMeshOnHuaweiPublicCloud.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20171221/data.consistency.live.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180111/ServiceComb_Metrics_Introduction.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180125/Service_Center_Introduction.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180127/ServiceComb_Overview.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180208/Communications_Inside_Java_Chassis.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180322/ServiceComb-OSCAR.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180421/Introduction_to_ServiceComb.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180422/QConBeijing2018-Saga.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-05-08T11:16:25+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/1_How_Apache_works_jb.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/2_ServiceComb-introduction-jiangning.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/3_How_Smart_City_Microserviced_Based_on_ServiceComb_from_iSoftStone.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/4_Java_sdk_details_wujimin.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/5_Millions_Users_Solution_Based_on_ServiceComb_Microservices_from_Huawei_Consumer_Cloud_lilinfeng.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/6_DDD_in_Microservics_wanglei.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-07-02T09:23:48+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/7_Detailed_Introduction_of_Transaction_Consistency_Solution_from_ServiceComb-Saga.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20180627/8_Thinking_about_ServiceMesh_in_ServiceComb.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-06-30T20:52:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/1_The_Apache_Way.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/2_ApacheServiceComb(Incubating)Community_Roadmap.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/3_ServiceMesh-based_Microservices_and_Those_Based_on_a_Traditional_Architecture.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/4_ServiceComb%E2%80%99s_Exploration_of_Service_Mesh.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/5_My_Participation_in_ServiceComb.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/6_Experience_on_Fast_Microservice_Programming.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/1_The_Apache_Way.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:11+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/2_ApacheServiceComb(Incubating)Community_Roadmap.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/3_ServiceMesh-based_Microservices_and_Those_Based_on_a_Traditional_Architecture.pdf</loc>
-<lastmod>2018-11-12T12:02:34+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/4_ServiceComb%E2%80%99s_Exploration_of_Service_Mesh.pdf</loc>
-<lastmod>2018-11-12T12:02:35+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/5_My_Participation_in_ServiceComb.pdf</loc>
-<lastmod>2018-11-12T12:02:35+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181012/EN/6_Experience_on_Fast_Microservice_Programming.pdf</loc>
-<lastmod>2018-11-12T12:02:35+08:00</lastmod>
+<lastmod>2018-11-06T16:07:12+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:13+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/1_ServiceComb_Opensource_Way.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:13+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/2_NTTDATA_Microservice_Practices.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:13+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/3_Enterprise_PaaS_Microservice_Pratices.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:13+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/4_Innovation_New_Project_Release.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:14+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/5_ShardingSphere_Distributed_Transaction_Solution.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:14+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/6_Microservice_High_Performance_Communication.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:14+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/7_HuaweiCloud_Distributed_Transaction_DTM_Practices.pdf</loc>
-<lastmod>2019-10-14T18:59:30+08:00</lastmod>
+<lastmod>2019-09-09T14:37:14+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/Apache_ServiceComb-Innovative_Microservices.pdf</loc>
-<lastmod>2019-10-14T19:00:05+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/EN/Apache_ServiceComb-Innovative_Microservices.pdf</loc>
-<lastmod>2019-10-14T19:00:05+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/EN/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf</loc>
-<lastmod>2019-10-14T19:00:05+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/EN/The_Apache_Way_En.pdf</loc>
-<lastmod>2019-10-14T19:00:05+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/HUAWEI_CLOUD_Microservice_Tool_Improves_Development_Efficiency.pdf</loc>
-<lastmod>2019-10-14T19:00:05+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190920/The_Apache_Way_En.pdf</loc>
-<lastmod>2019-10-14T19:00:06+08:00</lastmod>
+<lastmod>2019-10-17T10:23:34+08:00</lastmod>
 </url>
 </urlset>
diff --git a/content/users/application-boot-process/index.html b/content/users/application-boot-process/index.html
index cea977e..b23019a 100644
--- a/content/users/application-boot-process/index.html
+++ b/content/users/application-boot-process/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Application Boot-up Process">
     <meta itemprop="description" content="Application Boot-up Process">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/communicate-protocol/index.html b/content/users/communicate-protocol/index.html
index 7723c2b..a005ce2 100644
--- a/content/users/communicate-protocol/index.html
+++ b/content/users/communicate-protocol/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Communication Protocol">
     <meta itemprop="description" content="Communication Protocol">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -601,7 +601,7 @@
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">rest</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span>
-    <span class="na">timeout</span><span class="pi">:</span> <span class="s">3000</span>
+    <span class="na">timeout</span><span class="pi">:</span> <span class="m">3000</span>
 </code></pre></div></div>
 
 <h2 id="rest-over-vertx">REST over Vertx</h2>
@@ -613,9 +613,9 @@
 <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainServer</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-  <span class="err"> </span><span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span><span class="c1">//Log initialization</span>
-  <span class="err"> </span><span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="c1">// Spring bean initialization</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+  <span class="err"> </span><span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span><span class="c1">//Log initialization</span>
+  <span class="err"> </span><span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="c1">// Spring bean initialization</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -710,7 +710,7 @@
 <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">rest</span><span class="pi">:</span>
     <span class="na">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span>
-    <span class="na">thread-count</span><span class="pi">:</span> <span class="s">1</span>
+    <span class="na">thread-count</span><span class="pi">:</span> <span class="m">1</span>
   <span class="na">references</span><span class="pi">:</span>
     <span class="na">hello</span><span class="pi">:</span>
       <span class="na">transport</span><span class="pi">:</span> <span class="s">rest</span>
diff --git a/content/users/customized-tracing/index.html b/content/users/customized-tracing/index.html
index a6523ab..7e25742 100644
--- a/content/users/customized-tracing/index.html
+++ b/content/users/customized-tracing/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Customized Tracing">
     <meta itemprop="description" content="Dotting for Customized Tracing">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -450,8 +450,8 @@
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@SpringBootApplication</span>
 <span class="nd">@EnableZipkinTracing</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZipkinSpanTestApplication</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZipkinSpanTestApplication</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ZipkinSpanTestApplication</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -461,16 +461,16 @@
 <p>Add the <code class="highlighter-rouge">@Span</code> annotation to the method that requires dotting customization:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Component</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SlowRepoImpl</span> <span class="kd">implements</span> <span class="n">SlowRepo</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">SlowRepoImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SlowRepoImpl</span> <span class="kd">implements</span> <span class="nc">SlowRepo</span> <span class="o">{</span>
+  <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="nc">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="nc">SlowRepoImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
 
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Random</span> <span class="n">random</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Random</span> <span class="n">random</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Random</span><span class="o">();</span>
 
   <span class="nd">@Span</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">crawl</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">InterruptedException</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">crawl</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">InterruptedException</span> <span class="o">{</span>
     <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"in /crawl"</span><span class="o">);</span>
-    <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">random</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="mi">200</span><span class="o">));</span>
+    <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">random</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="mi">200</span><span class="o">));</span>
     <span class="k">return</span> <span class="s">"crawled"</span><span class="o">;</span>
   <span class="o">}</span>
 <span class="o">}</span>
@@ -514,7 +514,7 @@
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">CustomSpanTask</span> <span class="o">{</span>
     <span class="nd">@Span</span><span class="o">(</span><span class="n">spanName</span> <span class="o">=</span> <span class="s">"transaction1"</span><span class="o">,</span> <span class="n">callPath</span> <span class="o">=</span> <span class="s">"startA"</span><span class="o">)</span>
-    <span class="kd">public</span> <span class="n">String</span> <span class="nf">invoke</span><span class="o">()</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="nc">String</span> <span class="nf">invoke</span><span class="o">()</span> <span class="o">{</span>
       <span class="k">return</span> <span class="s">"invoke the method"</span><span class="o">;</span>
     <span class="o">}</span>
   <span class="o">}</span>
diff --git a/content/users/develop-with-jax-rs/index.html b/content/users/develop-with-jax-rs/index.html
index 2ca990b..5dbb5cd 100644
--- a/content/users/develop-with-jax-rs/index.html
+++ b/content/users/develop-with-jax-rs/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop Microservice with JAX-RS">
     <meta itemprop="description" content="Develop Microservice with JAX-RS">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -454,17 +454,17 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
  <span class="nd">@Path</span><span class="o">(</span><span class="s">"/jaxrshello"</span><span class="o">)</span>
- <span class="nd">@Produces</span><span class="o">(</span><span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@Produces</span><span class="o">(</span><span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="o">{</span>
    <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhi"</span><span class="o">)</span>
    <span class="nd">@POST</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
    <span class="err"> </span><span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
    <span class="nd">@Path</span><span class="o">(</span><span class="s">"/sayhello"</span><span class="o">)</span>
    <span class="nd">@POST</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
@@ -480,7 +480,7 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.provider.rest.common.RestSchema</span><span class="o">;</span>
  <span class="c1">// other code omitted</span>
  <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"jaxrsHello"</span><span class="o">)</span>
- <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kd">class</span> <span class="nc">JaxrsHelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="c1">// other code omitted</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -510,10 +510,10 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//initializing log, loading bean(including its parameters), and registering service, more detail can be found here :  https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/users/develop-with-rest-template/index.html b/content/users/develop-with-rest-template/index.html
index 7d73119..67c43ed 100644
--- a/content/users/develop-with-rest-template/index.html
+++ b/content/users/develop-with-rest-template/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop with Rest Template">
     <meta itemprop="description" content="Develop with Rest Template">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -424,23 +424,23 @@
 
 <span class="nd">@Component</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcConsumerMain</span> <span class="o">{</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">RestTemplate</span> <span class="n">restTemplate</span> <span class="o">=</span> <span class="n">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="nc">RestTemplate</span> <span class="n">restTemplate</span> <span class="o">=</span> <span class="nc">RestTemplateBuilder</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
         <span class="n">init</span><span class="o">();</span>
-        <span class="n">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Person</span><span class="o">();</span>
+        <span class="nc">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Person</span><span class="o">();</span>
         <span class="n">person</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">"ServiceComb/Java Chassis"</span><span class="o">);</span>
-        <span class="n">String</span> <span class="n">sayHiResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
-                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhi?name=Java Chassis"</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-        <span class="n">String</span> <span class="n">sayHelloResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
-                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span> <span class="n">person</span><span class="o">,</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhi services: "</span> <span class="o">+</span> <span class="n">sayHiResult</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhello services: "</span> <span class="o">+</span> <span class="n">sayHelloResult</span><span class="o">);</span>
+        <span class="nc">String</span> <span class="n">sayHiResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
+                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhi?name=Java Chassis"</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="nc">String</span> <span class="n">sayHelloResult</span> <span class="o">=</span> <span class="n">restTemplate</span>
+                <span class="o">.</span><span class="na">postForObject</span><span class="o">(</span><span class="s">"cse://springmvc/springmvchello/sayhello"</span><span class="o">,</span> <span class="n">person</span><span class="o">,</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhi services: "</span> <span class="o">+</span> <span class="n">sayHiResult</span><span class="o">);</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"RestTemplate consumer sayhello services: "</span> <span class="o">+</span> <span class="n">sayHelloResult</span><span class="o">);</span>
     <span class="o">}</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/users/develop-with-rpc/index.html b/content/users/develop-with-rpc/index.html
index edd5258..9f5c750 100644
--- a/content/users/develop-with-rpc/index.html
+++ b/content/users/develop-with-rpc/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop with RPC">
     <meta itemprop="description" content="Develop with RPC">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -423,19 +423,19 @@
 <span class="nd">@Component</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">CodeFirstConsumerMain</span> <span class="o">{</span>
     <span class="nd">@RpcReference</span><span class="o">(</span><span class="n">microserviceName</span> <span class="o">=</span> <span class="s">"codefirst"</span><span class="o">,</span> <span class="n">schemaId</span> <span class="o">=</span> <span class="s">"codeFirstHello"</span><span class="o">)</span>
-    <span class="kd">private</span> <span class="kd">static</span> <span class="n">Hello</span> <span class="n">hello</span><span class="o">;</span>
+    <span class="kd">private</span> <span class="kd">static</span> <span class="nc">Hello</span> <span class="n">hello</span><span class="o">;</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
         <span class="n">init</span><span class="o">();</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"Java Chassis"</span><span class="o">));</span>
-        <span class="n">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Person</span><span class="o">();</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHi</span><span class="o">(</span><span class="s">"Java Chassis"</span><span class="o">));</span>
+        <span class="nc">Person</span> <span class="n">person</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Person</span><span class="o">();</span>
         <span class="n">person</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">"ServiceComb/Java Chassis"</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHello</span><span class="o">(</span><span class="n">person</span><span class="o">));</span>
+        <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">hello</span><span class="o">.</span><span class="na">sayHello</span><span class="o">(</span><span class="n">person</span><span class="o">));</span>
     <span class="o">}</span>
 
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -454,24 +454,24 @@
 
 <p>Then use <code class="highlighter-rouge">BeanUtils.getBean</code> to get <code class="highlighter-rouge">Hello</code> provider:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"hello"</span><span class="o">);</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"hello"</span><span class="o">);</span>
 </code></pre></div></div>
 
 <h4 id="second-way-get-bean-then-use-field">Second way: get Bean, then use field</h4>
 <p>First use <code class="highlighter-rouge">BeanUtils.getBean</code> to get Bean of <code class="highlighter-rouge">CodeFirstConsumerMain</code>:</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">//Default instance name of Spring Bean is same as class name with first char low-cased</span>
-<span class="n">CodeFirstConsumerMain</span> <span class="n">consumer</span> <span class="o">=</span> <span class="n">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"codeFirstConsumerMain"</span><span class="o">);</span>
+<span class="nc">CodeFirstConsumerMain</span> <span class="n">consumer</span> <span class="o">=</span> <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">getBean</span><span class="o">(</span><span class="s">"codeFirstConsumerMain"</span><span class="o">);</span>
 </code></pre></div></div>
 
 <p>Then get <code class="highlighter-rouge">hello</code> via Getter:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Hello</span> <span class="nf">getHello</span><span class="o">()</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Hello</span> <span class="nf">getHello</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="n">hello</span><span class="o">;</span>
 <span class="o">}</span>
 </code></pre></div></div>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">consumer</span><span class="o">.</span><span class="na">getHello</span><span class="o">()</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Hello</span> <span class="n">hello</span> <span class="o">=</span> <span class="n">consumer</span><span class="o">.</span><span class="na">getHello</span><span class="o">()</span>
 </code></pre></div></div>
 
 <blockquote>
diff --git a/content/users/develop-with-spring-boot-starter/index.html b/content/users/develop-with-spring-boot-starter/index.html
index d55ca59..cafbbc0 100644
--- a/content/users/develop-with-spring-boot-starter/index.html
+++ b/content/users/develop-with-spring-boot-starter/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop Microservice with Spring Boot Starter">
     <meta itemprop="description" content="Develop Microservice with Spring Boot Starter">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -455,15 +455,15 @@
  <span class="kn">import</span> <span class="nn">org.springframework.web.bind.annotation.RequestParam</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="o">{</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
  <span class="err"> </span><span class="o">}</span>
  <span class="o">}</span>
@@ -522,8 +522,8 @@ Spring Boot had include a default Bean discovery policy, if Spring Boot can foun
   <span class="c1">//EnableServiceComb annotation is used to init ServiceComb in Spring Boot</span>
   <span class="nd">@EnableServiceComb</span>
   <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+      <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">Application</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
     <span class="o">}</span>
   <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/users/develop-with-springmvc/index.html b/content/users/develop-with-springmvc/index.html
index 5352146..e88e57f 100644
--- a/content/users/develop-with-springmvc/index.html
+++ b/content/users/develop-with-springmvc/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop Microservice with SpringMVC">
     <meta itemprop="description" content="Develop Microservice with SpringMVC">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -454,15 +454,15 @@
  <span class="kn">import</span> <span class="nn">org.springframework.web.bind.annotation.RequestParam</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/springmvchello"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">APPLICATION_JSON</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">SpringmvcHelloImpl</span> <span class="o">{</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhi"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nd">@RequestParam</span><span class="o">(</span><span class="n">name</span> <span class="o">=</span> <span class="s">"name"</span><span class="o">)</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/sayhello"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">POST</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
  <span class="err"> </span>  <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
  <span class="err"> </span><span class="o">}</span>
  <span class="o">}</span>
@@ -509,10 +509,10 @@
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//initializing log, loading bean(including its parameters), and registering service, more detail can be found here : https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/users/develop-with-transparent-rpc/index.html b/content/users/develop-with-transparent-rpc/index.html
index 6426590..a695338 100644
--- a/content/users/develop-with-transparent-rpc/index.html
+++ b/content/users/develop-with-transparent-rpc/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Develop Microservice with Transparent RPC">
     <meta itemprop="description" content="Develop Microservice with Transparent RPC">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -447,8 +447,8 @@
     <p><strong>Step 2</strong> Define a service API. Compile the Java API definition based on the API definition defined before development. The code is as follows:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">interface</span> <span class="nc">Hello</span> <span class="o">{</span>
-   <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">);</span>
-   <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">);</span>
+   <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">);</span>
+   <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
   </li>
@@ -458,14 +458,14 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.Hello</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.samples.common.schema.models.Person</span><span class="o">;</span>
 
- <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
 
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
@@ -499,14 +499,14 @@
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">org.apache.servicecomb.provider.pojo.RpcSchema</span><span class="o">;</span>
 <span class="nd">@RpcSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"pojoHello"</span><span class="o">)</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="n">Hello</span> <span class="o">{</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">HelloImpl</span> <span class="kd">implements</span> <span class="nc">Hello</span> <span class="o">{</span>
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHi</span><span class="o">(</span><span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello "</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
  
    <span class="nd">@Override</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="n">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">sayHello</span><span class="o">(</span><span class="nc">Person</span> <span class="n">person</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"Hello person "</span> <span class="o">+</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">();</span>
    <span class="o">}</span>
 <span class="o">}</span>
@@ -549,10 +549,10 @@ Different from the Spring MVC and JAX-RS development modes, the transparent RPC
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
 
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Application</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
       <span class="c1">//initializing log, loading bean(including its parameters), and registering service, more detail can be found here : https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/bootup.html</span>
-      <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-      <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
diff --git a/content/users/distributed-tracing/index.html b/content/users/distributed-tracing/index.html
index 1e6acab..bb39958 100644
--- a/content/users/distributed-tracing/index.html
+++ b/content/users/distributed-tracing/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Distributed Tracing">
     <meta itemprop="description" content="Distributed Tracing">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/dynamic-config/index.html b/content/users/dynamic-config/index.html
index 123b635..5c108f2 100644
--- a/content/users/dynamic-config/index.html
+++ b/content/users/dynamic-config/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Dynamic Configuration">
     <meta itemprop="description" content="Dynamic Configuration">
     
-    <meta itemprop="dateModified" content="January 16, 2018">
+    <meta itemprop="dateModified" content="January 15, 2018">
 
     <div class="page__inner-wrap">
       
@@ -477,7 +477,7 @@
        <span class="na">clusters</span><span class="pi">:</span> <span class="s">default</span>
        <span class="na">namespace</span><span class="pi">:</span> <span class="s">application</span>
        <span class="na">token</span><span class="pi">:</span> <span class="s">testtoken</span>
-       <span class="na">refreshInterval</span><span class="pi">:</span> <span class="s">10</span>
+       <span class="na">refreshInterval</span><span class="pi">:</span> <span class="m">10</span>
 </code></pre></div></div>
 <p>​	Configurations under <code class="highlighter-rouge">apollo.config</code> are parameters of the project that users created above, including serviceName, env, clusters, namespace, token and refreshInterval. Pay attention to <code class="highlighter-rouge">refreshInterval: 10</code>, it means service will fetch latest configuration items every each 10 seconds, default refresh cycle is 30 second if no value is configured here. 
   <code class="highlighter-rouge">serviceName</code> need to be <code class="highlighter-rouge">AppId</code> in apollo, please pay attention to that.</p>
@@ -489,14 +489,14 @@
 <p>​	You can use<code class="highlighter-rouge">DynamicPropertyFactory.getInstance().getProperty()</code> to get the value of configuration items.</p>
 
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>   <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Demo</span> <span class="o">{</span>
-      <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
-        <span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+      <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+        <span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
+        <span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span>
         <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">DynamicIntProperty</span> <span class="n">timeout</span> <span class="o">=</span> <span class="n">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span>
+          <span class="nc">DynamicIntProperty</span> <span class="n">timeout</span> <span class="o">=</span> <span class="nc">DynamicPropertyFactory</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span>
             <span class="n">getIntProperty</span><span class="o">(</span><span class="s">"timeout"</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">);</span>
-          <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">timeout</span><span class="o">);</span>
-          <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
+          <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">timeout</span><span class="o">);</span>
+          <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
         <span class="o">}</span>
       <span class="o">}</span>
     <span class="o">}</span>
diff --git a/content/users/edge-in-1.0.0-m1/index.html b/content/users/edge-in-1.0.0-m1/index.html
index eeecc13..0d568e7 100644
--- a/content/users/edge-in-1.0.0-m1/index.html
+++ b/content/users/edge-in-1.0.0-m1/index.html
@@ -458,14 +458,14 @@
 
 <h4 id="init-method">init Method</h4>
 <p>Init routing rules of the Dispatcher, we use <a href="https://vertx.io/docs/vertx-web/java/#_routing_by_exact_path">Vertx Routing Rule</a>, for example we add two routing rules like:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="n">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
-  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">(</span><span class="nc">Router</span> <span class="n">router</span><span class="o">)</span> <span class="o">{</span>
+  <span class="nc">String</span> <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
+  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="nc">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">createBodyHandler</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">failureHandler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onFailure</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onRequest</span><span class= [...]
 
   <span class="n">regex</span> <span class="o">=</span> <span class="s">"/([^\\\\/]+)/(.*)"</span><span class="o">;</span>
-  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
+  <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="nc">CookieHandler</span><span class="o">.</span><span class="na">create</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="n">createBodyHandler</span><span class="o">());</span>
   <span class="n">router</span><span class="o">.</span><span class="na">routeWithRegex</span><span class="o">(</span><span class="n">regex</span><span class="o">).</span><span class="na">failureHandler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onFailure</span><span class="o">).</span><span class="na">handler</span><span class="o">(</span><span class="k">this</span><span class="o">::</span><span class="n">onRequest</span><span class= [...]
 <span class="o">}</span>
@@ -478,11 +478,11 @@
 
 <h4 id="onrequest-method">onRequest Method</h4>
 <p>Implement of redirection:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="n">RoutingContext</span> <span class="n">context</span><span class="o">)</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">void</span> <span class="nf">onRequest</span><span class="o">(</span><span class="nc">RoutingContext</span> <span class="n">context</span><span class="o">)</span>
 </code></pre></div></div>
 
 <p>You can get micro-service name, path etc from context, then create and init a new EdgeInvocation for invoke:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="n">EdgeInvocation</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">EdgeInvocation</span> <span class="n">edgeInvocation</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EdgeInvocation</span><span class="o">();</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">setVersionRule</span><span class="o">(</span><span class="n">versionRule</span><span class="o">);</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">init</span><span class="o">(</span><span class="n">serviceName</span><span class="o">,</span> <span class="n">context</span><span class="o">,</span> <span class="n">path</span><span class="o">,</span> <span class="n">httpServerFilters</span><span class="o">);</span>
 <span class="n">edgeInvocation</span><span class="o">.</span><span class="na">edgeInvoke</span><span class="o">();</span>
diff --git a/content/users/edging-service/nginx/index.html b/content/users/edging-service/nginx/index.html
index dac24b4..45b1f13 100644
--- a/content/users/edging-service/nginx/index.html
+++ b/content/users/edging-service/nginx/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Using Confd and Nginx for Edge Service">
     <meta itemprop="description" content="Using Confd and Nginx for Edge Service">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -498,23 +498,23 @@
 
 <ul>
   <li>Obtain all microservice information
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">Microservice</span><span class="o">&gt;</span> <span class="nf">getAllMicroservices</span><span class="o">();</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">Microservice</span><span class="o">&gt;</span> <span class="nf">getAllMicroservices</span><span class="o">();</span>
 </code></pre></div>    </div>
   </li>
   <li>Obtain the unique ID of the microservice.
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">String</span> <span class="nf">getMicroserviceId</span><span class="o">(</span><span class="n">String</span> <span class="n">appId</span><span class="o">,</span> <span class="n">String</span> <span class="n">microserviceName</span><span class="o">,</span> <span class="n">String</span> <span class="n">versionRule</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">String</span> <span class="nf">getMicroserviceId</span><span class="o">(</span><span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">microserviceName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">versionRule</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>Query the microservice static information based on the unique ID of the microservice.
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">Microservice</span> <span class="nf">getMicroservice</span><span class="o">(</span><span class="n">String</span> <span class="n">microserviceId</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">Microservice</span> <span class="nf">getMicroservice</span><span class="o">(</span><span class="nc">String</span> <span class="n">microserviceId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>Query all the microservice instance information based on the unique IDs of the microservices.
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">getMicroserviceInstance</span><span class="o">(</span><span class="n">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="n">String</span> <span class="n">providerId</span><span class="o">);</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">getMicroserviceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">providerId</span><span class="o">);</span>
 </code></pre></div>    </div>
   </li>
   <li>Query the instance end points information based on the application, interface, and version.
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">List</span><span class="o">&lt;</span><span class="n">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">findServiceInstance</span><span class="o">(</span><span class="n">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="n">String</span> <span class="n">appId</span><span class="o">,</span> <span class="n">String</spa [...]
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">findServiceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String [...]
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/users/edging-service/zuul/index.html b/content/users/edging-service/zuul/index.html
index b737551..e3b08e4 100644
--- a/content/users/edging-service/zuul/index.html
+++ b/content/users/edging-service/zuul/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Using Zuul for Edge Service">
     <meta itemprop="description" content="Using Zuul for Edge Service">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -473,8 +473,8 @@
  <span class="nd">@EnableServiceComb</span>
  <span class="nd">@EnableZuulProxy</span><span class="c1">//new Annotation</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZuulMain</span><span class="o">{</span>
- <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span><span class="o">{</span>
-     <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZuulMain</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span><span class="o">{</span>
+     <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="nc">ZuulMain</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -483,7 +483,7 @@
     <p><strong>Step 3</strong> Define a routing policy in the application.yaml file</p>
 
     <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="na">server</span><span class="pi">:</span>
-   <span class="na">port</span><span class="pi">:</span> <span class="s">8754</span> <span class="c1">#api gateway service port number</span>
+   <span class="na">port</span><span class="pi">:</span> <span class="m">8754</span> <span class="c1">#api gateway service port number</span>
  <span class="na">zuul</span><span class="pi">:</span>
    <span class="na">routes</span><span class="pi">:</span> <span class="c1">#Routing policy</span>
      <span class="na">discoveryServer</span><span class="pi">:</span> <span class="s">/myServer/**</span> <span class="c1">#Routing rule</span>
diff --git a/content/users/faq/index.html b/content/users/faq/index.html
index 1e0d92f..f720aa2 100644
--- a/content/users/faq/index.html
+++ b/content/users/faq/index.html
@@ -431,7 +431,7 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@RestController</span>
 <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"worker"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">WorkerController</span> <span class="o">{</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span><span class="o">=</span><span class="s">"/count"</span><span class="o">,</span> <span class="n">method</span><span class="o">=</span><span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">value</span><span class="o">=</span><span class="s">"/count"</span><span class="o">,</span> <span class="n">method</span><span class="o">=</span><span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getWorkerNumbers</span><span class="o">()</span> <span class="o">{</span>
     <span class="o">...</span>
   <span class="o">}</span>
diff --git a/content/users/healthcheck/index.html b/content/users/healthcheck/index.html
index 4d1c797..0a1d56f 100644
--- a/content/users/healthcheck/index.html
+++ b/content/users/healthcheck/index.html
@@ -439,28 +439,28 @@
 </table>
 
 <p>Example:</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MySqlHealthChecker</span> <span class="kd">implements</span> <span class="n">HealthChecker</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MySqlHealthChecker</span> <span class="kd">implements</span> <span class="nc">HealthChecker</span> <span class="o">{</span>
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getName</span><span class="o">()</span> <span class="o">{</span>
     <span class="k">return</span> <span class="s">"mysql"</span><span class="o">;</span>
   <span class="o">}</span>
 
   <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">HealthCheckResult</span> <span class="nf">check</span><span class="o">()</span> <span class="o">{</span>
+  <span class="kd">public</span> <span class="nc">HealthCheckResult</span> <span class="nf">check</span><span class="o">()</span> <span class="o">{</span>
     <span class="c1">//add your health check code here</span>
-    <span class="n">Connection</span> <span class="n">connection</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
+    <span class="nc">Connection</span> <span class="n">connection</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
     <span class="k">try</span> <span class="o">{</span>
-      <span class="n">connection</span> <span class="o">=</span> <span class="n">DriverManager</span><span class="o">.</span><span class="na">getConnection</span><span class="o">(</span><span class="s">"jdbc:mysql://localhost:3306/test_db?useSSL=false"</span><span class="o">,</span> <span class="s">"root"</span><span class="o">,</span> <span class="s">"pwd"</span><span class="o">);</span>
+      <span class="n">connection</span> <span class="o">=</span> <span class="nc">DriverManager</span><span class="o">.</span><span class="na">getConnection</span><span class="o">(</span><span class="s">"jdbc:mysql://localhost:3306/test_db?useSSL=false"</span><span class="o">,</span> <span class="s">"root"</span><span class="o">,</span> <span class="s">"pwd"</span><span class="o">);</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">HealthCheckResult</span><span class="o">(</span><span class="kc">true</span><span class="o">,</span> <span class="s">"local mysql health check"</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
-    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Cannot connect the localhost mysql. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+      <span class="no">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Cannot connect the localhost mysql. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
       <span class="k">return</span> <span class="k">new</span> <span class="nf">HealthCheckResult</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span> <span class="s">"local mysql health check"</span><span class="o">,</span> <span class="n">e</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span>
     <span class="o">}</span> <span class="k">finally</span> <span class="o">{</span>
       <span class="k">if</span> <span class="o">(</span><span class="n">connection</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
         <span class="k">try</span> <span class="o">{</span>
           <span class="n">connection</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
-        <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Close connect the localhost mysql error. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
+        <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SQLException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
+          <span class="no">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">"Close connect the localhost mysql error. "</span><span class="o">,</span> <span class="n">e</span><span class="o">);</span>
         <span class="o">}</span>
       <span class="o">}</span>
     <span class="o">}</span>
diff --git a/content/users/invoke-control/index.html b/content/users/invoke-control/index.html
index e82d09c..791508d 100644
--- a/content/users/invoke-control/index.html
+++ b/content/users/invoke-control/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Invoke Control">
     <meta itemprop="description" content="Invoke Control">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/local-develop-test/index.html b/content/users/local-develop-test/index.html
index 7559368..f82092d 100644
--- a/content/users/local-develop-test/index.html
+++ b/content/users/local-develop-test/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Local Development and Test">
     <meta itemprop="description" content="Local Development and Test">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -460,10 +460,10 @@
     <p><strong>Step 2</strong> Add the following code to the end of the Main function for service consumers.</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxClient</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-   <span class="n">System</span><span class="o">.</span><span class="na">setProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">,</span> <span class="s">"/path/registry.yaml"</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nc">System</span><span class="o">.</span><span class="na">setProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">,</span> <span class="s">"/path/registry.yaml"</span><span class="o">);</span>
    <span class="c1">//your code</span>
-   <span class="n">System</span><span class="o">.</span><span class="na">clearProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">);</span>
+   <span class="nc">System</span><span class="o">.</span><span class="na">clearProperty</span><span class="o">(</span><span class="s">"local.registry.file"</span><span class="o">);</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
 
diff --git a/content/users/manage_springcloud_application_using_sc_and_gs/index.html b/content/users/manage_springcloud_application_using_sc_and_gs/index.html
index f7c383c..b53cabc 100644
--- a/content/users/manage_springcloud_application_using_sc_and_gs/index.html
+++ b/content/users/manage_springcloud_application_using_sc_and_gs/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Using the Service Center and Governance Center to Manage the Spring Cloud Application">
     <meta itemprop="description" content="Using the Service Center and Governance Center to Manage the Spring Cloud Application">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -512,7 +512,7 @@
     <p>Add the following dependency to POM file:</p>
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
-   <span class="o">&lt;!--</span><span class="n">Use</span> <span class="n">the</span> <span class="n">configuration</span> <span class="n">center</span><span class="o">--&gt;</span>
+   <span class="o">&lt;!--</span><span class="nc">Use</span> <span class="n">the</span> <span class="n">configuration</span> <span class="n">center</span><span class="o">--&gt;</span>
    <span class="o">&lt;</span><span class="n">group</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">servicecomb</span><span class="o">&lt;/</span><span class="n">group</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">spring</span><span class="o">-</span><span class="n">boot</span><span class="o">-</span><span class="n">starter</span><span class="o">-</span><span class="n">discovery</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
  <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
@@ -525,8 +525,8 @@
  <span class="nd">@SpringBootApplication</span>
  <span class="nd">@EnableServiceComb</span> <span class="c1">//new annotation</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxServer</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-     <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+     <span class="nc">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span>
    <span class="o">}</span>
  <span class="o">}</span>
 </code></pre></div>    </div>
@@ -536,11 +536,11 @@
 
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c1">// ControllerImpl.class:</span>
  <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"test"</span><span class="o">)</span>
- <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/compute"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">TEXT_PLAIN</span><span class="o">)</span>
+ <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/compute"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="nc">MediaType</span><span class="o">.</span><span class="na">TEXT_PLAIN</span><span class="o">)</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ControllerImpl</span> <span class="o">{</span>
    <span class="nd">@ResponseBody</span>
-   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
-   <span class="kd">public</span> <span class="n">String</span> <span class="nf">add</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
+   <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+   <span class="kd">public</span> <span class="nc">String</span> <span class="nf">add</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span>
      <span class="k">return</span> <span class="s">"hello"</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span>
    <span class="o">}</span>
  <span class="o">}</span>
diff --git a/content/users/metrics-in-1.0.0-m1/index.html b/content/users/metrics-in-1.0.0-m1/index.html
index d2a7459..c8688fc 100644
--- a/content/users/metrics-in-1.0.0-m1/index.html
+++ b/content/users/metrics-in-1.0.0-m1/index.html
@@ -648,7 +648,7 @@ Tag name and value below:</p>
 <span class="na">servicecomb</span><span class="pi">:</span>
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="c1">#window time,same as servo.pollers,unit is millisecond,default value is 5000 (5 seconds)</span>
-    <span class="na">window_time</span><span class="pi">:</span> <span class="s">5000</span>
+    <span class="na">window_time</span><span class="pi">:</span> <span class="m">5000</span>
 </code></pre></div></div>
 <p><strong>In order to decrease difficulty for understand and usage of metrics,we temporary do not support multi window time</strong></p>
 
@@ -669,12 +669,12 @@ Tag name and value below:</p>
 <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/metrics"</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MetricsPublisher</span> <span class="o">{</span>
   <span class="nd">@ApiResponses</span><span class="o">({</span>
-      <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">400</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <span class="s">"illegal request content"</span><span class="o">),</span>
+      <span class="nd">@ApiResponse</span><span class="o">(</span><span class="n">code</span> <span class="o">=</span> <span class="mi">400</span><span class="o">,</span> <span class="n">response</span> <span class="o">=</span> <span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">message</span> <span class="o">=</span> <span class="s">"illegal request content"</span><span class="o">),</span>
   <span class="o">})</span>
-  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
+  <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="nc">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span>
   <span class="nd">@CrossOrigin</span>
-  <span class="kd">public</span> <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="nf">measure</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
+  <span class="kd">public</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="nf">measure</span><span class="o">()</span> <span class="o">{</span>
+    <span class="k">return</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -690,8 +690,8 @@ Tag name and value below:</p>
 
 <h3 id="direct-programming-get">Direct programming get</h3>
 <p>From above code you can known,the entry of data provider is org.apache.servicecomb.metrics.core.MonitorManager,so if you want develop your own metrics publisher,direct get it is enough.</p>
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
-<span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">measure</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
+<span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">measure</span><span class="o">();</span>
 </code></pre></div></div>
 
 <p><strong>Notice: Servo had marked with DEPRECATED by Netflix, we will use Netflix spectator instead in 1.0.0-m2, publish interface will be adjusted</strong></p>
@@ -699,7 +699,7 @@ Tag name and value below:</p>
 <h2 id="how-to-use-metrics-data">How to Use Metrics Data</h2>
 <p>Metrics data will output as Map&lt;String,Double&gt;,in order to let user easier fetch certain metric value,we provide org.apache.servicecomb.foundation.metrics.publish.MetricsLoader tool class:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="c1">//simulate MonitorManager.getInstance().measure() get all metrics data</span>
-    <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o">&lt;&gt;();</span>
+    <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HashMap</span><span class="o">&lt;&gt;();</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=1,K2=2,K3=3)"</span><span class="o">,</span> <span class="mf">100.0</span><span class="o">);</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=1,K2=20,K3=30)"</span><span class="o">,</span> <span class="mf">200.0</span><span class="o">);</span>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"X(K1=2,K2=200,K3=300)"</span><span class="o">,</span> <span class="mf">300.0</span><span class="o">);</span>
@@ -711,10 +711,10 @@ Tag name and value below:</p>
     <span class="n">metrics</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"Y(K1=1000,K2=2000,K3=3000)"</span><span class="o">,</span> <span class="mf">800.0</span><span class="o">);</span>
 
     <span class="c1">//new MetricsLoader load all metrics data</span>
-    <span class="n">MetricsLoader</span> <span class="n">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="n">MetricsLoader</span><span class="o">(</span><span class="n">metrics</span><span class="o">);</span>
+    <span class="nc">MetricsLoader</span> <span class="n">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MetricsLoader</span><span class="o">(</span><span class="n">metrics</span><span class="o">);</span>
 
     <span class="c1">//get name of 'X' Metrics then group by K1,K2</span>
-    <span class="n">MetricNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="na">getMetricTree</span><span class="o">(</span><span class="s">"X"</span><span class="o">,</span><span class="s">"K1"</span><span class="o">,</span><span class="s">"K2"</span><span class="o">);</span>
+    <span class="nc">MetricNode</span> <span class="n">node</span> <span class="o">=</span> <span class="n">loader</span><span class="o">.</span><span class="na">getMetricTree</span><span class="o">(</span><span class="s">"X"</span><span class="o">,</span><span class="s">"K1"</span><span class="o">,</span><span class="s">"K2"</span><span class="o">);</span>
 
     <span class="c1">//get all Metrics of K1=1 and K2=20</span>
     <span class="n">node</span><span class="o">.</span><span class="na">getChildrenNode</span><span class="o">(</span><span class="s">"1"</span><span class="o">).</span><span class="na">getChildrenNode</span><span class="o">(</span><span class="s">"20"</span><span class="o">).</span><span class="na">getMetrics</span><span class="o">();</span>
@@ -757,13 +757,13 @@ Tag name and value below:</p>
 
 <p>Let us use Process Order make an example:</p>
 <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OrderController</span> <span class="o">{</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Counter</span> <span class="n">orderCount</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Counter</span> <span class="n">orderTps</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">Timer</span> <span class="n">averageLatency</span><span class="o">;</span>
-  <span class="kd">private</span> <span class="kd">final</span> <span class="n">MaxGauge</span> <span class="n">maxLatency</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Counter</span> <span class="n">orderCount</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Counter</span> <span class="n">orderTps</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">Timer</span> <span class="n">averageLatency</span><span class="o">;</span>
+  <span class="kd">private</span> <span class="kd">final</span> <span class="nc">MaxGauge</span> <span class="n">maxLatency</span><span class="o">;</span>
 
-  <span class="n">OrderController</span><span class="o">()</span> <span class="o">{</span>
-    <span class="n">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
+  <span class="nc">OrderController</span><span class="o">()</span> <span class="o">{</span>
+    <span class="nc">MonitorManager</span> <span class="n">manager</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
     <span class="c1">//"product","levis jeans" and "model","512" are two custom Tag,support multi Tags</span>
     <span class="k">this</span><span class="o">.</span><span class="na">orderCount</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"orderCount"</span><span class="o">,</span> <span class="s">"product"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"model"</span><span class="o">,</span> <span class="s">"512"</span><spa [...]
     <span class="k">this</span><span class="o">.</span><span class="na">orderTps</span> <span class="o">=</span> <span class="n">manager</span><span class="o">.</span><span class="na">getCounter</span><span class="o">(</span><span class="nl">StepCounter:</span><span class="o">:</span><span class="k">new</span><span class="o">,</span> <span class="s">"orderGenerated"</span><span class="o">,</span> <span class="s">"statistic"</span><span class="o">,</span> <span class="s">"tps"</span><span [...]
@@ -772,11 +772,11 @@ Tag name and value below:</p>
   <span class="o">}</span>
 
   <span class="kd">public</span> <span class="kt">void</span> <span class="nf">makeOrder</span><span class="o">()</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">startTime</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">();</span>
+    <span class="kt">long</span> <span class="n">startTime</span> <span class="o">=</span> <span class="nc">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">();</span>
     <span class="c1">//process order logic</span>
     <span class="c1">//...</span>
     <span class="c1">//process finished</span>
-    <span class="kt">long</span> <span class="n">totalTime</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">()</span> <span class="o">-</span> <span class="n">startTime</span><span class="o">;</span>
+    <span class="kt">long</span> <span class="n">totalTime</span> <span class="o">=</span> <span class="nc">System</span><span class="o">.</span><span class="na">nanoTime</span><span class="o">()</span> <span class="o">-</span> <span class="n">startTime</span><span class="o">;</span>
 
     <span class="c1">//increase order count</span>
     <span class="k">this</span><span class="o">.</span><span class="na">orderCount</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
@@ -785,10 +785,10 @@ Tag name and value below:</p>
     <span class="k">this</span><span class="o">.</span><span class="na">orderTps</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 
     <span class="c1">//record latency for average</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">averageLatency</span><span class="o">.</span><span class="na">record</span><span class="o">(</span><span class="n">totalTime</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">);</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">averageLatency</span><span class="o">.</span><span class="na">record</span><span class="o">(</span><span class="n">totalTime</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">);</span>
 
     <span class="c1">//record max latency</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">maxLatency</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">totalTime</span><span class="o">));</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">maxLatency</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="nc">TimeUnit</span><span class="o">.</span><span class="na">NANOSECONDS</span><span class="o">.</span><span class="na">toMillis</span><span class="o">(</span><span class="n">totalTime</span><span class="o">));</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
@@ -797,7 +797,7 @@ Tag name and value below:</p>
 
 <p>1.Metric ID is join name and all tags that pass to MonitorManager when getting monitor,so please keep uniqueness,metrics output of front example are:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span><span class="nc">Double</span><span class="o">&gt;</span> <span class="n">metrics</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">();</span>
 
 <span class="c1">//metrics.keySet() include:</span>
 <span class="c1">//	orderCount(product=levis jeans,model=512)</span>
@@ -808,15 +808,15 @@ Tag name and value below:</p>
 
 <p>2.All get monitor method in MonitorManager act as <strong>get or new</strong>,so use same name and tags will return same one monitor:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Counter</span> <span class="n">counter1</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"orderGenerated"</span><span class="o">,</span> <span class="s">"product"</span><span class="o">,</span> <span  [...]
-<span class="n">Counter</span> <span class="n">counter2</span> <span class="o">=</span> <span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"orderGenerated"</span><span class="o">,</span> <span class="s">"product"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"model"</span><span class= [...]
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">Counter</span> <span class="n">counter1</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"orderGenerated"</span><span class="o">,</span> <span class="s">"product"</span><span class="o">,</span> <spa [...]
+<span class="nc">Counter</span> <span class="n">counter2</span> <span class="o">=</span> <span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">getCounter</span><span class="o">(</span><span class="s">"orderGenerated"</span><span class="o">,</span> <span class="s">"product"</span><span class="o">,</span> <span class="s">"levis jeans"</span><span class="o">,</span> <span class="s">"model"</span><span clas [...]
 
 <span class="n">counter1</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 <span class="n">counter2</span><span class="o">.</span><span class="na">increment</span><span class="o">();</span>
 
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter1</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter2</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-<span class="n">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mf">2.0</span><span class="o">,</span><span class="n">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="s">"orderGenerated(product=levis jeans,model=512)"</span><span class="o">),</span><sp [...]
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter1</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="n">counter2</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
+<span class="nc">Assert</span><span class="o">.</span><span class="na">assertEquals</span><span class="o">(</span><span class="mf">2.0</span><span class="o">,</span><span class="nc">MonitorManager</span><span class="o">.</span><span class="na">getInstance</span><span class="o">().</span><span class="na">measure</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="s">"orderGenerated(product=levis jeans,model=512)"</span><span class="o">),</span>< [...]
 </code></pre></div></div>
 
 <p><strong>Performance of get monitor from MonitorManager is slightly lower,so please get all monitors what needed when init,then cache them for later use,like OrderController example.</strong></p>
diff --git a/content/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html b/content/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
index 4eabf27..6ab95e0 100644
--- a/content/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
+++ b/content/users/metrics-integration-with-prometheus-in-1.0.0-m1/index.html
@@ -448,7 +448,7 @@ As an integration(optional) module,the implementation code is in metrics-integra
   <span class="na">metrics</span><span class="pi">:</span>
     <span class="na">prometheus</span><span class="pi">:</span>
       <span class="c1">#prometheus provider port</span>
-      <span class="na">port</span><span class="pi">:</span> <span class="s">9696</span>
+      <span class="na">port</span><span class="pi">:</span> <span class="m">9696</span>
 </code></pre></div></div>
 <p><em>If do not config,default value is 9696</em></p>
 <h3 id="maven-configuration">Maven Configuration</h3>
diff --git a/content/users/run-mode/index.html b/content/users/run-mode/index.html
index d08b738..335381a 100644
--- a/content/users/run-mode/index.html
+++ b/content/users/run-mode/index.html
@@ -424,9 +424,9 @@
     <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.BeanUtils</span><span class="o">;</span>
  <span class="kn">import</span> <span class="nn">org.apache.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span>
  <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainServer</span> <span class="o">{</span>
-   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-   <span class="err"> </span><span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span><span class="n">Log</span> <span class="n">initialization</span>
-   <span class="err"> </span><span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span> <span class="n">Spring</span> <span class="n">bean</span> <span class="n">initialization</span>
+   <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
+   <span class="err"> </span><span class="nc">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span><span class="nc">Log</span> <span class="n">initialization</span>
+   <span class="err"> </span><span class="nc">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="err">#</span> <span class="nc">Spring</span> <span class="n">bean</span> <span class="n">initialization</span>
      <span class="c1">// other codes omitted</span>
    <span class="o">}</span>
  <span class="o">}</span>
diff --git a/content/users/service-configurations/index.html b/content/users/service-configurations/index.html
index 42d1568..7bf529a 100644
--- a/content/users/service-configurations/index.html
+++ b/content/users/service-configurations/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Service Configurations">
     <meta itemprop="description" content="Service Configurations">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -643,11 +643,11 @@
     <span class="na">Consumer</span><span class="pi">:</span>
       <span class="na">timeout</span><span class="pi">:</span>
         <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
-      <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="s">30000</span>
+      <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="m">30000</span>
   <span class="na">circuitBreaker</span><span class="pi">:</span>
     <span class="na">Consumer</span><span class="pi">:</span>
-      <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="s">15000</span>
-      <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">20</span>
+      <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="m">15000</span>
+      <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="m">20</span>
   <span class="na">fallback</span><span class="pi">:</span>
     <span class="na">Consumer</span><span class="pi">:</span>
       <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
diff --git a/content/users/service-contract/index.html b/content/users/service-contract/index.html
index 324b25a..4c2d615 100644
--- a/content/users/service-contract/index.html
+++ b/content/users/service-contract/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Service Contract">
     <meta itemprop="description" content="Service Contract">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/service-definition/index.html b/content/users/service-definition/index.html
index 6289fe58..e5aded0 100644
--- a/content/users/service-definition/index.html
+++ b/content/users/service-definition/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Service Definition">
     <meta itemprop="description" content="Service Definition">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/service-heartbeat/index.html b/content/users/service-heartbeat/index.html
index ae3b889..77261cd 100644
--- a/content/users/service-heartbeat/index.html
+++ b/content/users/service-heartbeat/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Service Heartbeat">
     <meta itemprop="description" content="Service Heartbeat">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -413,12 +413,12 @@
 
 <p><code class="highlighter-rouge">ServiceRegistryClient</code> provides heartbeat to send heartbeats. You can call it as required. The sample code is as follows:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">Exception</span> <span class="o">{</span>
   <span class="c1">// Register the microservice and the instance first</span>
   <span class="c1">// Send the heartbeats. Otherwise, the instances will be lost.</span>
   <span class="k">while</span> <span class="o">(</span><span class="kc">true</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"heartbeat sended:"</span> <span class="o">+</span> <span class="n">client</span><span class="o">.</span><span class="na">heartbeat</span><span class="o">(</span><span class="n">service2</span><span class="o">.</span><span class="na">getServiceId</span><span class="o">(),</span> <span class="n">instance</span><s [...]
-    <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
+    <span class="nc">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"heartbeat sended:"</span> <span class="o">+</span> <span class="n">client</span><span class="o">.</span><span class="na">heartbeat</span><span class="o">(</span><span class="n">service2</span><span class="o">.</span><span class="na">getServiceId</span><span class="o">(),</span> <span class="n">instance</span>< [...]
+    <span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
   <span class="o">}</span>
 <span class="o">}</span>
 </code></pre></div></div>
diff --git a/content/users/service-interface-constraints/index.html b/content/users/service-interface-constraints/index.html
index 3b7bc81..78729b0 100644
--- a/content/users/service-interface-constraints/index.html
+++ b/content/users/service-interface-constraints/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="API Constraints">
     <meta itemprop="description" content="API Constraints">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
@@ -409,18 +409,18 @@
 
 <p>For example:</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="n">String</span> <span class="n">id</span><span class="o">);</span>
-<span class="kd">public</span> <span class="n">Object</span> <span class="nf">query</span><span class="o">(</span><span class="n">String</span> <span class="n">id</span><span class="o">);</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Person</span> <span class="o">{</span><span class="n">String</span> <span class="n">name</span><span class="o">;}</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nc">String</span> <span class="n">id</span><span class="o">);</span>
+<span class="kd">public</span> <span class="nc">Object</span> <span class="nf">query</span><span class="o">(</span><span class="nc">String</span> <span class="n">id</span><span class="o">);</span>
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Person</span> <span class="o">{</span><span class="nc">String</span> <span class="n">name</span><span class="o">;}</span>
 </code></pre></div></div>
 
 <p>Obviously, if API 1 is called, we know that an ID parameter of String type needs to be transferred. The returned value is of Person type, which contains a string-typed name parameter. If API 2 is called, we do not know how to process the returned value, and need to refer to documents provided by the service provider. API 2 is developed in the perspective of RPC developers.</p>
 
 <p>To release an API as a REST API, we can use the swagger file; specify the ID to be transmitted using RequestParam, PathVariable, or RequestBody; or use the label provided by SpringMVC or JAX-RS.</p>
 
-<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestParam</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
-<span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
-<span class="kd">public</span> <span class="n">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="n">String</span> <span class="n">id</span><span class="o">);</span> 
+<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestParam</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
+<span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
+<span class="kd">public</span> <span class="nc">Person</span> <span class="nf">query</span><span class="o">(</span><span class="nd">@RequestBody</span> <span class="nc">String</span> <span class="n">id</span><span class="o">);</span> 
 </code></pre></div></div>
 
 <p>Generally , simple data types, such as String and int, are transmitted in RequestParam or PathVariable, and complex data types are transmitted in RequestBody after being coded using JSON, to reduce problems cause by HTTP protocol restrictions on developers.</p>
@@ -436,13 +436,13 @@
 </code></pre></div>    </div>
   </li>
   <li>Generic type
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">PersonHolder</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="o">{...}</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">PersonHolder</span><span class="o">&lt;</span><span class="no">T</span><span class="o">&gt;</span> <span class="o">{...}</span>
 </code></pre></div>    </div>
   </li>
   <li>
     <p>A collection type of the preceding types or a set without a specified type, such as <code class="highlighter-rouge">List&lt;IPerson&gt;, Map&lt;String, PersonHolder&lt;?&gt;&gt;, List, Map</code>. such as <code class="highlighter-rouge">List&lt;String&gt;, List&lt;Person&gt;</code> are supported.</p>
 
-    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GroupOfPerson</span> <span class="o">{</span><span class="n">IPerson</span> <span class="n">master</span> <span class="o">...}</span>
+    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">class</span> <span class="nc">GroupOfPerson</span> <span class="o">{</span><span class="nc">IPerson</span> <span class="n">master</span> <span class="o">...}</span>
 </code></pre></div>    </div>
   </li>
 </ul>
diff --git a/content/users/setup-environment/index.html b/content/users/setup-environment/index.html
index fabaac2..1a51778 100644
--- a/content/users/setup-environment/index.html
+++ b/content/users/setup-environment/index.html
@@ -552,38 +552,38 @@ manager_cluster = "10.12.0.4:2379"
 </code></pre></div></div>
 <p>Will return :</p>
 <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
-    </span><span class="s2">"instances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+    </span><span class="nl">"instances"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
         </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e9e976f9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+            </span><span class="nl">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e9e976f9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                 </span><span class="s2">"rest://10.12.0.1:30100"</span><span class="w">
             </span><span class="p">],</span><span class="w">
-            </span><span class="s2">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_1"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-                </span><span class="s2">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
+            </span><span class="nl">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_1"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+                </span><span class="nl">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
             </span><span class="p">},</span><span class="w">
-            </span><span class="s2">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="w">
+            </span><span class="nl">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012543"</span><span class="w">
         </span><span class="p">},</span><span class="w">
         </span><span class="p">{</span><span class="w">
-            </span><span class="s2">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"16d4cb35f9e011e7a58a286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
+            </span><span class="nl">"instanceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"16d4cb35f9e011e7a58a286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"serviceId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"d6e99f4cf9df11e7a72b286ed488ff9f"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"endpoints"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                 </span><span class="s2">"rest://10.12.0.2:30100"</span><span class="w">
             </span><span class="p">],</span><span class="w">
-            </span><span class="s2">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_2"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
-                </span><span class="s2">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
-                </span><span class="s2">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
+            </span><span class="nl">"hostName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service_center_10_12_0_2"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"UP"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"healthCheck"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
+                </span><span class="nl">"mode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"push"</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"interval"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
+                </span><span class="nl">"times"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
             </span><span class="p">},</span><span class="w">
-            </span><span class="s2">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="p">,</span><span class="w">
-            </span><span class="s2">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="w">
+            </span><span class="nl">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="p">,</span><span class="w">
+            </span><span class="nl">"modTimestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1516012650"</span><span class="w">
         </span><span class="p">}</span><span class="w">
     </span><span class="p">]</span><span class="w">
 </span><span class="p">}</span><span class="w">
diff --git a/content/users/use-service-contract/index.html b/content/users/use-service-contract/index.html
index 228d489..420b6d0 100644
--- a/content/users/use-service-contract/index.html
+++ b/content/users/use-service-contract/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Service Using API Definitions">
     <meta itemprop="description" content="Service Using API Definitions">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">
       
diff --git a/content/users/use-tls/index.html b/content/users/use-tls/index.html
index 613a147..4b69641 100644
--- a/content/users/use-tls/index.html
+++ b/content/users/use-tls/index.html
@@ -376,7 +376,7 @@
     <meta itemprop="headline" content="Using TLS for Communication">
     <meta itemprop="description" content="Using TLS for Communication">
     
-    <meta itemprop="dateModified" content="August 16, 2017">
+    <meta itemprop="dateModified" content="August 15, 2017">
 
     <div class="page__inner-wrap">