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/07/04 08:05:18 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 3f2b6fc798d041d8387b12dfa63d7019af3cffd1
Author: Willem Jiang <wi...@gmail.com>
AuthorDate: Thu Jul 4 16:04:54 2019 +0800

    Publish the website
---
 .../1_ApacheServiceComb_Community_Introduction.pdf |  Bin 3147607 -> 2998566 bytes
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 .../index.html                                     |   21 +-
 .../docs/apache-servicecomb-day-slides/index.html  |   20 +-
 .../apache-servicecomb-incubating-day/index.html   |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/autoscale-on-company/index.html    |   20 +-
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/communication-btw-sc-ms/index.html |   20 +-
 content/cn/docs/company-on-kubernetes/index.html   |   20 +-
 .../cn/docs/config_center_integration/index.html   |   20 +-
 content/cn/docs/consul-servicemesh.html            |   20 +-
 content/cn/docs/crm-part-I/index.html              |   20 +-
 .../customized-tracing-with-servicecomb/index.html |   20 +-
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/distributed_saga_1/index.html      |   20 +-
 content/cn/docs/distributed_saga_2/index.html      |   20 +-
 content/cn/docs/distributed_saga_3/index.html      |   20 +-
 content/cn/docs/go-to-cloud/index.html             |   20 +-
 .../how-to-do-microservice-accept-test/index.html  | 1107 ++++++++++++++++++++
 .../index.html                                     |   20 +-
 .../docs/how-to-reform-a-legacy-system/index.html  |   20 +-
 content/cn/docs/jira_beginner_guide/index.html     |   20 +-
 content/cn/docs/join_the_community/index.html      |   20 +-
 content/cn/docs/linuxcon-workshop-demo/index.html  |   20 +-
 content/cn/docs/loadtest-saga-with-kubernetes.html |   20 +-
 .../cn/docs/maven_dependency_management/index.html |   20 +-
 content/cn/docs/open-design/index.html             |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/osi-microservices/index.html       |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/release-note-1-0-0.html            |   20 +-
 content/cn/docs/saga_pack_design/index.html        |   20 +-
 content/cn/docs/saga_with_cucumber/index.html      |   20 +-
 .../seckill-development-journey-part-I/index.html  |   20 +-
 .../seckill-development-journey-part-II/index.html |   20 +-
 .../index.html                                     |   20 +-
 .../cn/docs/servicecomb-pack-cluster/index.html    |   20 +-
 content/cn/docs/servicecomb-pack-consul/index.html |   20 +-
 content/cn/docs/servicecomb-pack-eureka/index.html |   20 +-
 .../servicecomb-springcloud-zuul-demo/index.html   |   20 +-
 .../index.html                                     |   20 +-
 content/cn/docs/talk-to-apache-experts.html        |   20 +-
 .../cn/docs/tracing-with-servicecomb/index.html    |   20 +-
 content/cn/year-archive/index.html                 |   66 ++
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 .../index.html                                     |   20 +-
 .../apache-servicecomb-incubating-day/index.html   |   20 +-
 content/docs/autoscale-on-company/index.html       |   20 +-
 .../index.html                                     |   20 +-
 content/docs/communication-btw-sc-ms/index.html    |   20 +-
 content/docs/company-on-kubernetes/index.html      |   20 +-
 content/docs/distributed_saga_1/index.html         |   20 +-
 content/docs/distributed_saga_2/index.html         |   20 +-
 content/docs/distributed_saga_3/index.html         |   20 +-
 content/docs/go-to-cloud/index.html                |   20 +-
 .../docs/how-to-reform-a-legacy-system/index.html  |   20 +-
 content/docs/howto-upgrade-topzipkin2/index.html   |   20 +-
 content/docs/linuxcon-workshop-demo/index.html     |   20 +-
 content/docs/osi-microservices/index.html          |   20 +-
 content/docs/release-note-1-0-0/index.html         |   20 +-
 .../seckill-development-journey-part-I/index.html  |   20 +-
 .../seckill-development-journey-part-II/index.html |   20 +-
 .../index.html                                     |   20 +-
 content/docs/service-center-ui/index.html          |   20 +-
 .../service-registry-refactor-proposal/index.html  |   20 +-
 content/docs/servicecomb-pack-cluster/index.html   |   20 +-
 content/docs/servicecomb-pack-consul/index.html    |   20 +-
 content/docs/servicecomb-pack-eureka/index.html    |   20 +-
 .../index.html                                     |   20 +-
 content/docs/tracing-with-servicecomb/index.html   |   20 +-
 content/feed.xml                                   |  597 ++++++-----
 content/sitemap.xml                                |   20 +-
 content/sitemap/index.html                         |    2 +
 79 files changed, 2251 insertions(+), 1002 deletions(-)

diff --git a/content/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf b/content/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf
index 2839ae9..fda2477 100755
Binary files a/content/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf and b/content/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf differ
diff --git a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
index 3d8476e..30af294 100644
--- a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
+++ b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
@@ -603,11 +603,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -615,7 +615,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -632,11 +632,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -644,7 +644,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -661,11 +661,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -690,11 +690,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
index 9001739..65bd541 100644
--- a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
+++ b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
@@ -614,11 +614,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -626,7 +626,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -643,11 +643,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -655,7 +655,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -672,11 +672,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -701,11 +701,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/index.html b/content/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/index.html
index 5a55d02..199e31d 100644
--- a/content/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/index.html
+++ b/content/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/index.html
@@ -517,7 +517,8 @@
 ">向前</a>
     
     
-      <a href="#" class="pagination--pager disabled">向后</a>
+      <a href="/cn/docs/how-to-do-microservice-accept-test/" class="pagination--pager" title="如何给微服务架构的项目做验收测试?
+">向后</a>
     
   </nav>
 
@@ -600,11 +601,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -612,7 +613,7 @@
 
 
 
-  1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -629,11 +630,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -658,11 +659,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -687,11 +688,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
+        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/apache-servicecomb-day-slides/index.html b/content/cn/docs/apache-servicecomb-day-slides/index.html
index 21b7f8f..8e5e289 100644
--- a/content/cn/docs/apache-servicecomb-day-slides/index.html
+++ b/content/cn/docs/apache-servicecomb-day-slides/index.html
@@ -591,11 +591,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -603,7 +603,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -620,11 +620,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -632,7 +632,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -649,11 +649,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -678,11 +678,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/apache-servicecomb-incubating-day/index.html b/content/cn/docs/apache-servicecomb-incubating-day/index.html
index e41e978..8c85440 100644
--- a/content/cn/docs/apache-servicecomb-incubating-day/index.html
+++ b/content/cn/docs/apache-servicecomb-incubating-day/index.html
@@ -631,11 +631,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -643,7 +643,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -660,11 +660,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -672,7 +672,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -689,11 +689,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -718,11 +718,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/apache-servicecomb-introduction-slides/index.html b/content/cn/docs/apache-servicecomb-introduction-slides/index.html
index e86fc16..118eda8 100644
--- a/content/cn/docs/apache-servicecomb-introduction-slides/index.html
+++ b/content/cn/docs/apache-servicecomb-introduction-slides/index.html
@@ -539,11 +539,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -551,7 +551,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -568,11 +568,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -580,7 +580,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -597,11 +597,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -626,11 +626,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/autoscale-on-company/index.html b/content/cn/docs/autoscale-on-company/index.html
index 60af335..88b17f1 100644
--- a/content/cn/docs/autoscale-on-company/index.html
+++ b/content/cn/docs/autoscale-on-company/index.html
@@ -647,11 +647,11 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -659,7 +659,7 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -676,11 +676,11 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -688,7 +688,7 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -705,11 +705,11 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -734,11 +734,11 @@ bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/build-java-chassis-microservices-using-gradle/index.html b/content/cn/docs/build-java-chassis-microservices-using-gradle/index.html
index 6b6440b..feb1833 100644
--- a/content/cn/docs/build-java-chassis-microservices-using-gradle/index.html
+++ b/content/cn/docs/build-java-chassis-microservices-using-gradle/index.html
@@ -618,11 +618,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -630,7 +630,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -647,11 +647,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -659,7 +659,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -676,11 +676,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -705,11 +705,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/chuanzhiboke-servicecomb-tutoria-release/index.html b/content/cn/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
index b68431f..c984643 100644
--- a/content/cn/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
+++ b/content/cn/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
@@ -542,11 +542,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -554,7 +554,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -571,11 +571,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -583,7 +583,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -600,11 +600,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -629,11 +629,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/communication-btw-sc-ms/index.html b/content/cn/docs/communication-btw-sc-ms/index.html
index 952699f..3068064 100644
--- a/content/cn/docs/communication-btw-sc-ms/index.html
+++ b/content/cn/docs/communication-btw-sc-ms/index.html
@@ -557,11 +557,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -569,7 +569,7 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -586,11 +586,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -598,7 +598,7 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -615,11 +615,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -644,11 +644,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/company-on-kubernetes/index.html b/content/cn/docs/company-on-kubernetes/index.html
index bafb9cd..e377e6e 100644
--- a/content/cn/docs/company-on-kubernetes/index.html
+++ b/content/cn/docs/company-on-kubernetes/index.html
@@ -657,11 +657,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -669,7 +669,7 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -686,11 +686,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -698,7 +698,7 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -715,11 +715,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -744,11 +744,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/config_center_integration/index.html b/content/cn/docs/config_center_integration/index.html
index e00f079..dada225 100644
--- a/content/cn/docs/config_center_integration/index.html
+++ b/content/cn/docs/config_center_integration/index.html
@@ -781,11 +781,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -793,7 +793,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -810,11 +810,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -822,7 +822,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -839,11 +839,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -868,11 +868,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/consul-servicemesh.html b/content/cn/docs/consul-servicemesh.html
index f2bd1fb..e299570 100644
--- a/content/cn/docs/consul-servicemesh.html
+++ b/content/cn/docs/consul-servicemesh.html
@@ -676,11 +676,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -688,7 +688,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -705,11 +705,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -717,7 +717,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -734,11 +734,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -763,11 +763,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/crm-part-I/index.html b/content/cn/docs/crm-part-I/index.html
index 434475a..6e40b78 100644
--- a/content/cn/docs/crm-part-I/index.html
+++ b/content/cn/docs/crm-part-I/index.html
@@ -1337,11 +1337,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1349,7 +1349,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -1366,11 +1366,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1378,7 +1378,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -1395,11 +1395,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1424,11 +1424,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/customized-tracing-with-servicecomb/index.html b/content/cn/docs/customized-tracing-with-servicecomb/index.html
index d266290..2c64150 100644
--- a/content/cn/docs/customized-tracing-with-servicecomb/index.html
+++ b/content/cn/docs/customized-tracing-with-servicecomb/index.html
@@ -625,11 +625,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -637,7 +637,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -654,11 +654,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -666,7 +666,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -683,11 +683,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -712,11 +712,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/distributed-transaction-of-services-1/index.html b/content/cn/docs/distributed-transaction-of-services-1/index.html
index d8723aa..55a87f2 100644
--- a/content/cn/docs/distributed-transaction-of-services-1/index.html
+++ b/content/cn/docs/distributed-transaction-of-services-1/index.html
@@ -618,11 +618,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -630,7 +630,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -647,11 +647,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -659,7 +659,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -676,11 +676,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -705,11 +705,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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 1b567f0..80c4c7b 100644
--- a/content/cn/docs/distributed-transaction-of-services-2/index.html
+++ b/content/cn/docs/distributed-transaction-of-services-2/index.html
@@ -790,11 +790,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -802,7 +802,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -819,11 +819,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -831,7 +831,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -848,11 +848,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -877,11 +877,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/distributed-transactions-saga-implementation/index.html b/content/cn/docs/distributed-transactions-saga-implementation/index.html
index daefc32..ec6de28 100644
--- a/content/cn/docs/distributed-transactions-saga-implementation/index.html
+++ b/content/cn/docs/distributed-transactions-saga-implementation/index.html
@@ -716,11 +716,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -728,7 +728,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -745,11 +745,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -757,7 +757,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -774,11 +774,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -803,11 +803,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/distributed_saga_1/index.html b/content/cn/docs/distributed_saga_1/index.html
index 732a378..9f45491 100644
--- a/content/cn/docs/distributed_saga_1/index.html
+++ b/content/cn/docs/distributed_saga_1/index.html
@@ -642,11 +642,11 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -654,7 +654,7 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -671,11 +671,11 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -683,7 +683,7 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -700,11 +700,11 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -729,11 +729,11 @@ Caitie McCaffrey也在她的<a href="https://www.youtube.com/watch?v=xDuwrtwYHu8
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/distributed_saga_2/index.html b/content/cn/docs/distributed_saga_2/index.html
index 3f5c4db..8b6f719 100644
--- a/content/cn/docs/distributed_saga_2/index.html
+++ b/content/cn/docs/distributed_saga_2/index.html
@@ -618,11 +618,11 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -630,7 +630,7 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -647,11 +647,11 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -659,7 +659,7 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -676,11 +676,11 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -705,11 +705,11 @@ Caitie McCaffrey在她的演讲<a href="https://www.youtube.com/watch?v=1H6tounp
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/distributed_saga_3/index.html b/content/cn/docs/distributed_saga_3/index.html
index b04ddf4..93ed08c 100644
--- a/content/cn/docs/distributed_saga_3/index.html
+++ b/content/cn/docs/distributed_saga_3/index.html
@@ -640,11 +640,11 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -652,7 +652,7 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -669,11 +669,11 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -681,7 +681,7 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -698,11 +698,11 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -727,11 +727,11 @@ n个处于不确定状态的服务向其他n-1个服务咨询将产生<strong>O(
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/go-to-cloud/index.html b/content/cn/docs/go-to-cloud/index.html
index 0cc0b98..02c50bf 100644
--- a/content/cn/docs/go-to-cloud/index.html
+++ b/content/cn/docs/go-to-cloud/index.html
@@ -699,11 +699,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -711,7 +711,7 @@ watching microservice 4 successfully,服务注册成功<br />
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -728,11 +728,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -740,7 +740,7 @@ watching microservice 4 successfully,服务注册成功<br />
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -757,11 +757,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -786,11 +786,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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
new file mode 100644
index 0000000..b2de428
--- /dev/null
+++ b/content/cn/docs/how-to-do-microservice-accept-test/index.html
@@ -0,0 +1,1107 @@
+<!doctype html>
+<!--
+  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
+  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
+  Free for personal and commercial use under the MIT license
+  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
+-->
+<html lang="cn" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>如何给微服务架构的项目做验收测试? - Apache ServiceComb</title>
+
+
+
+
+<meta name="description" content="本文将介绍如何给微服务架构的项目做验收测试">
+
+
+
+
+<meta name="author" content="Daniel Qian">
+
+<meta property="og:locale" content="cn">
+<meta property="og:site_name" content="Apache ServiceComb">
+<meta property="og:title" content="如何给微服务架构的项目做验收测试?">
+
+
+  <link rel="canonical" href="http://github.com/pages/apache/incubator-servicecomb-website/cn/docs/how-to-do-microservice-accept-test/">
+  <meta property="og:url" content="http://github.com/pages/apache/incubator-servicecomb-website/cn/docs/how-to-do-microservice-accept-test/">
+
+
+
+  <meta property="og:description" content="本文将介绍如何给微服务架构的项目做验收测试">
+
+
+
+  <meta name="twitter:site" content="@ServiceComb">
+  <meta name="twitter:title" content="如何给微服务架构的项目做验收测试?">
+  <meta name="twitter:description" content="本文将介绍如何给微服务架构的项目做验收测试">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+    <meta name="twitter:creator" content="@">
+  
+
+
+
+  
+
+  
+
+
+
+
+
+  <meta property="og:type" content="article">
+  <meta property="article:published_time" content="2019-07-04T00:00:00+08:00">
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org",
+      "@type" : "Person",
+      "name" : "Apache ServiceComb",
+      "url" : "http://github.com/pages/apache/incubator-servicecomb-website",
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">
+
+<!-- http://t.co/dKP3o1e -->
+<meta name="HandheldFriendly" content="True">
+<meta name="MobileOptimized" content="320">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<script>
+  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
+</script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
+<script src="/assets/vendor/prism/prism.js"></script>
+
+<script type="text/javascript" async
+  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
+</script>
+
+<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
+
+<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+<link rel="stylesheet" href="/assets/vendor/prism/prism.css">
+
+<!--[if lte IE 9]>
+  <style>
+    /* old IE unsupported flexbox fixes */
+    .greedy-nav .site-title {
+      padding-right: 3em;
+    }
+    .greedy-nav button {
+      position: absolute;
+      top: 0;
+      right: 0;
+      height: 100%;
+    }
+  </style>
+<![endif]-->
+
+<meta http-equiv="cleartype" content="on">
+
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+<link href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
+<script src="/assets/js/custom.js"></script>
+<!-- end custom head snippets -->
+
+  </head>
+
+  <body class="layout--single">
+
+    <!--[if lt IE 9]>
+<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
+<![endif]-->
+    <div class="masthead">
+  <div class="masthead__inner-wrap">
+    <div class="masthead__menu">
+      <nav id="site-nav" class="greedy-nav">
+	      
+          <a class="site-title active" href="/cn"><img src="https://www.apache.org/img/servicecomb.png"></a>
+	      
+        <ul class="visible-links">
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/docs/quick-start/">快速入门</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/users/">用户手册</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/developers/">开发者手册</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/year-archive/">博文</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/faqs/">常见问题</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/cn/release/">下载</a>
+              
+            </li>
+          
+        </ul>
+        <button><div class="navicon"></div></button>
+        <ul class="hidden-links hidden"></ul>
+        <div class="nav-lang">
+          
+            
+            
+            <a href=/docs/how-to-do-microservice-accept-test/>English</a>
+          
+        </div>
+      </nav>
+    </div>
+  </div>
+</div>
+
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+      
+      <div class="back-to-home">首页 > <a href="/cn/">ServiceComb</a></div>
+      
+  
+
+<div itemscope itemtype="http://schema.org/Person">
+
+  
+
+  <div class="author__content">
+    <h3 class="author__name" itemprop="name">Qian Jia</h3>
+    
+      <p class="author__bio" itemprop="description">
+	    
+	      
+	        Opensource change the world
+	      
+	    
+      </p>
+    
+  </div>
+
+  <div class="author__urls-wrapper">
+    <button class="btn btn--inverse">关注</button>
+    <ul class="author__urls social-icons">
+      
+
+      
+        <li>
+          <a href="https://github.com/chanjarster" itemprop="url">
+            <i class="fa fa-fw fa-chain" aria-hidden="true"></i> 网站
+          </a>
+        </li>
+      
+
+      
+        <li>
+          <a href="mailto:chanjarster@gmail.com">
+            <meta itemprop="email" content="chanjarster@gmail.com" />
+            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> 电子邮箱
+          </a>
+        </li>
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      
+
+      <!--
+  <li>
+    <a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs">
+      <i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link
+    </a>
+  </li>
+-->
+    </ul>
+  </div>
+</div>
+
+  
+  </div>
+
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
+    <meta itemprop="headline" content="如何给微服务架构的项目做验收测试?">
+    <meta itemprop="description" content="本文将介绍如何给微服务架构的项目做验收测试">
+    <meta itemprop="datePublished" content="July 04, 2019">
+    <meta itemprop="dateModified" content="July 04, 2019">
+
+    <div class="page__inner-wrap">
+      
+        
+          <header>
+            <h1 class="page__title" itemprop="headline">如何给微服务架构的项目做验收测试?
+</h1>
+            
+              <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 分钟 阅读
+
+</p>
+            
+          </header>
+        
+      
+
+      <section class="page__content" itemprop="text">
+        <h3 id="如何给微服务架构的项目做验收测试">如何给微服务架构的项目做验收测试?</h3>
+
+<p>基于微服务架构的应用相对于单体架构的应用而言在验收测试阶段具有以下挑战:</p>
+
+<ol>
+  <li>复数的服务增加了测试环境搭建的难度</li>
+  <li>各种异常情况的模拟变得困难,基于Mock的测试方式无法对整个调用链路作异常模拟,进而使得对整体架构的健壮性测试变得困难</li>
+  <li>基于成本和效率的原因,测试工作已经不适合通过人工完成</li>
+</ol>
+
+<p>我们认为对基于微服务架构的应用的验收测试应该具有以下特征:</p>
+
+<ol>
+  <li>自动化、可重复、易于和CI工具集成</li>
+  <li>能够在测试运行时修改服务的行为</li>
+</ol>
+
+<p>下面将就一个Demo来介绍如何利用 <a href="https://www.docker.com/">Docker [1]</a>、<a href="https://cucumber.io/">Cucumber [2]</a>、<a href="https://byteman.jboss.org/">Byteman [3]</a>、<a href="https://dmp.fabric8.io/">Fabric8 docker-maven-plugin [4]</a>、<a href="https://github.com/spotify/dockerfile-maven">Spotify dockerfile-maven-plugin [5]</a>达成以上目标。</p>
+
+<h3 id="demo介绍">Demo介绍</h3>
+
+<p>一共有两个服务Product Service(商品服务)和Product Price Service(商品价格服务),Product Service提供了一个查询接口用于获得商品信息及其价格信息的组合结果,这相当于跨服务的SQL JOIN。</p>
+
+<p>下面是Product的Schema:</p>
+
+<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="nt">"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="nt">"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="nt">"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>
+
+<p>下面是ProductPrice的Schema:</p>
+
+<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="nt">"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="nt">"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>
+
+<p>Product Service返回的Schema则是:</p>
+
+<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
+  </span><span class="nt">"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="nt">"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="nt">"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="nt">"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="nt">"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">
+</span></code></pre>
+</div>
+
+<p>该接口的实现逻辑是:</p>
+
+<ol>
+  <li>Product Service本地查询得到Product List</li>
+  <li>Product Service调用Product Price Service接口得到ProductPrice List</li>
+  <li>拼装结果</li>
+</ol>
+
+<p>此外还有一个要求,当Product Price Service出现异常时,Product Service依然要能够返回结果,只不过<code class="highlighter-rouge">price</code>字段为<code class="highlighter-rouge">null</code>,即无论如何Product Service都要能够返回结果。</p>
+
+<h3 id="实现步骤">实现步骤</h3>
+
+<h4 id="构建docker-image">构建Docker Image</h4>
+
+<p>为了能够便利地搭建测试环境,我们需要先为Product Servcie和Product Price Service构建Docker Image。利用<a href="https://github.com/spotify/dockerfile-maven">Spotify dockerfile-maven-plugin [5]</a>可以很方便地做到这一点,它没有引入额外的概念,只要你会写<a href="https://docs.docker.com/engine/reference/builder/">Dockerfile [6]</a>就行。我们在Product Service和Producer Price Service的<code class="highlighter-rouge">pom.xml</code>中添加类似以下的配置:</p>
+
+<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;plugin&gt;</span>
+  <span class="nt">&lt;groupId&gt;</span>com.spotify<span class="nt">&lt;/groupId&gt;</span>
+  <span class="nt">&lt;artifactId&gt;</span>dockerfile-maven-plugin<span class="nt">&lt;/artifactId&gt;</span>
+  <span class="nt">&lt;version&gt;</span>${dockerfile-maven-plugin.version}<span class="nt">&lt;/version&gt;</span>
+  <span class="nt">&lt;configuration&gt;</span>
+    <span class="nt">&lt;repository&gt;</span>msat-${project.artifactId}<span class="nt">&lt;/repository&gt;</span>
+    <span class="nt">&lt;tag&gt;</span>${project.version}<span class="nt">&lt;/tag&gt;</span>
+    <span class="nt">&lt;buildArgs&gt;</span>
+      <span class="nt">&lt;JAR_FILE&gt;</span>${project.build.finalName}-exec.${project.packaging}<span class="nt">&lt;/JAR_FILE&gt;</span>
+    <span class="nt">&lt;/buildArgs&gt;</span>
+  <span class="nt">&lt;/configuration&gt;</span>
+  <span class="nt">&lt;executions&gt;</span>
+    <span class="nt">&lt;execution&gt;</span>
+      <span class="nt">&lt;id&gt;</span>build<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;phase&gt;</span>package<span class="nt">&lt;/phase&gt;</span>
+      <span class="nt">&lt;goals&gt;</span>
+        <span class="nt">&lt;goal&gt;</span>build<span class="nt">&lt;/goal&gt;</span>
+      <span class="nt">&lt;/goals&gt;</span>
+    <span class="nt">&lt;/execution&gt;</span>
+  <span class="nt">&lt;/executions&gt;</span>
+<span class="nt">&lt;/plugin&gt;</span>
+</code></pre>
+</div>
+
+<p>并且提供了Dockerfile:</p>
+
+<pre><code class="language-txt">FROM openjdk:8-jre-alpine
+ARG JAR_FILE
+ENV JAR_FILE=${JAR_FILE}
+RUN mkdir /maven
+COPY target/${JAR_FILE} /maven
+COPY target/lib/byteman.jar /maven
+ENTRYPOINT java $JAVA_OPTS -jar /maven/$JAR_FILE
+EXPOSE 8080
+</code></pre>
+
+<p>注意我们在Image中添加了byteman.jar,利用它我们可以在运行时修改程序的行为。</p>
+
+<h4 id="编写验收测试脚本">编写验收测试脚本</h4>
+
+<p>我们新建一个验收测试的Maven项目,然后使用<a href="https://cucumber.io/">Cucumber [2]</a>编写了以下两个场景的验收测试脚本:</p>
+
+<p>正常情况:</p>
+
+<pre><code class="language-txt">Feature: List product information with price
+
+  Scenario: Everything is good
+    Given Product Service is up and running
+    And Product Price Service is up and running
+
+    When User query product list
+
+    Then Get following products
+
+      | id       | name | description            | price |
+      | animal-1 | dog  | woof woof              | 1000  |
+      | animal-2 | duck | quack quack            | 40    |
+      | animal-3 | fox  | what does the fox say? | 5000  |
+</code></pre>
+
+<p>这个脚本的大致意思是在Product Service和Product Price Service都启动的情况下,当用户查询Product信息时,我们会得到上述表格中的结果。</p>
+
+<p>Product Price Service异常情况:</p>
+
+<pre><code class="language-txt">Feature: List product information with price
+
+  Scenario: Product Price Service throws exception when being queried
+    Given Product Service is up and running
+    And Product Price Service is up and running
+
+    Given Install the byteman script product_price_exception.btm to Product Price Service
+
+    When User query product list
+
+    Then Get following products
+
+      | id       | name | description            | price |
+      | animal-1 | dog  | woof woof              |       |
+      | animal-2 | duck | quack quack            |       |
+      | animal-3 | fox  | what does the fox say? |       |
+</code></pre>
+
+<p>注意到我们在这里使用了<a href="https://byteman.jboss.org/">Byteman [3]</a>注入了异常情况给Product Price Service:</p>
+
+<pre><code class="language-txt">Given Install the byteman script product_price_exception.btm to Product Price Service
+</code></pre>
+
+<p><code class="highlighter-rouge">product_price_exception.btm</code>的内容是这样的:</p>
+
+<pre><code class="language-txt">RULE throw exception
+CLASS me.chanjar.msat.productprice.FakeProductPriceRepository
+METHOD listAll
+AT ENTRY
+IF TRUE
+DO debug("throw RuntimeException here"),
+   throw new RuntimeException("Product Repository Error!")
+ENDRULE
+</code></pre>
+
+<p>意思是在调用<code class="highlighter-rouge">FakeProductPriceRepository.listAll</code>方法时抛出异常,注意这样做并没有修改Product Price Service的源码,而是在运行时修改了它的逻辑。</p>
+
+<p>接下来我们为上面的验收测试脚本实现逻辑(下面代码与实际上有所不同,这是为了尽量使得代码篇幅精简):</p>
+
+<div class="language-java highlighter-rouge"><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="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="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">clearBytemanScript</span><span class="o">();</span>
+  <span class="o">}</span>
+
+  <span class="nd">@When</span><span class="o">(</span><span class="s">"^User query product list$"</span><span class="o">)</span>
+  <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">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="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="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="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>
+</code></pre>
+</div>
+
+<p>关于<a href="https://cucumber.io/">Cucumber [2]</a>和<a href="https://byteman.jboss.org/">Byteman [3]</a>的更详细的介绍可以见<a href="https://servicecomb.apache.org/cn/docs/saga_with_cucumber/">ServiceComb Saga使用Cucumber做验收测试源码分析 [7]</a>。</p>
+
+<h4 id="自动化搭建测试环境">自动化搭建测试环境</h4>
+
+<p>我们希望能够在Maven的<code class="highlighter-rouge">integration-test</code> 阶段搭建测试环境、执行上述验收测试脚本。在<code class="highlighter-rouge">pom.xml</code>中添加到<a href="https://dmp.fabric8.io/">Fabric8 docker-maven-plugin [4]</a>:</p>
+
+<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;plugin&gt;</span>
+  <span class="nt">&lt;groupId&gt;</span>io.fabric8<span class="nt">&lt;/groupId&gt;</span>
+  <span class="nt">&lt;artifactId&gt;</span>docker-maven-plugin<span class="nt">&lt;/artifactId&gt;</span>
+  <span class="nt">&lt;configuration&gt;</span>
+    <span class="nt">&lt;showLogs&gt;</span>true<span class="nt">&lt;/showLogs&gt;</span>
+    <span class="nt">&lt;images&gt;</span>
+      <span class="nt">&lt;image&gt;</span>
+        <span class="nt">&lt;name&gt;</span>msat-product:${project.version}<span class="nt">&lt;/name&gt;</span>
+        <span class="nt">&lt;alias&gt;</span>msat-product<span class="nt">&lt;/alias&gt;</span>
+        <span class="nt">&lt;run&gt;</span>
+          <span class="nt">&lt;wait&gt;</span>
+            <span class="nt">&lt;log&gt;</span>Started [a-zA-Z]+ in [0-9.]+ seconds<span class="nt">&lt;/log&gt;</span>
+            <span class="nt">&lt;time&gt;</span>120000<span class="nt">&lt;/time&gt;</span>
+          <span class="nt">&lt;/wait&gt;</span>
+          <span class="nt">&lt;links&gt;</span>
+            <span class="nt">&lt;link&gt;</span>msat-product-price:msat-product-price<span class="nt">&lt;/link&gt;</span>
+          <span class="nt">&lt;/links&gt;</span>
+          <span class="nt">&lt;ports&gt;</span>
+            <span class="nt">&lt;port&gt;</span>product.port:8080<span class="nt">&lt;/port&gt;</span>
+          <span class="nt">&lt;/ports&gt;</span>
+        <span class="nt">&lt;/run&gt;</span>
+      <span class="nt">&lt;/image&gt;</span>
+      <span class="nt">&lt;image&gt;</span>
+        <span class="nt">&lt;name&gt;</span>msat-product-price:${project.version}<span class="nt">&lt;/name&gt;</span>
+        <span class="nt">&lt;alias&gt;</span>msat-product-price<span class="nt">&lt;/alias&gt;</span>
+        <span class="nt">&lt;run&gt;</span>
+          <span class="nt">&lt;env&gt;</span>
+            <span class="nt">&lt;JAVA_OPTS&gt;</span>
+              -Dorg.jboss.byteman.debug=true -Dorg.jboss.byteman.verbose=true
+              -javaagent:/maven/byteman.jar=port:9091,address:0.0.0.0,listener:true
+            <span class="nt">&lt;/JAVA_OPTS&gt;</span>
+          <span class="nt">&lt;/env&gt;</span>
+          <span class="nt">&lt;wait&gt;</span>
+            <span class="nt">&lt;log&gt;</span>Started [a-zA-Z]+ in [0-9.]+ seconds<span class="nt">&lt;/log&gt;</span>
+            <span class="nt">&lt;time&gt;</span>120000<span class="nt">&lt;/time&gt;</span>
+          <span class="nt">&lt;/wait&gt;</span>
+          <span class="nt">&lt;ports&gt;</span>
+            <span class="nt">&lt;port&gt;</span>product-price.port:8080<span class="nt">&lt;/port&gt;</span>
+            <span class="nt">&lt;port&gt;</span>product-price.byteman.port:9091<span class="nt">&lt;/port&gt;</span>
+          <span class="nt">&lt;/ports&gt;</span>
+        <span class="nt">&lt;/run&gt;</span>
+      <span class="nt">&lt;/image&gt;</span>
+    <span class="nt">&lt;/images&gt;</span>
+  <span class="nt">&lt;/configuration&gt;</span>
+  <span class="nt">&lt;executions&gt;</span>
+    <span class="nt">&lt;execution&gt;</span>
+      <span class="nt">&lt;id&gt;</span>start<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;phase&gt;</span>pre-integration-test<span class="nt">&lt;/phase&gt;</span>
+      <span class="nt">&lt;goals&gt;</span>
+        <span class="nt">&lt;goal&gt;</span>start<span class="nt">&lt;/goal&gt;</span>
+      <span class="nt">&lt;/goals&gt;</span>
+    <span class="nt">&lt;/execution&gt;</span>
+    <span class="nt">&lt;execution&gt;</span>
+      <span class="nt">&lt;id&gt;</span>stop<span class="nt">&lt;/id&gt;</span>
+      <span class="nt">&lt;phase&gt;</span>post-integration-test<span class="nt">&lt;/phase&gt;</span>
+      <span class="nt">&lt;goals&gt;</span>
+        <span class="nt">&lt;goal&gt;</span>stop<span class="nt">&lt;/goal&gt;</span>
+      <span class="nt">&lt;/goals&gt;</span>
+    <span class="nt">&lt;/execution&gt;</span>
+  <span class="nt">&lt;/executions&gt;</span>
+<span class="nt">&lt;/plugin&gt;</span>
+</code></pre>
+</div>
+
+<p>这样一来就能够在<code class="highlighter-rouge">pre-integration-test</code>阶段启动容器,在<code class="highlighter-rouge">post-integration-test</code>阶段销毁容器了。</p>
+
+<h4 id="take-a-run">Take a run</h4>
+
+<p>接下来只需要<code class="highlighter-rouge">mvn clean install</code>它就会:</p>
+
+<ol>
+  <li>构建:
+    <ol>
+      <li>构建Product Service项目,并为其构建Docker Image</li>
+      <li>构建Product Price Service项目,并为其构建Docker Image</li>
+    </ol>
+  </li>
+  <li>验收测试:
+    <ol>
+      <li>启动Product Service和Product Price Service的容器</li>
+      <li>执行验收测试脚本</li>
+      <li>销毁上述创建的容器</li>
+    </ol>
+  </li>
+</ol>
+
+<p>如果你想自己试试可以下载<a href="https://github.com/chanjarster/microservice-acceptance-test-demo">本项目源码[8]</a>。</p>
+
+<p>欢迎开发者朋友们加入ServiceComb社区,一起做些有意思的事情。<a href="http://servicecomb.incubator.apache.org/cn/docs/join_the_community/">加入社区方法[9]</a></p>
+
+<h3 id="参考资料">参考资料</h3>
+
+<p>[1] Docker https://www.docker.com/</p>
+
+<p>[2] Cucumber https://cucumber.io/</p>
+
+<p>[3] Byteman  https://byteman.jboss.org/</p>
+
+<p>[4] Fabric8 docker-maven-plugin  https://dmp.fabric8.io/</p>
+
+<p>[5] Spotify dockerfile-maven-plugin https://github.com/spotify/dockerfile-maven</p>
+
+<p>[6] Dockerfile https://docs.docker.com/engine/reference/builder/</p>
+
+<p>[7] ServiceComb Saga使用Cucumber做验收测试源码分析 https://servicecomb.apache.org/cn/docs/saga_with_cucumber/</p>
+
+<p>[8] 本项目源码 https://github.com/chanjarster/microservice-acceptance-test-demo</p>
+
+<p>[9] 加入Servicecomb社区  http://servicecomb.incubator.apache.org/cn/docs/join_the_community/</p>
+
+        
+      </section>
+
+      <footer class="page__meta">
+        
+        
+  
+
+
+  
+  
+  
+
+  <p class="page__taxonomy">
+    <strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> 标签: </strong>
+    <span itemprop="keywords">
+    
+      
+      
+      <a href="/tags/#%E5%BE%AE%E6%9C%8D%E5%8A%A1" class="page__taxonomy-item" rel="tag">微服务</a>
+    
+    </span>
+  </p>
+
+
+
+
+
+        
+          
+            
+              <p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> 最新的:</strong> <time datetime="2019-07-04">2019年7月4日</time></p>
+            
+          
+        
+      </footer>
+
+      <section class="page__share">
+  
+    <h4 class="page__share-title">分享</h4>
+  
+
+  <a href="https://twitter.com/intent/tweet?via=ServiceComb&text=如何给微服务架构的项目做验收测试? /cn/docs/how-to-do-microservice-accept-test/" class="btn btn--twitter" title="分享 Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
+
+  <a href="https://www.facebook.com/sharer/sharer.php?u=/cn/docs/how-to-do-microservice-accept-test/" class="btn btn--facebook" title="分享 Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
+
+  <a href="https://plus.google.com/share?url=/cn/docs/how-to-do-microservice-accept-test/" class="btn btn--google-plus" title="分享 Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
+
+  <a href="https://www.linkedin.com/shareArticle?mini=true&url=/cn/docs/how-to-do-microservice-accept-test/" class="btn btn--linkedin" title="分享 LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
+</section>
+
+
+      
+  <nav class="pagination">
+    
+      <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" class="pagination--pager" title="Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+">向前</a>
+    
+    
+      <a href="#" class="pagination--pager disabled">向后</a>
+    
+  </nav>
+
+
+    </div>
+
+    
+      <div class="page__comments">
+  
+  
+    <section id="static-comments">
+      
+        <!-- Start static comments -->
+        <div class="js-comments">
+          
+        </div>
+        <!-- End static comments -->
+
+        <!-- Start new comment form -->
+        <h4 class="page__comments-title">留下评论</h4>
+        <p class="small">您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 <span class="required">*</span></p>
+        <form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/apache/incubator-servicecomb-website/master">
+          <div class="form__spinner">
+            <i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
+            <span class="sr-only">正在加载...</span>
+          </div>
+
+          <fieldset>
+            <label for="comment-form-message">评论 <small class="required">*</small></label>
+            <textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
+            <div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">Markdown语法已支持。</a></div>
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-name">姓名 <small class="required">*</small></label>
+            <input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-email">电子邮箱 <small class="required">*</small></label>
+            <input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-url">网站(可选)</label>
+            <input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
+          </fieldset>
+          <fieldset class="hidden" style="display: none;">
+            <input type="hidden" name="options[slug]" value="how-to-do-microservice-accept-test">
+            <label for="comment-form-location">Not used. Leave blank if you are a human.</label>
+            <input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
+          </fieldset>
+          <!-- Start comment form alert messaging -->
+          <p class="hidden js-notice">
+            <strong class="js-notice-text"></strong>
+          </p>
+          <!-- End comment form alert messaging -->
+          <fieldset>
+            <button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--large">提交评论</button>
+          </fieldset>
+        </form>
+        <!-- End new comment form -->
+      
+    </section>
+  
+</div>
+
+    
+  </article>
+
+  
+  
+    <div class="page__related">
+      <h4 class="page__related-title">猜您还喜欢</h4>
+      <div class="grid__wrapper">
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  少于 1 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  1 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  1 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  1 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+        
+      </div>
+    </div>
+  
+</div>
+
+
+    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+    <div align="center" style="margin: 0 0;">
+    <ins class="adsbygoogle"
+         style="display:block; border-bottom: initial;"
+         data-ad-client="ca-pub-7328585512091257"
+         data-ad-slot="3049671934"
+         data-ad-format="auto"></ins>
+    </div>
+
+    <div class="page__footer">
+      <footer>
+        <!-- start custom footer snippets -->
+
+<!-- end custom footer snippets -->
+
+        <div class="container">
+  <div class="row justify-content-md-center">
+    
+    <div class="col">
+      <ul>
+        <p class="header">资源</p>
+        <li><a href="/cn/docs/quick-start/">快速入门</a></li>
+        <li><a href="/cn/users/">用户指南</a></li>
+        <li><a href="/cn/slides/">资料</a></li>
+        <li><a href="/cn/users/faq/">常见问题</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul>
+        <p class="header">ASF</p>
+        <li><a href="http://www.apache.org">基金会</a></li>
+        <li><a href="http://www.apache.org/licenses/">许可证</a></li>
+        <li><a href="http://www.apache.org/events/current-event">活动</a></li>
+        <li><a href="http://www.apache.org/foundation/sponsorship.html">赞助</a></li>
+        <li><a href="http://www.apache.org/foundation/thanks.html">鸣谢</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul>
+        <p class="header">贡献</p>
+        <li><a href="http://issues.apache.org/jira/browse/SCB">报告本网页问题</a></li>
+        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_posts/cn/2019-07-04-how-to-do-microservice-accept-test.md">在Github上编辑此页</a></li>
+        <li><a href="/cn/developers/submit-codes/">代码提交指南</a></li>
+        <li><a href="/cn/security">安全</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul class="social-icons">
+        <p class="header">社区</p>
+        <li>
+            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">邮件列表</span></a>
+        </li>
+        <li>
+            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
+        </li>
+        <li>
+            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
+        </li>
+        <li>
+            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
+        </li>
+      </ul>
+    </div>
+  </div>
+</div>
+<div class="page__footer-bottom">
+  <div>&copy; 2019 Apache ServiceComb. 技术来自于 <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
+  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+</div>
+
+      </footer>
+    </div>
+
+    <script src="/assets/js/main.min.js"></script>
+
+
+
+
+  <script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-101622733-1', 'auto');
+  ga('send', 'pageview');
+</script>
+
+
+
+
+
+
+
+  
+  <script>
+    (function ($) {
+    var $comments = $('.js-comments');
+
+    $('#new_comment').submit(function () {
+      var form = this;
+
+      $(form).addClass('disabled');
+      $('#comment-form-submit').html('<i class="fa fa-spinner fa-spin fa-fw"></i> 正在加载...');
+
+      $.ajax({
+        type: $(this).attr('method'),
+        url: $(this).attr('action'),
+        data: $(this).serialize(),
+        contentType: 'application/x-www-form-urlencoded',
+        success: function (data) {
+          $('#comment-form-submit').html('已提交');
+          $('.page__comments-form .js-notice').removeClass('notice--danger');
+          $('.page__comments-form .js-notice').addClass('notice--success');
+          showAlert('感谢您的评论!被批准后它会立即在此站点展示。');
+        },
+        error: function (err) {
+          console.log(err);
+          $('#comment-form-submit').html('提交评论');
+          $('.page__comments-form .js-notice').removeClass('notice--success');
+          $('.page__comments-form .js-notice').addClass('notice--danger');
+          showAlert('很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。');
+          $(form).removeClass('disabled');
+        }
+      });
+
+      return false;
+    });
+
+    function showAlert(message) {
+      $('.page__comments-form .js-notice').removeClass('hidden');
+      $('.page__comments-form .js-notice-text').html(message);
+    }
+  })(jQuery);
+  </script>
+
+
+
+
+
+
+
+  </body>
+</html>
diff --git a/content/cn/docs/how-to-grow-up-to-be-an-apache-committer/index.html b/content/cn/docs/how-to-grow-up-to-be-an-apache-committer/index.html
index 02da705..665e1e6 100644
--- a/content/cn/docs/how-to-grow-up-to-be-an-apache-committer/index.html
+++ b/content/cn/docs/how-to-grow-up-to-be-an-apache-committer/index.html
@@ -557,11 +557,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -569,7 +569,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -586,11 +586,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -598,7 +598,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -615,11 +615,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -644,11 +644,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/how-to-reform-a-legacy-system/index.html b/content/cn/docs/how-to-reform-a-legacy-system/index.html
index 63763e9..c57af32 100644
--- a/content/cn/docs/how-to-reform-a-legacy-system/index.html
+++ b/content/cn/docs/how-to-reform-a-legacy-system/index.html
@@ -895,11 +895,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -907,7 +907,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -924,11 +924,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -936,7 +936,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -953,11 +953,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -982,11 +982,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/jira_beginner_guide/index.html b/content/cn/docs/jira_beginner_guide/index.html
index 2a61e8f..99e1591 100644
--- a/content/cn/docs/jira_beginner_guide/index.html
+++ b/content/cn/docs/jira_beginner_guide/index.html
@@ -552,11 +552,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -564,7 +564,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -581,11 +581,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -593,7 +593,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -610,11 +610,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -639,11 +639,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/join_the_community/index.html b/content/cn/docs/join_the_community/index.html
index 3094913..8671445 100644
--- a/content/cn/docs/join_the_community/index.html
+++ b/content/cn/docs/join_the_community/index.html
@@ -618,11 +618,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -630,7 +630,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -647,11 +647,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -659,7 +659,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -676,11 +676,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -705,11 +705,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/linuxcon-workshop-demo/index.html b/content/cn/docs/linuxcon-workshop-demo/index.html
index 6056732..34cad3e 100644
--- a/content/cn/docs/linuxcon-workshop-demo/index.html
+++ b/content/cn/docs/linuxcon-workshop-demo/index.html
@@ -1290,11 +1290,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1302,7 +1302,7 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -1319,11 +1319,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1331,7 +1331,7 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -1348,11 +1348,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1377,11 +1377,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/loadtest-saga-with-kubernetes.html b/content/cn/docs/loadtest-saga-with-kubernetes.html
index 1701067..d585d62 100644
--- a/content/cn/docs/loadtest-saga-with-kubernetes.html
+++ b/content/cn/docs/loadtest-saga-with-kubernetes.html
@@ -657,11 +657,11 @@ spec:
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -669,7 +669,7 @@ spec:
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -686,11 +686,11 @@ spec:
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -698,7 +698,7 @@ spec:
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -715,11 +715,11 @@ spec:
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -744,11 +744,11 @@ spec:
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/maven_dependency_management/index.html b/content/cn/docs/maven_dependency_management/index.html
index bfe90df..e480175 100644
--- a/content/cn/docs/maven_dependency_management/index.html
+++ b/content/cn/docs/maven_dependency_management/index.html
@@ -643,11 +643,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -655,7 +655,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -672,11 +672,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -684,7 +684,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -701,11 +701,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -730,11 +730,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/open-design/index.html b/content/cn/docs/open-design/index.html
index 5ecc4d0..472ef6c 100644
--- a/content/cn/docs/open-design/index.html
+++ b/content/cn/docs/open-design/index.html
@@ -838,11 +838,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -850,7 +850,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -867,11 +867,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -879,7 +879,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -896,11 +896,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -925,11 +925,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/opensource-project-is-not-so-far-away/index.html b/content/cn/docs/opensource-project-is-not-so-far-away/index.html
index 13534a2..f5b177a 100644
--- a/content/cn/docs/opensource-project-is-not-so-far-away/index.html
+++ b/content/cn/docs/opensource-project-is-not-so-far-away/index.html
@@ -595,11 +595,11 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -607,7 +607,7 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -624,11 +624,11 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -636,7 +636,7 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -653,11 +653,11 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -682,11 +682,11 @@ committer账号设置完成后,你还需要设置对Github上托管的Apache S
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/osi-microservices/index.html b/content/cn/docs/osi-microservices/index.html
index d260479..80a761e 100644
--- a/content/cn/docs/osi-microservices/index.html
+++ b/content/cn/docs/osi-microservices/index.html
@@ -557,11 +557,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -569,7 +569,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -586,11 +586,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -598,7 +598,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -615,11 +615,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -644,11 +644,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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 b6b8936..6f6879e 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
@@ -648,11 +648,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -660,7 +660,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -677,11 +677,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -689,7 +689,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -706,11 +706,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -735,11 +735,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/release-note-1-0-0.html b/content/cn/docs/release-note-1-0-0.html
index a33a9ef..3607e98 100644
--- a/content/cn/docs/release-note-1-0-0.html
+++ b/content/cn/docs/release-note-1-0-0.html
@@ -721,11 +721,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -733,7 +733,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -750,11 +750,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -762,7 +762,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -779,11 +779,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -808,11 +808,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/saga_pack_design/index.html b/content/cn/docs/saga_pack_design/index.html
index a23a558..dbcd6a3 100644
--- a/content/cn/docs/saga_pack_design/index.html
+++ b/content/cn/docs/saga_pack_design/index.html
@@ -681,11 +681,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -693,7 +693,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -710,11 +710,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -722,7 +722,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -739,11 +739,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -768,11 +768,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/saga_with_cucumber/index.html b/content/cn/docs/saga_with_cucumber/index.html
index 249d50d..351dcb3 100644
--- a/content/cn/docs/saga_with_cucumber/index.html
+++ b/content/cn/docs/saga_with_cucumber/index.html
@@ -855,11 +855,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -867,7 +867,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -884,11 +884,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -896,7 +896,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -913,11 +913,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -942,11 +942,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/seckill-development-journey-part-I/index.html b/content/cn/docs/seckill-development-journey-part-I/index.html
index 0c40493..400a8f3 100644
--- a/content/cn/docs/seckill-development-journey-part-I/index.html
+++ b/content/cn/docs/seckill-development-journey-part-I/index.html
@@ -582,11 +582,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -594,7 +594,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -611,11 +611,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -623,7 +623,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -640,11 +640,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -669,11 +669,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/seckill-development-journey-part-II/index.html b/content/cn/docs/seckill-development-journey-part-II/index.html
index e3c0107..3d789cf 100644
--- a/content/cn/docs/seckill-development-journey-part-II/index.html
+++ b/content/cn/docs/seckill-development-journey-part-II/index.html
@@ -571,11 +571,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -583,7 +583,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -600,11 +600,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -612,7 +612,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -629,11 +629,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -658,11 +658,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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 10c7010..3622bb3 100644
--- a/content/cn/docs/seckill-development-journey-part-III/index.html
+++ b/content/cn/docs/seckill-development-journey-part-III/index.html
@@ -585,11 +585,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -597,7 +597,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -614,11 +614,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -626,7 +626,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -643,11 +643,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -672,11 +672,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/servicecomb-pack-cluster/index.html b/content/cn/docs/servicecomb-pack-cluster/index.html
index 5a35cdd..70d9617 100644
--- a/content/cn/docs/servicecomb-pack-cluster/index.html
+++ b/content/cn/docs/servicecomb-pack-cluster/index.html
@@ -834,11 +834,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -846,7 +846,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -863,11 +863,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -875,7 +875,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -892,11 +892,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -921,11 +921,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/servicecomb-pack-consul/index.html b/content/cn/docs/servicecomb-pack-consul/index.html
index 1789482..e8ba6f4 100644
--- a/content/cn/docs/servicecomb-pack-consul/index.html
+++ b/content/cn/docs/servicecomb-pack-consul/index.html
@@ -670,11 +670,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -682,7 +682,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -699,11 +699,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -711,7 +711,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -728,11 +728,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -757,11 +757,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/servicecomb-pack-eureka/index.html b/content/cn/docs/servicecomb-pack-eureka/index.html
index 4775df0..bd98213 100644
--- a/content/cn/docs/servicecomb-pack-eureka/index.html
+++ b/content/cn/docs/servicecomb-pack-eureka/index.html
@@ -696,11 +696,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -708,7 +708,7 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -725,11 +725,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -737,7 +737,7 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -754,11 +754,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -783,11 +783,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
+        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html b/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
index df6e967..8097445 100644
--- a/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
+++ b/content/cn/docs/servicecomb-springcloud-zuul-demo/index.html
@@ -884,11 +884,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -896,7 +896,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -913,11 +913,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -925,7 +925,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -942,11 +942,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -971,11 +971,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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 f6e8470..ecc4724 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
@@ -683,11 +683,11 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -695,7 +695,7 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -712,11 +712,11 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -724,7 +724,7 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -741,11 +741,11 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -770,11 +770,11 @@ sampler.getHeaderManager<span class="o">()</span>.removeHeaderNamed<span class="
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/talk-to-apache-experts.html b/content/cn/docs/talk-to-apache-experts.html
index 7c5bde0..777fa7c 100644
--- a/content/cn/docs/talk-to-apache-experts.html
+++ b/content/cn/docs/talk-to-apache-experts.html
@@ -717,11 +717,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -729,7 +729,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -746,11 +746,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -758,7 +758,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -775,11 +775,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -804,11 +804,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/docs/tracing-with-servicecomb/index.html b/content/cn/docs/tracing-with-servicecomb/index.html
index aa342e1..9bdc8a1 100644
--- a/content/cn/docs/tracing-with-servicecomb/index.html
+++ b/content/cn/docs/tracing-with-servicecomb/index.html
@@ -634,11 +634,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -646,7 +646,7 @@
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -663,11 +663,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -675,7 +675,7 @@
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -692,11 +692,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -721,11 +721,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/cn/year-archive/index.html b/content/cn/year-archive/index.html
index f930c87..d7b6666 100644
--- a/content/cn/year-archive/index.html
+++ b/content/cn/year-archive/index.html
@@ -400,6 +400,37 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+          
+          
+
+
+
+<div class="list__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
         <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
@@ -2506,6 +2537,12 @@
 <!-- If not equal to previous then it must be unique as sorted -->
 
 
+
+
+
+<!-- If not equal to previous then it must be unique as sorted -->
+
+
 <!-- Push to group_names -->
 
 
@@ -5161,6 +5198,35 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 分钟 阅读
+
+</p>
+    
+  </article>
+</div>
+
+          
+            
+
+
+
+<div class="list__item">
+  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
         <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
diff --git a/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html b/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
index 7903268..2e4e631 100644
--- a/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
+++ b/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/index.html
@@ -594,11 +594,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -606,7 +606,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -623,11 +623,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -635,7 +635,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -652,11 +652,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -681,11 +681,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html b/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
index 63b1edc..913f02e 100644
--- a/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
+++ b/content/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html
@@ -600,11 +600,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -612,7 +612,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -629,11 +629,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -641,7 +641,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -658,11 +658,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -687,11 +687,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/apache-servicecomb-incubating-day-report/index.html b/content/docs/apache-servicecomb-incubating-day-report/index.html
index 924b136..d4d2c55 100644
--- a/content/docs/apache-servicecomb-incubating-day-report/index.html
+++ b/content/docs/apache-servicecomb-incubating-day-report/index.html
@@ -549,11 +549,11 @@ About 80 participants attended the workshop on-site and about 300 participants w
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -561,7 +561,7 @@ About 80 participants attended the workshop on-site and about 300 participants w
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -578,11 +578,11 @@ About 80 participants attended the workshop on-site and about 300 participants w
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -590,7 +590,7 @@ About 80 participants attended the workshop on-site and about 300 participants w
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -607,11 +607,11 @@ About 80 participants attended the workshop on-site and about 300 participants w
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -636,11 +636,11 @@ About 80 participants attended the workshop on-site and about 300 participants w
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/apache-servicecomb-incubating-day/index.html b/content/docs/apache-servicecomb-incubating-day/index.html
index 48f16f7..db218be 100644
--- a/content/docs/apache-servicecomb-incubating-day/index.html
+++ b/content/docs/apache-servicecomb-incubating-day/index.html
@@ -655,11 +655,11 @@ The microservice open source project - Apache ServiceComb (incubating) will host
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -667,7 +667,7 @@ The microservice open source project - Apache ServiceComb (incubating) will host
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -684,11 +684,11 @@ The microservice open source project - Apache ServiceComb (incubating) will host
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -696,7 +696,7 @@ The microservice open source project - Apache ServiceComb (incubating) will host
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -713,11 +713,11 @@ The microservice open source project - Apache ServiceComb (incubating) will host
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -742,11 +742,11 @@ The microservice open source project - Apache ServiceComb (incubating) will host
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/autoscale-on-company/index.html b/content/docs/autoscale-on-company/index.html
index b127a4c..7d51455 100644
--- a/content/docs/autoscale-on-company/index.html
+++ b/content/docs/autoscale-on-company/index.html
@@ -652,11 +652,11 @@ Fig 5    HPA Data of The End</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -664,7 +664,7 @@ Fig 5    HPA Data of The End</p>
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -681,11 +681,11 @@ Fig 5    HPA Data of The End</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -693,7 +693,7 @@ Fig 5    HPA Data of The End</p>
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -710,11 +710,11 @@ Fig 5    HPA Data of The End</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -739,11 +739,11 @@ Fig 5    HPA Data of The End</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/chuanzhiboke-servicecomb-tutoria-release/index.html b/content/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
index b6ed03e..c5af97a 100644
--- a/content/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
+++ b/content/docs/chuanzhiboke-servicecomb-tutoria-release/index.html
@@ -537,11 +537,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -549,7 +549,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -566,11 +566,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -578,7 +578,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -595,11 +595,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -624,11 +624,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/communication-btw-sc-ms/index.html b/content/docs/communication-btw-sc-ms/index.html
index 00d23a6..1a2cf04 100644
--- a/content/docs/communication-btw-sc-ms/index.html
+++ b/content/docs/communication-btw-sc-ms/index.html
@@ -554,11 +554,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -566,7 +566,7 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -583,11 +583,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -595,7 +595,7 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -612,11 +612,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -641,11 +641,11 @@ When Consumer needs to communicate to Provider then consumer reads endpoints of
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/company-on-kubernetes/index.html b/content/docs/company-on-kubernetes/index.html
index af37e2a..c45f1ee 100644
--- a/content/docs/company-on-kubernetes/index.html
+++ b/content/docs/company-on-kubernetes/index.html
@@ -649,11 +649,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -661,7 +661,7 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -678,11 +678,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -690,7 +690,7 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -707,11 +707,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -736,11 +736,11 @@ kubectl get svc company-manager -o yaml | grep nodePort -C 1
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/distributed_saga_1/index.html b/content/docs/distributed_saga_1/index.html
index 38867fa..77b16cf 100644
--- a/content/docs/distributed_saga_1/index.html
+++ b/content/docs/distributed_saga_1/index.html
@@ -684,11 +684,11 @@ next blog post.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -696,7 +696,7 @@ next blog post.</p>
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -713,11 +713,11 @@ next blog post.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -725,7 +725,7 @@ next blog post.</p>
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -742,11 +742,11 @@ next blog post.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -771,11 +771,11 @@ next blog post.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/distributed_saga_2/index.html b/content/docs/distributed_saga_2/index.html
index 645dac7..69f2efb 100644
--- a/content/docs/distributed_saga_2/index.html
+++ b/content/docs/distributed_saga_2/index.html
@@ -630,11 +630,11 @@ there are a few requirements on design of microservices to ensure saga consisten
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -642,7 +642,7 @@ there are a few requirements on design of microservices to ensure saga consisten
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -659,11 +659,11 @@ there are a few requirements on design of microservices to ensure saga consisten
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -671,7 +671,7 @@ there are a few requirements on design of microservices to ensure saga consisten
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -688,11 +688,11 @@ there are a few requirements on design of microservices to ensure saga consisten
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -717,11 +717,11 @@ there are a few requirements on design of microservices to ensure saga consisten
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/distributed_saga_3/index.html b/content/docs/distributed_saga_3/index.html
index 6717b7b..1437994 100644
--- a/content/docs/distributed_saga_3/index.html
+++ b/content/docs/distributed_saga_3/index.html
@@ -663,11 +663,11 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -675,7 +675,7 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -692,11 +692,11 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -704,7 +704,7 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -721,11 +721,11 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -750,11 +750,11 @@ and allows easier troubleshooting of any problem occurred in transactions.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/go-to-cloud/index.html b/content/docs/go-to-cloud/index.html
index af2ae0a..e217ccb 100644
--- a/content/docs/go-to-cloud/index.html
+++ b/content/docs/go-to-cloud/index.html
@@ -698,11 +698,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -710,7 +710,7 @@ watching microservice 4 successfully,服务注册成功<br />
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -727,11 +727,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -739,7 +739,7 @@ watching microservice 4 successfully,服务注册成功<br />
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -756,11 +756,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -785,11 +785,11 @@ watching microservice 4 successfully,服务注册成功<br />
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/how-to-reform-a-legacy-system/index.html b/content/docs/how-to-reform-a-legacy-system/index.html
index 33651c2..12c3f83 100644
--- a/content/docs/how-to-reform-a-legacy-system/index.html
+++ b/content/docs/how-to-reform-a-legacy-system/index.html
@@ -892,11 +892,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -904,7 +904,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -921,11 +921,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -933,7 +933,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -950,11 +950,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -979,11 +979,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/howto-upgrade-topzipkin2/index.html b/content/docs/howto-upgrade-topzipkin2/index.html
index ddd052a..3ef7fcc 100644
--- a/content/docs/howto-upgrade-topzipkin2/index.html
+++ b/content/docs/howto-upgrade-topzipkin2/index.html
@@ -755,11 +755,11 @@ handlers/handler-tracing-zipkin/pom.xml
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -767,7 +767,7 @@ handlers/handler-tracing-zipkin/pom.xml
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -784,11 +784,11 @@ handlers/handler-tracing-zipkin/pom.xml
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -796,7 +796,7 @@ handlers/handler-tracing-zipkin/pom.xml
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -813,11 +813,11 @@ handlers/handler-tracing-zipkin/pom.xml
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -842,11 +842,11 @@ handlers/handler-tracing-zipkin/pom.xml
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/linuxcon-workshop-demo/index.html b/content/docs/linuxcon-workshop-demo/index.html
index 999e605..c695629 100644
--- a/content/docs/linuxcon-workshop-demo/index.html
+++ b/content/docs/linuxcon-workshop-demo/index.html
@@ -1287,11 +1287,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1299,7 +1299,7 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -1316,11 +1316,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1328,7 +1328,7 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -1345,11 +1345,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -1374,11 +1374,11 @@ DevOps在微服务开发中的实践。希望能对大家有所帮助。</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/osi-microservices/index.html b/content/docs/osi-microservices/index.html
index e59e5b4..aa7d4cc 100644
--- a/content/docs/osi-microservices/index.html
+++ b/content/docs/osi-microservices/index.html
@@ -554,11 +554,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -566,7 +566,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -583,11 +583,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -595,7 +595,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -612,11 +612,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -641,11 +641,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/release-note-1-0-0/index.html b/content/docs/release-note-1-0-0/index.html
index b046fd6..25f43b0 100644
--- a/content/docs/release-note-1-0-0/index.html
+++ b/content/docs/release-note-1-0-0/index.html
@@ -637,11 +637,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -649,7 +649,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -666,11 +666,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -678,7 +678,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -695,11 +695,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -724,11 +724,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/seckill-development-journey-part-I/index.html b/content/docs/seckill-development-journey-part-I/index.html
index 3008c03..cfd2454 100644
--- a/content/docs/seckill-development-journey-part-I/index.html
+++ b/content/docs/seckill-development-journey-part-I/index.html
@@ -581,11 +581,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -593,7 +593,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -610,11 +610,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -622,7 +622,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -639,11 +639,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -668,11 +668,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/seckill-development-journey-part-II/index.html b/content/docs/seckill-development-journey-part-II/index.html
index c4312a5..5182b3e 100644
--- a/content/docs/seckill-development-journey-part-II/index.html
+++ b/content/docs/seckill-development-journey-part-II/index.html
@@ -570,11 +570,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -582,7 +582,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -599,11 +599,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -611,7 +611,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -628,11 +628,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -657,11 +657,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/seckill-development-journey-part-III/index.html b/content/docs/seckill-development-journey-part-III/index.html
index dfcf0b0..e3d76c7 100644
--- a/content/docs/seckill-development-journey-part-III/index.html
+++ b/content/docs/seckill-development-journey-part-III/index.html
@@ -585,11 +585,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -597,7 +597,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -614,11 +614,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -626,7 +626,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -643,11 +643,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -672,11 +672,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/service-center-ui/index.html b/content/docs/service-center-ui/index.html
index 3355cc0..2b90b00 100644
--- a/content/docs/service-center-ui/index.html
+++ b/content/docs/service-center-ui/index.html
@@ -569,11 +569,11 @@ can also download the html client for their Schemas.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -581,7 +581,7 @@ can also download the html client for their Schemas.</p>
 
 
 
-  少于 1 分钟 阅读
+  2 分钟 阅读
 
 </p>
     
@@ -598,11 +598,11 @@ can also download the html client for their Schemas.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -610,7 +610,7 @@ can also download the html client for their Schemas.</p>
 
 
 
-  1 分钟 阅读
+  少于 1 分钟 阅读
 
 </p>
     
@@ -627,11 +627,11 @@ can also download the html client for their Schemas.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -656,11 +656,11 @@ can also download the html client for their Schemas.</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/service-registry-refactor-proposal/index.html b/content/docs/service-registry-refactor-proposal/index.html
index 49cc7a9..5b98e11 100644
--- a/content/docs/service-registry-refactor-proposal/index.html
+++ b/content/docs/service-registry-refactor-proposal/index.html
@@ -569,11 +569,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -581,7 +581,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -598,11 +598,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -610,7 +610,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -627,11 +627,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -656,11 +656,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/servicecomb-pack-cluster/index.html b/content/docs/servicecomb-pack-cluster/index.html
index 209ead0..f08da77 100644
--- a/content/docs/servicecomb-pack-cluster/index.html
+++ b/content/docs/servicecomb-pack-cluster/index.html
@@ -831,11 +831,11 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -843,7 +843,7 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -860,11 +860,11 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -872,7 +872,7 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -889,11 +889,11 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -918,11 +918,11 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/servicecomb-pack-consul/index.html b/content/docs/servicecomb-pack-consul/index.html
index 62c269e..e5ef6a0 100644
--- a/content/docs/servicecomb-pack-consul/index.html
+++ b/content/docs/servicecomb-pack-consul/index.html
@@ -669,11 +669,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -681,7 +681,7 @@
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -698,11 +698,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -710,7 +710,7 @@
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -727,11 +727,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -756,11 +756,11 @@
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/servicecomb-pack-eureka/index.html b/content/docs/servicecomb-pack-eureka/index.html
index 2dca9de..b947127 100644
--- a/content/docs/servicecomb-pack-eureka/index.html
+++ b/content/docs/servicecomb-pack-eureka/index.html
@@ -694,11 +694,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -706,7 +706,7 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -723,11 +723,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -735,7 +735,7 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -752,11 +752,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -781,11 +781,11 @@ mvn clean install -DskipTests<span class="o">=</span><span class="nb">true</span
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
+        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
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 cd1b04e..4100042 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
@@ -679,11 +679,11 @@ fig-6 Memory Usage of different services</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -691,7 +691,7 @@ fig-6 Memory Usage of different services</p>
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -708,11 +708,11 @@ fig-6 Memory Usage of different services</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -720,7 +720,7 @@ fig-6 Memory Usage of different services</p>
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -737,11 +737,11 @@ fig-6 Memory Usage of different services</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -766,11 +766,11 @@ fig-6 Memory Usage of different services</p>
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/docs/tracing-with-servicecomb/index.html b/content/docs/tracing-with-servicecomb/index.html
index 23cfec7..7bf1367 100644
--- a/content/docs/tracing-with-servicecomb/index.html
+++ b/content/docs/tracing-with-servicecomb/index.html
@@ -640,11 +640,11 @@ analyzing timing data to troubleshoot network latencies among our microservices
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
+        <a href="/cn/docs/how-to-do-microservice-accept-test/" rel="permalink">如何给微服务架构的项目做验收测试?
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
+    <p class="archive__item-excerpt" itemprop="description">本文将介绍如何给微服务架构的项目做验收测试
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -652,7 +652,7 @@ analyzing timing data to troubleshoot network latencies among our microservices
 
 
 
-  less than 1 minute read
+  2 minute read
 
 </p>
     
@@ -669,11 +669,11 @@ analyzing timing data to troubleshoot network latencies among our microservices
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
+        <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
+    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -681,7 +681,7 @@ analyzing timing data to troubleshoot network latencies among our microservices
 
 
 
-  1 minute read
+  less than 1 minute read
 
 </p>
     
@@ -698,11 +698,11 @@ analyzing timing data to troubleshoot network latencies among our microservices
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
+        <a href="/cn/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Spring Cloud Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Eureka
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
@@ -727,11 +727,11 @@ analyzing timing data to troubleshoot network latencies among our microservices
     
     <h2 class="archive__item-title" itemprop="headline">
       
-        <a href="/cn/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 集成发现服务 : Consul
+        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
 </a>
       
     </h2>
-    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack 集成发现服务 Consul
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
 </p>
     
       <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
diff --git a/content/feed.xml b/content/feed.xml
index 86a39e9..23df16d 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,335 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.4.3">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-07-03T16:14:17+08:00</updated><id>/</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;/assets [...]
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.4.3">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-07-04T16:02:22+08:00</updated><id>/</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;/assets [...]
+
+&lt;p&gt;基于微服务架构的应用相对于单体架构的应用而言在验收测试阶段具有以下挑战:&lt;/p&gt;
+
+&lt;ol&gt;
+  &lt;li&gt;复数的服务增加了测试环境搭建的难度&lt;/li&gt;
+  &lt;li&gt;各种异常情况的模拟变得困难,基于Mock的测试方式无法对整个调用链路作异常模拟,进而使得对整体架构的健壮性测试变得困难&lt;/li&gt;
+  &lt;li&gt;基于成本和效率的原因,测试工作已经不适合通过人工完成&lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;我们认为对基于微服务架构的应用的验收测试应该具有以下特征:&lt;/p&gt;
+
+&lt;ol&gt;
+  &lt;li&gt;自动化、可重复、易于和CI工具集成&lt;/li&gt;
+  &lt;li&gt;能够在测试运行时修改服务的行为&lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;下面将就一个Demo来介绍如何利用 &lt;a href=&quot;https://www.docker.com/&quot;&gt;Docker [1]&lt;/a&gt;、&lt;a href=&quot;https://cucumber.io/&quot;&gt;Cucumber [2]&lt;/a&gt;、&lt;a href=&quot;https://byteman.jboss.org/&quot;&gt;Byteman [3]&lt;/a&gt;、&lt;a href=&quot;https://dmp.fabric8.io/&quot;&gt;Fabric8 docker-maven-plugin [4]&lt;/a&gt;、&lt;a href=&quot;https://github.com/spotify/dockerfile-maven&quot;&gt;Spotify dockerfile-maven-plugin [5]&lt;/a&gt;达成以上目标。&lt;/p&gt;
+
+&lt;h3 id=&quot;demo介绍&quot;&gt;Demo介绍&lt;/h3&gt;
+
+&lt;p&gt;一共有两个服务Product Service(商品服务)和Product Price Service(商品价格服务),Product Service提供了一个查询接口用于获得商品信息及其价格信息的组合结果,这相当于跨服务的SQL JOIN。&lt;/p&gt;
+
+&lt;p&gt;下面是Product的Schema:&lt;/p&gt;
+
+&lt;div class=&quot;language-json highlighter-rouge&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;nt&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;nt&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;nt&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;p&gt;下面是ProductPrice的Schema:&lt;/p&gt;
+
+&lt;div class=&quot;language-json highlighter-rouge&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;nt&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;nt&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;p&gt;Product Service返回的Schema则是:&lt;/p&gt;
+
+&lt;div class=&quot;language-json highlighter-rouge&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;nt&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;nt&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;nt&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;nt&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;nt&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;
+&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;该接口的实现逻辑是:&lt;/p&gt;
+
+&lt;ol&gt;
+  &lt;li&gt;Product Service本地查询得到Product List&lt;/li&gt;
+  &lt;li&gt;Product Service调用Product Price Service接口得到ProductPrice List&lt;/li&gt;
+  &lt;li&gt;拼装结果&lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;此外还有一个要求,当Product Price Service出现异常时,Product Service依然要能够返回结果,只不过&lt;code class=&quot;highlighter-rouge&quot;&gt;price&lt;/code&gt;字段为&lt;code class=&quot;highlighter-rouge&quot;&gt;null&lt;/code&gt;,即无论如何Product Service都要能够返回结果。&lt;/p&gt;
+
+&lt;h3 id=&quot;实现步骤&quot;&gt;实现步骤&lt;/h3&gt;
+
+&lt;h4 id=&quot;构建docker-image&quot;&gt;构建Docker Image&lt;/h4&gt;
+
+&lt;p&gt;为了能够便利地搭建测试环境,我们需要先为Product Servcie和Product Price Service构建Docker Image。利用&lt;a href=&quot;https://github.com/spotify/dockerfile-maven&quot;&gt;Spotify dockerfile-maven-plugin [5]&lt;/a&gt;可以很方便地做到这一点,它没有引入额外的概念,只要你会写&lt;a href=&quot;https://docs.docker.com/engine/reference/builder/&quot;&gt;Dockerfile [6]&lt;/a&gt;就行。我们在Product Service和Producer Price Service的&lt;code class=&quot;highlighter-rouge&quot;&gt;pom.xml&lt;/code&gt;中添加类似以下的配置:&lt;/p&gt;
+
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.spotify&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;dockerfile-maven-plugin&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;${dockerfile-maven-plugin.version}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;repository&amp;gt;&lt;/span&gt;msat-${project.artifactId}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/repository&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;tag&amp;gt;&lt;/span&gt;${project.version}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/tag&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;buildArgs&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;JAR_FILE&amp;gt;&lt;/span&gt;${project.build.finalName}-exec.${project.packaging}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/JAR_FILE&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/buildArgs&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;executions&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;execution&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;build&lt;span class=&quot;nt&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;phase&amp;gt;&lt;/span&gt;package&lt;span class=&quot;nt&quot;&gt;&amp;lt;/phase&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;goals&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;goal&amp;gt;&lt;/span&gt;build&lt;span class=&quot;nt&quot;&gt;&amp;lt;/goal&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/goals&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/execution&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/executions&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;并且提供了Dockerfile:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;FROM openjdk:8-jre-alpine
+ARG JAR_FILE
+ENV JAR_FILE=${JAR_FILE}
+RUN mkdir /maven
+COPY target/${JAR_FILE} /maven
+COPY target/lib/byteman.jar /maven
+ENTRYPOINT java $JAVA_OPTS -jar /maven/$JAR_FILE
+EXPOSE 8080
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;注意我们在Image中添加了byteman.jar,利用它我们可以在运行时修改程序的行为。&lt;/p&gt;
+
+&lt;h4 id=&quot;编写验收测试脚本&quot;&gt;编写验收测试脚本&lt;/h4&gt;
+
+&lt;p&gt;我们新建一个验收测试的Maven项目,然后使用&lt;a href=&quot;https://cucumber.io/&quot;&gt;Cucumber [2]&lt;/a&gt;编写了以下两个场景的验收测试脚本:&lt;/p&gt;
+
+&lt;p&gt;正常情况:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;Feature: List product information with price
+
+  Scenario: Everything is good
+    Given Product Service is up and running
+    And Product Price Service is up and running
+
+    When User query product list
+
+    Then Get following products
+
+      | id       | name | description            | price |
+      | animal-1 | dog  | woof woof              | 1000  |
+      | animal-2 | duck | quack quack            | 40    |
+      | animal-3 | fox  | what does the fox say? | 5000  |
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;这个脚本的大致意思是在Product Service和Product Price Service都启动的情况下,当用户查询Product信息时,我们会得到上述表格中的结果。&lt;/p&gt;
+
+&lt;p&gt;Product Price Service异常情况:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;Feature: List product information with price
+
+  Scenario: Product Price Service throws exception when being queried
+    Given Product Service is up and running
+    And Product Price Service is up and running
+
+    Given Install the byteman script product_price_exception.btm to Product Price Service
+
+    When User query product list
+
+    Then Get following products
+
+      | id       | name | description            | price |
+      | animal-1 | dog  | woof woof              |       |
+      | animal-2 | duck | quack quack            |       |
+      | animal-3 | fox  | what does the fox say? |       |
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;注意到我们在这里使用了&lt;a href=&quot;https://byteman.jboss.org/&quot;&gt;Byteman [3]&lt;/a&gt;注入了异常情况给Product Price Service:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;Given Install the byteman script product_price_exception.btm to Product Price Service
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;product_price_exception.btm&lt;/code&gt;的内容是这样的:&lt;/p&gt;
+
+&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;RULE throw exception
+CLASS me.chanjar.msat.productprice.FakeProductPriceRepository
+METHOD listAll
+AT ENTRY
+IF TRUE
+DO debug(&quot;throw RuntimeException here&quot;),
+   throw new RuntimeException(&quot;Product Repository Error!&quot;)
+ENDRULE
+&lt;/code&gt;&lt;/pre&gt;
+
+&lt;p&gt;意思是在调用&lt;code class=&quot;highlighter-rouge&quot;&gt;FakeProductPriceRepository.listAll&lt;/code&gt;方法时抛出异常,注意这样做并没有修改Product Price Service的源码,而是在运行时修改了它的逻辑。&lt;/p&gt;
+
+&lt;p&gt;接下来我们为上面的验收测试脚本实现逻辑(下面代码与实际上有所不同,这是为了尽量使得代码篇幅精简):&lt;/p&gt;
+
+&lt;div class=&quot;language-java highlighter-rouge&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;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;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;clearBytemanScript&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;@When&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;^User query product list$&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;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;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;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;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;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;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;关于&lt;a href=&quot;https://cucumber.io/&quot;&gt;Cucumber [2]&lt;/a&gt;和&lt;a href=&quot;https://byteman.jboss.org/&quot;&gt;Byteman [3]&lt;/a&gt;的更详细的介绍可以见&lt;a href=&quot;https://servicecomb.apache.org/cn/docs/saga_with_cucumber/&quot;&gt;ServiceComb Saga使用Cucumber做验收测试源码分析 [7]&lt;/a&gt;。&lt;/p&gt;
+
+&lt;h4 id=&quot;自动化搭建测试环境&quot;&gt;自动化搭建测试环境&lt;/h4&gt;
+
+&lt;p&gt;我们希望能够在Maven的&lt;code class=&quot;highlighter-rouge&quot;&gt;integration-test&lt;/code&gt; 阶段搭建测试环境、执行上述验收测试脚本。在&lt;code class=&quot;highlighter-rouge&quot;&gt;pom.xml&lt;/code&gt;中添加到&lt;a href=&quot;https://dmp.fabric8.io/&quot;&gt;Fabric8 docker-maven-plugin [4]&lt;/a&gt;:&lt;/p&gt;
+
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;io.fabric8&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;docker-maven-plugin&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;showLogs&amp;gt;&lt;/span&gt;true&lt;span class=&quot;nt&quot;&gt;&amp;lt;/showLogs&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;images&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;image&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;msat-product:${project.version}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;alias&amp;gt;&lt;/span&gt;msat-product&lt;span class=&quot;nt&quot;&gt;&amp;lt;/alias&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;run&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;wait&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;log&amp;gt;&lt;/span&gt;Started [a-zA-Z]+ in [0-9.]+ seconds&lt;span class=&quot;nt&quot;&gt;&amp;lt;/log&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;time&amp;gt;&lt;/span&gt;120000&lt;span class=&quot;nt&quot;&gt;&amp;lt;/time&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/wait&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;links&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;link&amp;gt;&lt;/span&gt;msat-product-price:msat-product-price&lt;span class=&quot;nt&quot;&gt;&amp;lt;/link&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/links&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;ports&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;port&amp;gt;&lt;/span&gt;product.port:8080&lt;span class=&quot;nt&quot;&gt;&amp;lt;/port&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/ports&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/run&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/image&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;image&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;msat-product-price:${project.version}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;alias&amp;gt;&lt;/span&gt;msat-product-price&lt;span class=&quot;nt&quot;&gt;&amp;lt;/alias&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;run&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;env&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;JAVA_OPTS&amp;gt;&lt;/span&gt;
+              -Dorg.jboss.byteman.debug=true -Dorg.jboss.byteman.verbose=true
+              -javaagent:/maven/byteman.jar=port:9091,address:0.0.0.0,listener:true
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;/JAVA_OPTS&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/env&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;wait&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;log&amp;gt;&lt;/span&gt;Started [a-zA-Z]+ in [0-9.]+ seconds&lt;span class=&quot;nt&quot;&gt;&amp;lt;/log&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;time&amp;gt;&lt;/span&gt;120000&lt;span class=&quot;nt&quot;&gt;&amp;lt;/time&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/wait&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;ports&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;port&amp;gt;&lt;/span&gt;product-price.port:8080&lt;span class=&quot;nt&quot;&gt;&amp;lt;/port&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;port&amp;gt;&lt;/span&gt;product-price.byteman.port:9091&lt;span class=&quot;nt&quot;&gt;&amp;lt;/port&amp;gt;&lt;/span&gt;
+          &lt;span class=&quot;nt&quot;&gt;&amp;lt;/ports&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/run&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/image&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/images&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;executions&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;execution&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;start&lt;span class=&quot;nt&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;phase&amp;gt;&lt;/span&gt;pre-integration-test&lt;span class=&quot;nt&quot;&gt;&amp;lt;/phase&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;goals&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;goal&amp;gt;&lt;/span&gt;start&lt;span class=&quot;nt&quot;&gt;&amp;lt;/goal&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/goals&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/execution&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;execution&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;stop&lt;span class=&quot;nt&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;phase&amp;gt;&lt;/span&gt;post-integration-test&lt;span class=&quot;nt&quot;&gt;&amp;lt;/phase&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;goals&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;goal&amp;gt;&lt;/span&gt;stop&lt;span class=&quot;nt&quot;&gt;&amp;lt;/goal&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/goals&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/execution&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/executions&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;这样一来就能够在&lt;code class=&quot;highlighter-rouge&quot;&gt;pre-integration-test&lt;/code&gt;阶段启动容器,在&lt;code class=&quot;highlighter-rouge&quot;&gt;post-integration-test&lt;/code&gt;阶段销毁容器了。&lt;/p&gt;
+
+&lt;h4 id=&quot;take-a-run&quot;&gt;Take a run&lt;/h4&gt;
+
+&lt;p&gt;接下来只需要&lt;code class=&quot;highlighter-rouge&quot;&gt;mvn clean install&lt;/code&gt;它就会:&lt;/p&gt;
+
+&lt;ol&gt;
+  &lt;li&gt;构建:
+    &lt;ol&gt;
+      &lt;li&gt;构建Product Service项目,并为其构建Docker Image&lt;/li&gt;
+      &lt;li&gt;构建Product Price Service项目,并为其构建Docker Image&lt;/li&gt;
+    &lt;/ol&gt;
+  &lt;/li&gt;
+  &lt;li&gt;验收测试:
+    &lt;ol&gt;
+      &lt;li&gt;启动Product Service和Product Price Service的容器&lt;/li&gt;
+      &lt;li&gt;执行验收测试脚本&lt;/li&gt;
+      &lt;li&gt;销毁上述创建的容器&lt;/li&gt;
+    &lt;/ol&gt;
+  &lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;如果你想自己试试可以下载&lt;a href=&quot;https://github.com/chanjarster/microservice-acceptance-test-demo&quot;&gt;本项目源码[8]&lt;/a&gt;。&lt;/p&gt;
+
+&lt;p&gt;欢迎开发者朋友们加入ServiceComb社区,一起做些有意思的事情。&lt;a href=&quot;http://servicecomb.incubator.apache.org/cn/docs/join_the_community/&quot;&gt;加入社区方法[9]&lt;/a&gt;&lt;/p&gt;
+
+&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;
+
+&lt;p&gt;[1] Docker https://www.docker.com/&lt;/p&gt;
+
+&lt;p&gt;[2] Cucumber https://cucumber.io/&lt;/p&gt;
+
+&lt;p&gt;[3] Byteman  https://byteman.jboss.org/&lt;/p&gt;
+
+&lt;p&gt;[4] Fabric8 docker-maven-plugin  https://dmp.fabric8.io/&lt;/p&gt;
+
+&lt;p&gt;[5] Spotify dockerfile-maven-plugin https://github.com/spotify/dockerfile-maven&lt;/p&gt;
+
+&lt;p&gt;[6] Dockerfile https://docs.docker.com/engine/reference/builder/&lt;/p&gt;
+
+&lt;p&gt;[7] ServiceComb Saga使用Cucumber做验收测试源码分析 https://servicecomb.apache.org/cn/docs/saga_with_cucumber/&lt;/p&gt;
+
+&lt;p&gt;[8] 本项目源码 https://github.com/chanjarster/microservice-acceptance-test-demo&lt;/p&gt;
+
+&lt;p&gt;[9] 加入Servicecomb社区  http://servicecomb.incubator.apache.org/cn/docs/join_the_community/&lt;/p&gt;</content><author><name>Qian Jia</name><email>chanjarster@gmail.com</email><uri>https://github.com/chanjarster</uri></author><category term="微服务" /><summary type="html">本文将介绍如何给微服务架构的项目做验收测试</summary></entry><entry xml:lang="cn"><title type="html">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PPT Download)</title><link href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai [...]
 
 &lt;p&gt;本次活动邀请了Apache Member、Apache Committer、华为云云服务首席工程师、京东数科专家、全球Top10 IT服务提供商开发经理等各行业的资深从业者,携手为大家分享了Apache社区开发经验、企业级PaaS应对复杂网络拓补的案例、汽车品牌数字化营销系统微服务化实践、高性能服务间通信的优化技巧等诸多微服务技术及经验,ServiceComb社区也重磅发布了一系列解决用户应用微服务化痛点的创新新品。&lt;/p&gt;
 
@@ -1751,266 +2082,4 @@ We implemented database-based distributed lock in version 0.4.0 version, event s
 &lt;ul&gt;
   &lt;li&gt;[1] &lt;a href=&quot;https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html&quot;&gt;SpringCloud Zuul&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;[2] &lt;a href=&quot;http://servicecomb.apache.org/cn/docs/quick-start/&quot;&gt;ServiceComb&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;</content><author><name>Lisen</name></author><category term="微服务" /><category term="ServiceComb" /><category term="SpringCloud Zuul" /><summary type="html">基于 ServiceComb 和 SpringCloud Zuul 快速构建微服务系统</summary></entry><entry xml:lang="cn"><title type="html">基于服务的分布式事务(下篇)</title><link href="/cn/docs/distributed-transaction-of-services-2/" rel="alternate" type="text/html" title="基于服务的分布式事务(下篇)" /><published>2019-01-10T00:00:00+08:00</published><updated>2019-01-10T15:30:43+08:00< [...]
-
-&lt;p&gt;在基于服务的分布式事务上篇中, 我们举了了一个业务场景,就是一个初始服务创建了一个分布式事务,在这个分布式事务包含了两个参与服务的本地事务,这两个本地事务由初始服务通过调用两个参与事务的服务方式组合在一起。根据分布式事务一致性的要求,这两个本地事务要么同时成功,要么同时失败。 由于这两个参与事务的服务并不知道对方的存在,当一个参与服务调用(Invocation A)成功而另外一个参与服务调用(Invocation B)失败,我们就需要分布式事务协调器的进行相关的补偿,保证分布式事务的一致性。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-DT-introduction.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;h3 id=&quot;分布式saga&quot;&gt;分布式Saga&lt;/h3&gt;
-
-&lt;p&gt;&lt;a href=&quot;https://github.com/apache/servicecomb-pack&quot;&gt;ServiceComb Pack&lt;/a&gt;目默认采⽤用的是名为Saga分布式事务协调方案。&lt;a href=&quot;https://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf&quot;&gt;Sagas&lt;/a&gt;这个概念来源于三十多年前的一篇数据库论文,一个Saga事务是一个有多个短时事务组成的长时的事务。 在分布式事务场景下,我们把一个Saga分布式事务看做是一个由多个本地事务组成的事务,每个本地事务都有一个与之对应的补偿事务。在Saga事务的执行过程中,如果出现某一步执行出现异常的,Saga事务会被终止,同时会调用之前执行成功的事务对应的补偿事务完成相关的恢复操作,这样保证Saga相关的本地事务要么同时成功,要么通过执行补偿恢复成为Saga执行之前的状态。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-introduction.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;&lt;a href=&quot;https://github.com/apache/servicecomb-pack&quot;&gt;ServiceComb Pack&lt;/a&gt; 在实现分布式Saga协调协议的过程中需要追踪分布式事务的执行情况。首先介绍一下正常流程下分布式事务执行流程是如何记录下来的 ,下图的红线部分是Omega端与Alpha端交互序列图,蓝色部分原有服务直接的调用。在分布式事务初始阶段由初始服务的Omega将&lt;strong&gt;SagaStarted&lt;/strong&gt;事件到Alpha进行进行分布式事务备案。当有新的服务参与到这个分布式事务中,参与服务的Omega会在本地事务执行前发送&lt;strong&gt;TxStarted&lt;/strong&gt;到Alpha端; 并在本地事务执行成功之后将&lt;strong&gt;TxEnded&lt;/strong&gt;事件发送到Alpha。如果分布式事务正常结束,初始服务Omega会直接发送&lt;strong&gt;SagaEnded&lt;/s [...]
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-sq1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;参与分布式事务的服务在执行本地事务出现异常,如下图所示Transaction B执行出现错误。这个时候参与服务B会向Alpha发送一个&lt;strong&gt;TxAborted&lt;/strong&gt;的事件,Alpha收到这个事件后会将整个Saga事务挂起,终止Saga事务的继续执行。如果这个时候还有其他的Omega向Alpha发送挂载在这个Saga事务下的&lt;strong&gt;TxStarted&lt;/strong&gt;事件的话,Alpha会直接发送拒绝应答消息通知Omega这个Saga事务已经出现异常,Omega收到应答之后会抛出异常拒绝执行新的本地事务。由于初始服务在调用参与服务B的过程中,通过服务B的应答消息也知道了服务调用失败的消息,初始服务也会发生&lt;strong&gt;SagaAborted&lt;/strong&gt;事件至Alpha来关闭整个Saga事件。虽然在&lt;strong&gt;TxAborted&lt;/strong&gt;存在的情况下,&lt;strong&gt;SagaAborted&lt;/s [...]
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-exception.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;现在Alpha可以通过查询&lt;strong&gt;TxEnded&lt;/strong&gt;事件可以获取到需要进行补偿恢复的服务信息,Alpha会向相关的服务实例Omega发送&lt;strong&gt;TxCompensated&lt;/strong&gt;事件,由Omega调用服务实例补偿方法进行相关的恢复操作。为了恢复本地事务执行上下文,ServiceComb Pack会将&lt;strong&gt;TxStarted&lt;/strong&gt;传递过来的方法参数列表信息放入&lt;strong&gt;TxCompensated&lt;/strong&gt;消息中传递给Omega,除此之外ServiceComb Pack 还会将&lt;a href=&quot;[OmegaContext](https://github.com/apache/servicecomb-packblob/master/omega/omega-context/src/main/java/org/apache/servicecomb/saga/omega/cont [...]
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-exception2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;除了要考虑异常情况,我们还需要考虑事务执行超时的处理的问题(为了简化场景,这里我们不考虑由于网络连接中断导致的事务异常或者结束消息丢包的情况)。目前我们可以在saga事务以及本地事务设置执行超时时间,Alpha上的事件扫描器会定时查找Started事件在设定的超时时间内是否有对应的Aborted或者Ended事件,如果没有,Alpha事件扫描器则会生成对应的Aborted时间触发相关的补偿操作。&lt;/p&gt;
-
-&lt;p&gt;当整个saga事务执行超时,Alpha事件扫描器会在后台数据库中添加&lt;strong&gt;SagaAborted&lt;/strong&gt;事件终止整个Saga事务,并且调用Omega注册的恢复函数进行相关的恢复操作。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-timeout-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;下图展示的是在本地事务执行超时的情况下,Alpha事件扫描器会识别出Transaction B 执行超时,同时会发生&lt;strong&gt;TxAborted&lt;/strong&gt;事件终止整个Saga 事务,调用相关的恢复方法进行恢复。由于Alpha无法确认对应的本地事务的执行情况,Alpha会采用向Omega发送&lt;strong&gt;TxCompensated&lt;/strong&gt;的方式强制恢复事务,即使这时参与的服务B的本地事务已经执行成功了,Alpha还是会调用参与服务B的Omega来执行相关的恢复操作。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-saga-timeout.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;h3 id=&quot;编写saga应用代码&quot;&gt;编写Saga应用代码&lt;/h3&gt;
-
-&lt;p&gt;在文章开头我们给大家介绍了一个典型的分布式事务业务场景,其中涉及到一个初始服务,以及两个参与服务。 为了方便大家理解,我们将以&lt;a href=&quot;https://github.com/apache/servicecomb-pack/tree/master/demo/saga-spring-demo&quot;&gt;ServiceComb Pack Spring Demo&lt;/a&gt;为例介绍如何使用Saga实现分布式事务。这里预订服务(Booking) 相当于之前提到的分布式事务初始服务,对外提供一个租车(Car)和酒店(Hotel)聚合服务,在&lt;a href=&quot;https://github.com/apache/servicecomb-pack/blob/master/demo/saga-spring-demo/booking/src/main/java/org/apache/servicecomb/pack/demo/booking/BookingController.java&quot;&gt;Booking [...]
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.spring.EnableOmega&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.boot.SpringApplication&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.boot.autoconfigure.SpringBootApplication&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@SpringBootApplication&lt;/span&gt;
-&lt;span class=&quot;nd&quot;&gt;@EnableOmega&lt;/span&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;Application&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;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&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;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&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;SpringApplication&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;Application&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;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&l [...]
-  &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;p&gt;在应用代码中需要描述出Saga事务的边界,我们可以在BookingController的 order方法上标准@SagaStart;&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.context.annotations.SagaStart&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@SagaStart&lt;/span&gt;
-&lt;span class=&quot;nd&quot;&gt;@PostMapping&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/booking/{name}/{rooms}/{cars}&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;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;  &lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot; [...]
-  &lt;span class=&quot;c1&quot;&gt;// Calling the car service&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;postForEntity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-      &lt;span class=&quot;n&quot;&gt;carServiceUrl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/order/{name}/{cars}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-      &lt;span class=&quot;kc&quot;&gt;null&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;.&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;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cars&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-  &lt;span class=&quot;c1&quot;&gt;// Calling the hotel service&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;postForEntity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-      &lt;span class=&quot;n&quot;&gt;hotelServiceUrl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/order/{name}/{rooms}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-      &lt;span class=&quot;kc&quot;&gt;null&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;.&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;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rooms&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;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; booking &quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rooms&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; rooms and &quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span clas [...]
-&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;p&gt;本地事务是通过@Compensable来标识, 并且在Compensable的compensationMethod属性中描述补偿方法。 注意补偿方法和本地事务方法的参数必须一致,否则Omega在系统启动进行参数检查的时候报找不到恢复方法的错误。&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.transaction.annotations.Compensable&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@Compensable&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;compensationMethod&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;cancel&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CarBooking&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;booking&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;booking&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;confirm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;bookings&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;booking&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;booking&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;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;cancel&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CarBooking&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;booking&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;Integer&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;id&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;booking&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getId&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;bookings&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;containsKey&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&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;bookings&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;id&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;cancel&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;h3 id=&quot;tcc实现&quot;&gt;TCC实现&lt;/h3&gt;
-
-&lt;p&gt;&lt;a href=&quot;https://github.com/apache/servicecomb-pack&quot;&gt;ServiceComb Pack&lt;/a&gt; 还提供了一个名为TCC(Try-Cancel/Confirm实现)分布式事务协调实现。TCC借助两阶段提交协议提供了一种比较完美的恢复方式。在TCC方式下,cancel补偿显然是在第二阶段需要执行业务逻辑来取消第一阶段产生的后果。try是在第一阶段执行相关的业务操作,完成相关业务资源的占用,例如预先分配票务资源,或者检查并刷新用户账户信用额度。 在取消阶段释放相关的业务资源,例如释放预先分配的票务资源或者恢复之前占用的用户信用额度。 那我们为什么还要加入确认操作呢?这需要从业务资源的使用生命周期来入手。在try过程中,我们只是占用的业务资源,相关的执行操作只是出于待定状态,只有在确认操作执行完毕之后,业务资源才能真正被确认。&lt;/p&gt;
-
-&lt;p&gt;在下图展示了正常的TCC调用流程,就是参与服务A,B分别在尝试方法中完成相关业务资源的预先分配,然后在提交阶段完成业务资源的确认操作。在实现层面和前面提到的Saga实现一样,我们需要协调器在分布式事务执行完成时向各个参与服务发送执行确认消息,由服务实例执行确认操作。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image-tcc-confirm.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;如果参与服务在执行try方法出现错误,事务协调器Alpha会终止整个TCC分布式事务,同时事务协调器会向注册成功的参与服务发送取消消息,由服务实例执行取消操作。 假如这时还有其他的服务想参与到这个分布式事务的话, 事务协调器会以这个分布式事务已经失败为由,向参与的服务发送失败的应答消息。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image-tcc-cancel.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;在ServiceComb Pack中,在为了实现上面描述的TCC业务述求,需要初始服务在分布式事务开始时向Alpha协调器发送&lt;strong&gt;TccStarted&lt;/strong&gt;事件,Alpha协调器在接收到&lt;strong&gt;TccStarted&lt;/strong&gt;事件之后,会创建相关事务追踪资源跟踪这个TCC事务整个生命周期。当在参与服务调用try方法前发送&lt;strong&gt;ParticipationStarted&lt;/strong&gt;事件来声明与TCC相关本地事务。Alpha协调器会根据TCC事务当前的状态决定是否允许后续的参与服务参加到TCC事务中。 如果参与的TCC事务没有终止,Alpha协调器会回复确认消息,参与服务会继续执行相关的try方法调用;如果TCC事务已经出错终止了,Alpha协调器会回复终止消息,参与服务所在的Omega将抛出异常,直接终止try方法调用。如果参与服务调用try方法成功,则会向Alpha发送&lt;strong&gt;ParticipationEnde [...]
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-Tcc-confirm.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;当TCC调用执行过程中出现异常,初始服务所在的Omega会向Alpha协调器发送&lt;strong&gt;TccEnded&lt;/strong&gt;事件来终止当前的TCC事务。Alpha协调器则会根据其记录的TCC分布式事务的参与情况,向相关服务的Omega发送&lt;strong&gt;Coordinated&lt;/strong&gt;事件,由Omega调用相关的取消方法。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-Tcc-cancel.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;如果参与服务在执行try方法出错了,那Alpha协调器会收到一条标注try方法执行状态的&lt;strong&gt;ParticipationEnded&lt;/strong&gt;事件,Alpha协调器会给自己发送一个包含Aborted信息的&lt;strong&gt;TccEnded&lt;/strong&gt;事件来关闭正在执行的TCC事务,同时触发Omega相关恢复操作的调用。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-Tcc-exception.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;下面介绍参与服务本地事务执行超时的处理的设计, 对于参与服务的try方法来说,Alpha协调器可以通过是否接收到&lt;strong&gt;ParticipationEnded&lt;/strong&gt;事件判断参与服务try方法是否执行超时。 如果在超时时间内没有收到&lt;strong&gt;ParticipationEnded&lt;/strong&gt;事件,Alpha事件扫描器会向数据库添加&lt;strong&gt;TccEnded&lt;/strong&gt;信息,触发和之前描述一样的事务错误处理流程,关闭分布式事务以及调用Omega进行相关恢复的操作。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-Tcc-timeout.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;p&gt;同理当TCC分布式事务执行超时(Alpha在一定时间内没有收到TccEnded事件), Alpha事件扫描器会发送&lt;strong&gt;TccEnded&lt;/strong&gt;终止整个TCC事务,触发与上面相同的恢复操作。&lt;/p&gt;
-
-&lt;p&gt;&lt;img src=&quot;/assets/images/dts2/image2-Tcc-timeout-2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
-
-&lt;h3 id=&quot;编写tcc应用代码&quot;&gt;编写TCC应用代码&lt;/h3&gt;
-
-&lt;p&gt;下⾯面我们会结合ServiceComb中的&lt;a href=&quot;https://github.com/apache/servicecomb-pack/tree/master/demo/tcc-spring-demo&quot;&gt;TCC示例&lt;/a&gt;,向大家介绍如何编写与TCC应用代码。这个示例以我们常见的电商场景为例,用户通过Ordering应用进行下单,Odering会调用Inventory以及Payment两个服务进行相关的业务操作。和之前Saga的示例一样,我们可以通过@EnableOmega的方式在这几个应用中注入Omega。&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.spring.EnableOmega&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.boot.SpringApplication&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.boot.autoconfigure.SpringBootApplication&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-
-&lt;span class=&quot;nd&quot;&gt;@SpringBootApplication&lt;/span&gt;
-&lt;span class=&quot;nd&quot;&gt;@EnableOmega&lt;/span&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;TccOrderingApplication&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;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&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;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&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;SpringApplication&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;TccOrderingApplication&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;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&qu [...]
-  &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;p&gt;接下来我们需要在OrderingController中通过加入@TccStart来定义这个TCC分布式事务的范围,这个分布式事务的范围就是order方法,order方法会调用Inventory的order服务接口,以及Payment的pay服务接口。&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.context.annotations.TccStart&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@TccStart&lt;/span&gt;
-&lt;span class=&quot;nd&quot;&gt;@PostMapping&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/order/{userName}/{productName}/{productUnit}/{unitPrice}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-&lt;span class=&quot;nd&quot;&gt;@ResponseBody&lt;/span&gt;
-&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-    &lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;userName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-    &lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Integer&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productUnit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nd&quot;&gt;@PathVariable&lt;/span&g [...]
-  &lt;span class=&quot;c1&quot;&gt;// Calling the inventory service&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;restTemplate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;postForEntity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;
-      &lt;span class=&quot;n&quot;&gt;inventoryServiceUrl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/order/{userName}/{productName}/{productUnit}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-      &lt;span class=&quot;kc&quot;&gt;null&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;.&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;n&quot;&gt;userName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/ [...]
-
-  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;amount&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productUnit&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;unitPrice&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-  &lt;span class=&quot;c1&quot;&gt;// Calling the payment service&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;restTemplate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;postForEntity&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paymentServiceUrl&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/pay/{userName}/{amount}&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
-      &lt;span class=&quot;kc&quot;&gt;null&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;.&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;n&quot;&gt;userName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;amount&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;userName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; ordering &quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productName&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; with &quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;spa [...]
-&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;p&gt;Inventory会在try阶段先进行库存的扣减,在分布式业务执行成功之后进行设置库存订单状态;如果业务执行失败,Inventory服务会执行恢复操作。通过定义@Participate,ServiceComb Omega可以标注相关try方法,同时通过confirmMethod 以及cancelMethod定义相关确认以及取消方法名。 这里需要注意的是这里提到的confirm,cancel方法的参数必须和try方法的相同。&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.transaction.annotations.Participate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.transaction.annotation.Transactional&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@Participate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;confirmMethod&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;confirm&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cancelMethod&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;cancel&quot;&lt;/span&gt;&lt [...]
-&lt;span class=&quot;nd&quot;&gt;@Transactional&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;pay&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Payment&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;payment&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;Account&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getAccount&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;payment&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;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getCredit&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;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getAmount [...]
-    &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setCredit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getCredit&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;payment&l [...]
-    &lt;span class=&quot;n&quot;&gt;accountDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;saveAndFlush&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;payments&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;payment&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;else&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;k&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;IllegalArgumentException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Insufficient funds!&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;nd&quot;&gt;@Transactional&lt;/span&gt;
-&lt;span class=&quot;n&quot;&gt;Account&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;getAccount&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Payment&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;payment&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;Account&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;accountDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;findByUserName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&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;Objects&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isNull&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&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;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;IllegalArgumentException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Cannot find the account!&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;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;account&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;@Transactional&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;confirm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Payment&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;payment&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;Account&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getAccount&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setConfirmed&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;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setCancelled&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;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setBalance&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getBalance&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;payment&l [...]
-  &lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setBalance&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getBalance&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;());&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;accountDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;saveAndFlush&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&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;@Transactional&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;cancel&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Payment&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;payment&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;Account&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getAccount&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setCredit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getCredit&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;payment&lt; [...]
-  &lt;span class=&quot;n&quot;&gt;accountDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;saveAndFlush&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setBalance&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;account&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getBalance&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;());&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setConfirmed&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;payment&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setCancelled&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;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;p&gt;Payment会在try阶段先验证用户账户的信用值,在确认阶段执行扣减用户账户余额的操作,在恢复阶段恢复信用值。&lt;/p&gt;
-
-&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.apache.servicecomb.pack.omega.transaction.annotations.Participate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.springframework.transaction.annotation.Transactional&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
-
-&lt;span class=&quot;nd&quot;&gt;@Participate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;confirmMethod&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;confirm&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cancelMethod&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;cancel&quot;&lt;/span&gt;&lt [...]
-&lt;span class=&quot;nd&quot;&gt;@Transactional&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;reserve&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ProductOrder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order&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;Product&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;product&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getProduct&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getProductName&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;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getInStock&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;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getUnits&l [...]
-    &lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setInStock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getInStock&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;order&l [...]
-    &lt;span class=&quot;n&quot;&gt;productDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;saveAndFlush&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-    &lt;span class=&quot;n&quot;&gt;orders&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getId&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order&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;else&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
-    &lt;span class=&quot;k&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;IllegalArgumentException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;The Product is out of stock!&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;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;confirm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ProductOrder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order&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;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setConfirmed&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;nd&quot;&gt;@Transactional&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;cancel&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ProductOrder&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;order&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;Product&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;product&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;findProduceByName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&g [...]
-  &lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setInStock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;getInStock&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;order&lt; [...]
-  &lt;span class=&quot;n&quot;&gt;productDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;saveAndFlush&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;product&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
-  &lt;span class=&quot;n&quot;&gt;order&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setCancelled&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;nd&quot;&gt;@Transactional&lt;/span&gt;
-&lt;span class=&quot;kd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Product&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;getProduct&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;productName&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;Product&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;product&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;productDao&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;findProduceByName&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;productName&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;Objects&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;isNull&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;product&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;throw&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;IllegalArgumentException&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Product not exists at all!&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;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;product&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;h3 id=&quot;小结&quot;&gt;小结&lt;/h3&gt;
-
-&lt;p&gt;在本文中我们先从分布式事务场景入手,采用交互图的方式,向大家介绍分布式Saga以及TCC分布式事务协调协议交互,最后结合ServiceComb Pack所提供的示例向大家介绍如何编写Saga以及TCC的应用代码。&lt;/p&gt;</content><author><name>Willem Jiang</name><email>willemjiang@gmail.com</email><uri>http://willemjiang.github.io</uri></author><category term="Saga" /><category term="Pack" /><summary type="html">在本文中我们先从分布式事务场景入手,采用交互图的方式,向大家介绍分布式Saga以及TCC分布式事务协调协议交互,最后结合ServiceComb Pack所提供的示例向大家介绍如何编写Saga以及TCC的应用代码。</summary></entry></feed>
\ No newline at end of file
+&lt;/ul&gt;</content><author><name>Lisen</name></author><category term="微服务" /><category term="ServiceComb" /><category term="SpringCloud Zuul" /><summary type="html">基于 ServiceComb 和 SpringCloud Zuul 快速构建微服务系统</summary></entry></feed>
\ No newline at end of file
diff --git a/content/sitemap.xml b/content/sitemap.xml
index 2c6d4ea..0803273 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -297,6 +297,10 @@
 <lastmod>2019-07-02T12:26:28+08:00</lastmod>
 </url>
 <url>
+<loc>/cn/docs/how-to-do-microservice-accept-test/</loc>
+<lastmod>2019-07-04T10:37:43+08:00</lastmod>
+</url>
+<url>
 <loc>/cn/slides/</loc>
 </url>
 <url>
@@ -1007,34 +1011,34 @@
 </url>
 <url>
 <loc>/assets/slides/20181229/1_ApacheServiceComb_Community_Introduction.pdf</loc>
-<lastmod>2019-01-07T14:07:57+08:00</lastmod>
+<lastmod>2019-07-04T16:02:01+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/1_ServiceComb_Opensource_Way.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/2_NTTDATA_Microservice_Practices.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/3_Enterprise_PaaS_Microservice_Pratices.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/4_Innovation_New_Product_Release.pdf</loc>
-<lastmod>2019-07-03T16:12:12+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/5_ShardingSphere_Distributed_Transaction_Solution.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/6_Microservice_High_Performance_Communication.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 <url>
 <loc>/assets/slides/20190624/7_HuaweiCloud_Distributed_Transaction_DTM_Practices.pdf</loc>
-<lastmod>2019-07-03T15:18:37+08:00</lastmod>
+<lastmod>2019-07-04T16:01:30+08:00</lastmod>
 </url>
 </urlset>
diff --git a/content/sitemap/index.html b/content/sitemap/index.html
index 24460e8..79b342e 100644
--- a/content/sitemap/index.html
+++ b/content/sitemap/index.html
@@ -435,6 +435,8 @@
 
 <link rel="alternate" hreflang="cn" href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" />
 
+<link rel="alternate" hreflang="cn" href="/cn/docs/how-to-do-microservice-accept-test/" />
+
 
   </div>
 </div>