You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by hu...@apache.org on 2018/09/02 10:08:38 UTC

[incubator-dubbo-website] 02/02: Docsite build.

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

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

commit cb4ebdde2a8027267f6466553a70bd582c0ed7c9
Author: Huxing Zhang <hu...@gmail.com>
AuthorDate: Sun Sep 2 18:07:54 2018 +0800

    Docsite build.
---
 build/blog.js                                      |   6 +-
 build/blogDetail.js                                |   6 +-
 build/community.js                                 |   6 +-
 build/documentation.js                             |   6 +-
 build/home.js                                      |   6 +-
 en-us/blog/dubbo-k8s.html                          |  62 +-
 en-us/blog/dubbo-k8s.json                          |   2 +-
 en-us/blog/index.html                              |   2 +-
 en-us/blog/prepare-an-apache-release.html          |  59 +-
 en-us/blog/prepare-an-apache-release.json          |   2 +-
 en-us/docs/admin/README.html                       |   4 +-
 en-us/docs/admin/SUMMARY.html                      |   4 +-
 en-us/docs/admin/install/admin-console.html        |   4 +-
 en-us/docs/admin/install/consumer-demo.html        |   4 +-
 en-us/docs/admin/install/introduction.html         |   4 +-
 en-us/docs/admin/install/provider-demo.html        |   4 +-
 en-us/docs/admin/install/redis.html                |   4 +-
 .../docs/admin/install/simple-monitor-center.html  |   4 +-
 .../docs/admin/install/simple-registry-center.html |   4 +-
 en-us/docs/admin/install/zookeeper.html            |   4 +-
 en-us/docs/admin/ops/dubbo-ops.html                |   4 +-
 en-us/docs/admin/ops/introduction.html             |   4 +-
 en-us/docs/admin/ops/pinpoint.html                 |   4 +-
 en-us/docs/dev/README.html                         |   4 +-
 en-us/docs/dev/SPI.html                            |   4 +-
 en-us/docs/dev/SUMMARY.html                        |   4 +-
 en-us/docs/dev/TCK.html                            |   4 +-
 en-us/docs/dev/build.html                          |   4 +-
 en-us/docs/dev/checklist.html                      |   4 +-
 en-us/docs/dev/code-smell.html                     |   4 +-
 en-us/docs/dev/coding.html                         |   4 +-
 en-us/docs/dev/contract.html                       |   4 +-
 en-us/docs/dev/contribution.html                   |   4 +-
 en-us/docs/dev/design.html                         |   4 +-
 en-us/docs/dev/implementation.html                 |   4 +-
 en-us/docs/dev/impls/cache.html                    |   4 +-
 en-us/docs/dev/impls/cluster.html                  |   4 +-
 en-us/docs/dev/impls/compiler.html                 |   4 +-
 en-us/docs/dev/impls/container.html                |   4 +-
 en-us/docs/dev/impls/dispatcher.html               |   4 +-
 en-us/docs/dev/impls/exchanger.html                |   4 +-
 en-us/docs/dev/impls/exporter-listener.html        |   4 +-
 en-us/docs/dev/impls/extension-factory.html        |   4 +-
 en-us/docs/dev/impls/filter.html                   |   4 +-
 en-us/docs/dev/impls/introduction.html             |   4 +-
 en-us/docs/dev/impls/invoker-listener.html         |   4 +-
 en-us/docs/dev/impls/load-balance.html             |   4 +-
 en-us/docs/dev/impls/logger-adapter.html           |   4 +-
 en-us/docs/dev/impls/merger.html                   |   4 +-
 en-us/docs/dev/impls/monitor.html                  |   4 +-
 en-us/docs/dev/impls/networker.html                |   4 +-
 en-us/docs/dev/impls/page.html                     |   4 +-
 en-us/docs/dev/impls/protocol.html                 |   4 +-
 en-us/docs/dev/impls/proxy-factory.html            |   4 +-
 en-us/docs/dev/impls/registry.html                 |   4 +-
 en-us/docs/dev/impls/remoting.html                 |   4 +-
 en-us/docs/dev/impls/router.html                   |   4 +-
 en-us/docs/dev/impls/serialize.html                |   4 +-
 en-us/docs/dev/impls/status-checker.html           |   4 +-
 en-us/docs/dev/impls/telnet-handler.html           |   4 +-
 en-us/docs/dev/impls/threadpool.html               |   4 +-
 en-us/docs/dev/impls/validation.html               |   4 +-
 en-us/docs/dev/introduction.html                   |   2 +-
 en-us/docs/dev/release.html                        |   4 +-
 en-us/docs/user/README.html                        |   4 +-
 en-us/docs/user/SUMMARY.html                       |   4 +-
 en-us/docs/user/benchmark-tool.html                |   4 +-
 en-us/docs/user/best-practice.html                 |   4 +-
 en-us/docs/user/capacity-plan.html                 |   4 +-
 en-us/docs/user/configuration/annotation.html      |   4 +-
 en-us/docs/user/configuration/api.html             |   4 +-
 en-us/docs/user/configuration/index.html           |   4 +-
 en-us/docs/user/configuration/properties.html      |   4 +-
 en-us/docs/user/configuration/xml.html             |   4 +-
 en-us/docs/user/coveragence.html                   |   4 +-
 en-us/docs/user/demos/accesslog.html               |   4 +-
 en-us/docs/user/demos/async-call.html              |   4 +-
 en-us/docs/user/demos/attachment.html              |   4 +-
 en-us/docs/user/demos/callback-parameter.html      |   4 +-
 en-us/docs/user/demos/concurrency-control.html     |   4 +-
 en-us/docs/user/demos/config-connections.html      |   4 +-
 en-us/docs/user/demos/config-rule.html             |   4 +-
 en-us/docs/user/demos/context.html                 |   4 +-
 en-us/docs/user/demos/delay-publish.html           |   4 +-
 en-us/docs/user/demos/distributed-transaction.html |   4 +-
 en-us/docs/user/demos/dump.html                    |   4 +-
 en-us/docs/user/demos/echo-service.html            |   4 +-
 en-us/docs/user/demos/events-notify.html           |   4 +-
 en-us/docs/user/demos/explicit-target.html         |   4 +-
 en-us/docs/user/demos/fault-tolerent-strategy.html |   6 +-
 en-us/docs/user/demos/fault-tolerent-strategy.json |   2 +-
 en-us/docs/user/demos/generic-reference.html       |   4 +-
 en-us/docs/user/demos/generic-service.html         |   4 +-
 en-us/docs/user/demos/graceful-shutdown.html       |   4 +-
 en-us/docs/user/demos/group-merger.html            |   4 +-
 en-us/docs/user/demos/hostname-binding.html        |   4 +-
 en-us/docs/user/demos/index.html                   |   4 +-
 en-us/docs/user/demos/introduction.html            |   4 +-
 en-us/docs/user/demos/lazy-connect.html            |   4 +-
 en-us/docs/user/demos/loadbalance.html             |   4 +-
 en-us/docs/user/demos/local-call.html              |   4 +-
 en-us/docs/user/demos/local-mock.html              |   4 +-
 en-us/docs/user/demos/local-stub.html              |   4 +-
 en-us/docs/user/demos/logger-strategy.html         |   4 +-
 en-us/docs/user/demos/multi-protocols.html         |   4 +-
 en-us/docs/user/demos/multi-registry.html          |   4 +-
 en-us/docs/user/demos/multi-versions.html          |   4 +-
 en-us/docs/user/demos/netty4.html                  |   4 +-
 en-us/docs/user/demos/parameter-validation.html    |   4 +-
 en-us/docs/user/demos/preflight-check.html         |   4 +-
 en-us/docs/user/demos/reference-config-cache.html  |   4 +-
 en-us/docs/user/demos/registry-only.html           |   4 +-
 en-us/docs/user/demos/result-cache.html            |   4 +-
 en-us/docs/user/demos/routing-rule.html            |   4 +-
 en-us/docs/user/demos/serialization.html           |  92 ++
 en-us/docs/user/demos/serialization.json           |   4 +
 en-us/docs/user/demos/service-container.html       |   4 +-
 en-us/docs/user/demos/service-downgrade.html       |   4 +-
 en-us/docs/user/demos/service-group.html           |   4 +-
 en-us/docs/user/demos/static-service.html          |   4 +-
 en-us/docs/user/demos/stickiness.html              |   4 +-
 en-us/docs/user/demos/subscribe-only.html          |   4 +-
 en-us/docs/user/demos/thread-model.html            |   4 +-
 en-us/docs/user/demos/token-authorization.html     |   4 +-
 en-us/docs/user/dependencies.html                  |   4 +-
 en-us/docs/user/maturity.html                      |   4 +-
 en-us/docs/user/perf-test.html                     |   4 +-
 en-us/docs/user/preface/architecture.html          |   4 +-
 en-us/docs/user/preface/background.html            |   4 +-
 en-us/docs/user/preface/index.html                 |   4 +-
 en-us/docs/user/preface/requirements.html          |   4 +-
 en-us/docs/user/preface/usage.html                 |   4 +-
 en-us/docs/user/quick-start.html                   |   4 +-
 en-us/docs/user/recommend.html                     |   4 +-
 en-us/docs/user/references/api.html                |   4 +-
 en-us/docs/user/references/maven.html              |   4 +-
 en-us/docs/user/references/protocol/dubbo.html     |   4 +-
 en-us/docs/user/references/protocol/hessian.html   |   4 +-
 en-us/docs/user/references/protocol/http.html      |   4 +-
 .../user/references/protocol/introduction.html     |   4 +-
 en-us/docs/user/references/protocol/memcached.html |   4 +-
 en-us/docs/user/references/protocol/redis.html     |   4 +-
 en-us/docs/user/references/protocol/rmi.html       |   4 +-
 en-us/docs/user/references/protocol/thrift.html    |   4 +-
 .../docs/user/references/protocol/webservice.html  |   4 +-
 .../user/references/registry/introduction.html     |   4 +-
 en-us/docs/user/references/registry/multicast.html |   4 +-
 en-us/docs/user/references/registry/redis.html     |   4 +-
 en-us/docs/user/references/registry/simple.html    |   4 +-
 en-us/docs/user/references/registry/zookeeper.html |   4 +-
 en-us/docs/user/references/telnet.html             |   4 +-
 .../user/references/xml/dubbo-application.html     |   4 +-
 en-us/docs/user/references/xml/dubbo-argument.html |   4 +-
 en-us/docs/user/references/xml/dubbo-consumer.html |   4 +-
 en-us/docs/user/references/xml/dubbo-method.html   |   4 +-
 en-us/docs/user/references/xml/dubbo-module.html   |   4 +-
 en-us/docs/user/references/xml/dubbo-monitor.html  |   4 +-
 .../docs/user/references/xml/dubbo-parameter.html  |   4 +-
 en-us/docs/user/references/xml/dubbo-protocol.html |   4 +-
 en-us/docs/user/references/xml/dubbo-provider.html |   4 +-
 .../docs/user/references/xml/dubbo-reference.html  |   4 +-
 en-us/docs/user/references/xml/dubbo-registry.html |   4 +-
 en-us/docs/user/references/xml/dubbo-service.html  |   4 +-
 en-us/docs/user/references/xml/introduction.html   |   4 +-
 en-us/docs/user/rest.html                          | 956 ++++++++++++++++++++-
 en-us/docs/user/rest.json                          |   2 +-
 en-us/docs/user/simple-monitor.html                |   4 +-
 site_config/blog.js                                |  14 +
 site_config/docs.js                                |   4 +
 zh-cn/blog/dubbo-k8s.html                          |  33 +-
 zh-cn/blog/dubbo-k8s.json                          |   2 +-
 zh-cn/blog/index.html                              |   2 +-
 zh-cn/blog/prepare-an-apache-release.html          |  58 +-
 zh-cn/blog/prepare-an-apache-release.json          |   2 +-
 zh-cn/docs/user/demos/fault-tolerent-strategy.html |   4 +-
 zh-cn/docs/user/demos/fault-tolerent-strategy.json |   2 +-
 zh-cn/docs/user/preface/requirements.html          |   4 +-
 zh-cn/docs/user/preface/requirements.json          |   2 +-
 zh-cn/docs/user/rest.html                          |  10 +-
 zh-cn/docs/user/rest.json                          |   2 +-
 180 files changed, 1562 insertions(+), 398 deletions(-)

diff --git a/build/blog.js b/build/blog.js
index 0627aab..46bd202 100644
--- a/build/blog.js
+++ b/build/blog.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=77) [...]
-  Copyright (c) 2017 Jed Watson.
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=79) [...]
+  Copyright (c) 2016 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var u in r)i.call(r,u)&&r[u]&&e.push(u)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t,r){var o=r.configurable,u= [...]
\ No newline at end of file
diff --git a/build/blogDetail.js b/build/blogDetail.js
index 445dc5f..9c0acfe 100644
--- a/build/blogDetail.js
+++ b/build/blogDetail.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=78) [...]
-  Copyright (c) 2017 Jed Watson.
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=80) [...]
+  Copyright (c) 2016 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var u in r)i.call(r,u)&&r[u]&&e.push(u)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t,r){var o=r.configurable,u= [...]
\ No newline at end of file
diff --git a/build/community.js b/build/community.js
index 0045cda..f490e67 100644
--- a/build/community.js
+++ b/build/community.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=79) [...]
-  Copyright (c) 2017 Jed Watson.
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=81) [...]
+  Copyright (c) 2016 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var l in r)i.call(r,l)&&r[l]&&e.push(l)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t,r){var o=r.configurable,l= [...]
\ No newline at end of file
diff --git a/build/documentation.js b/build/documentation.js
index ec85ed6..a33b7d6 100644
--- a/build/documentation.js
+++ b/build/documentation.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=80) [...]
-  Copyright (c) 2017 Jed Watson.
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=82) [...]
+  Copyright (c) 2016 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var l=n.apply(null,r);l&&e.push(l)}else if("object"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===o)for(var l in r)i.call(r,l)&&r[l]&&e.push(l)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t,r){var o=r.configurable,a= [...]
\ No newline at end of file
diff --git a/build/home.js b/build/home.js
index 2d2fa1c..2834a1f 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=81) [...]
-  Copyright (c) 2017 Jed Watson.
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=83) [...]
+  Copyright (c) 2016 Jed Watson.
   Licensed under the MIT License (MIT), see
   http://jedwatson.github.io/classnames
 */
-!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var a=n.apply(null,r);a&&e.push(a)}else if("object"===o)for(var u in r)i.call(r,u)&&r[u]&&e.push(u)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var i={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t,r){var o=r.configurable,u= [...]
\ No newline at end of file
diff --git a/en-us/blog/dubbo-k8s.html b/en-us/blog/dubbo-k8s.html
index 3d75d7f..a14705b 100644
--- a/en-us/blog/dubbo-k8s.html
+++ b/en-us/blog/dubbo-k8s.html
@@ -12,8 +12,66 @@
 	<link rel="stylesheet" href="/build/blogDetail.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="-252024217"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
-Part 2</p>
+	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="-292019962"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+<p>Here we only discuss the situation that the Dubbo service in the cluster is accessed in the same kubernetes cluster, As for the provider outside kubernetes to access the provider in kubernetes, since it involves the problem of network address space, and it usually requires GateWay/loadbalance for mapping conversion, which there not detail discussion for this case. Besides, there are two options available for kubernetes:</p>
+<ol>
+<li>
+<p>DNS: The default kubernetes service is based on the DNS plugin (The latest version of the recommendation is coreDNS), one proposal on Dubbo is about this.  since HSF/Dubbo has always highlighted its soft-load address discovery capability, it ignores Static's strategy insteadily, my understanding is that as a service discovery mechanism, the static resolution mechanism is one of the simplest and most needed to support mechanism, you can also refer to Envoy's point of views. While at th [...]
+<p><img src="https://img.alicdn.com/tfs/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png" alt="img"></p>
+</li>
+<li>
+<p>API:DNS relies on the DNS plugin, which will generate additional operation, so consider directly obtaining the endpoint through the client of kubernetes. In fact, by accessing the API server interface of kubernetes, you can directly obtain the list of endpoints behind a certain servie, and can also monitor the changes in its address list. Thereby implementing the soft load discovery strategy recommended by Dubbo/HSF. Refer to the code for details:</p>
+</li>
+</ol>
+<p>The above two thoughts need to consider the following two points:</p>
+<ol>
+<li>Kubernetes and Dubbo are consistent with the mapping name of service. Dubbo's service is determined by serviename, group, version to determine its uniqueness, and servicename generally has a longer package name for its service interface. Need to map the servie name of kubernetes and the service name of dubbo. Either add a property like SOFA to define it. This is a big change, but it is most reasonable. Or it is a fixed rule to reference the deployed environment variables, which can b [...]
+<li>Port problem:The default Pod and Pod network interoperability is solved, need to be validated.</li>
+</ol>
+<h2>Demo Verification</h2>
+<p>The following is a demo deployment through kubernetes service in Alibaba Cloud's Container Registry and   EDAS. Visit Alibaba Cloud -》Container Registry.</p>
+<ol>
+<li>Create repo and bind the github codebase. As shown below.</li>
+</ol>
+<p><img src="https://img.alicdn.com/tfs/TB1m.tEtrorBKNjSZFjXXc_SpXa-1892-870.png" alt="img"></p>
+<ol start="2">
+<li>
+<p>Click Manage enter the repository details page. Click Build in images service panel,  construct the demo into image and publish it to the specified repository. As shown below.</p>
+<p><img src="https://img.alicdn.com/tfs/TB1oYqvtcIrBKNjSZK9XXagoVXa-1872-888.png" alt="img"></p>
+</li>
+<li>
+<p>Switch to Enterprise Distributed Application Services (EDAS) products panel, visit Resource Management -》Clusters. Create kubernetes cluster and bind ECS. As shown below.</p>
+<p><img src="https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png" alt="img"></p>
+</li>
+<li>
+<p>Application Management - 》Create  application, type kubernetes application and specify the image in the container registry . As shown below.</p>
+<p><img src="https://img.alicdn.com/tfs/TB1_YywtDCWBKNjSZFtXXaC3FXa-1737-588.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB18uzTtdcnBKNjSZR0XXcFqFXa-1820-861.png" alt=""></p>
+</li>
+<li>
+<p>After creation , then deploy applications. As shown below.</p>
+</li>
+</ol>
+<p><img src="https://img.alicdn.com/tfs/TB1fEpEtrorBKNjSZFjXXc_SpXa-1846-783.png" alt=""></p>
+<ul>
+<li>
+<p>The supplementary application name cannot have uppercase letters, all lowercase, otherwise there is a problem of deployment failure.</p>
+</li>
+<li>
+<p>When creating an app, after selecting the image, the next button cannot be clicked and you need to click Choose to continue.</p>
+</li>
+<li>
+<p>EDAS has two independent kubernetes services, one based on Alibaba Cloud's container service, and one set by Lark. I experience the latter.</p>
+</li>
+<li>
+<p>The development joint of Docker and IDE integration, you need to consider the relevant plug-ins for integrating IDEA.</p>
+</li>
+<li>
+<p>There is always an error in deployment, maybe there is a problem with the kubernetes service. Need further investigation.</p>
+</li>
+</ul>
+<p>{&quot;kind&quot;:&quot;Pod&quot;,&quot;namespace&quot;:&quot;lzumwsrddf831iwarhehd14zh2-default&quot;,&quot;name&quot;:&quot;dubbo-k8s-demo-610694273-jq238&quot;,&quot;uid&quot;:&quot;12892e67-8bc8-11e8-b96a-00163e02c37b&quot;,&quot;apiVersion&quot;:&quot;v1&quot;,&quot;resourceVersion&quot;:&quot;850282769&quot;},&quot;reason&quot;:&quot;FailedSync&quot;,&quot;message&quot;:&quot;Error syncing pod&quot;,&quot;</p>
+<p></p>
 </section><footer class="footer-container" data-reactid="19"><div class="footer-body" data-reactid="20"><img src="/img/dubbo_gray.png" data-reactid="21"/><img class="apache" src="/img/apache_logo.png" data-reactid="22"/><div class="cols-container" data-reactid="23"><div class="col col-12" data-reactid="24"><h3 data-reactid="25">Disclaimer</h3><p data-reactid="26">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubatio [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
diff --git a/en-us/blog/dubbo-k8s.json b/en-us/blog/dubbo-k8s.json
index 9bfa5ef..2fab8a1 100644
--- a/en-us/blog/dubbo-k8s.json
+++ b/en-us/blog/dubbo-k8s.json
@@ -1,4 +1,4 @@
 {
   "filename": "dubbo-k8s.md",
-  "__html": "<p>Part 1\nPart 2</p>\n"
+  "__html": "<p>At first sight, the service of kubernetes has its own IP, while under the original fixed mindset: Dubbo/HSF service is aggregated by the IP of the entire service cluster, that means, kubernetes and Dubbo/HSF look like something different in natural, but when carefully thinking, the difference becomes insignificant. Because the only IP under kubernetes is just a Virtural IP--VIP, behind the vip are multiple endpoints, which is the factual processing node.</p>\n<p>Here we o [...]
 }
\ No newline at end of file
diff --git a/en-us/blog/index.html b/en-us/blog/index.html
index d9e3ed9..c86e8aa 100644
--- a/en-us/blog/index.html
+++ b/en-us/blog/index.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/blog.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-list-page" data-reactroot="" data-reactid="1" data-react-checksum="-1912873849"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-togg [...]
+	<div id="root"><div class="blog-list-page" data-reactroot="" data-reactid="1" data-react-checksum="-360775501"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-toggl [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/blog/prepare-an-apache-release.html b/en-us/blog/prepare-an-apache-release.html
index e6b9df2..2dd998b 100644
--- a/en-us/blog/prepare-an-apache-release.html
+++ b/en-us/blog/prepare-an-apache-release.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/blogDetail.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="1334346778"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="-709203683"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
 <p>In general, Source Release is the key and the required content of Apache. But Binary Release is optional, Dubbo can choose whether to release binary packages to the Apache repository or to the Maven central repository.</p>
 <p>Please refer to the following links for more information on ASF's release guide:</p>
 <ul>
@@ -141,11 +141,11 @@ encrypting by <a href="http://maven.apache.org/guides/mini/guide-encryption.html
 <h2>Pack &amp; Upload</h2>
 <ol>
 <li>
-<p>Pull the new branch from the master branch as the release branch. If you want to release the 2.6.4 version now, pull the new branch 2.6.4-release from 2.6.x. Then the
-modifications and taggings related to 2.6.4 Release Candidates are applied to 2.6.4-release branch, and is merged into the master branch after the final release.</p>
+<p>Pull the new branch from the master branch as the release branch. If you want to release the ${release_version} version now, pull the new branch ${release_version}-release from 2.6.x. Then the
+modifications and taggings related to ${release_version} Release Candidates are applied to ${release_version}-release branch, and is merged into the master branch after the final release.</p>
 </li>
 <li>
-<p>First of all, verify that the maven component packing, source packing, signature, etc are working properly on the 2.6.4-release branch.</p>
+<p>First of all, verify that the maven component packing, source packing, signature, etc are working properly on the ${release_version}-release branch.</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> mvn clean install -Papache-release</span>
 <span class="hljs-meta">$</span><span class="bash"> mvn deploy</span>
 <span class="hljs-meta">#</span><span class="bash"> push the snapshot package to the maven central repository,<span class="hljs-keyword">in</span> staging state</span>
@@ -163,7 +163,7 @@ modifications and taggings related to 2.6.4 Release Candidates are applied to 2.
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> mvn release:clean</span>
 <span class="hljs-meta">$</span><span class="bash"> mvn release:prepare -Papache-release -Darguments=<span class="hljs-string">"-DskipTests"</span> -DautoVersionSubmodules=<span class="hljs-literal">true</span> -Dusername=YOUR GITHUB ID</span>
-<span class="hljs-meta">#</span><span class="bash"> After running:1. Generate source.zip; 2. Tag and push to github repository; 3. The branch version is upgraded to 2.6.4-SNAPSHOT automatically and the modifications are pushed to the github repository</span>
+<span class="hljs-meta">#</span><span class="bash"> After running:1. Generate source.zip; 2. Tag and push to github repository; 3. The branch version is upgraded to <span class="hljs-variable">${release_version}</span>-SNAPSHOT automatically and the modifications are pushed to the github repository</span>
 </code></pre>
 <ul>
 <li>Run release:perform, make an offical release</li>
@@ -186,20 +186,20 @@ modifications and taggings related to 2.6.4 Release Candidates are applied to 2.
 </code></pre>
 </li>
 <li>
-<p>The current release version is 2.6.4,new directory</p>
+<p>The current release version is ${release_version},new directory</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">cd</span> ~/apache/incubator/dubbo <span class="hljs-comment"># dubbo svn root directory</span></span>
-<span class="hljs-meta">$</span><span class="bash"> mkdir 2.6.4</span>
+<span class="hljs-meta">$</span><span class="bash"> mkdir <span class="hljs-variable">${release_version}</span></span>
 </code></pre>
 </li>
 <li>
 <p>Add public key to <a href="https://dist.apache.org/repos/dist/dev/incubator/dubbo/KEYS">KEYS</a> file.KEYS is mainly used to allow people who participate in the voting to be imported locally to verify the correctness of the sign.</p>
 </li>
 <li>
-<p>Copy the source.zip package from the Dubbo root directory to the svn local repository dubbo/2.6.4</p>
+<p>Copy the source.zip package from the Dubbo root directory to the svn local repository dubbo/${release_version}</p>
 </li>
 <li>
 <p>Generate sha512 sign</p>
-<pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> shasum -a 512 dubbo-incubating-2.6.4-source-release.zip &gt;&gt; dubbo-incubating-2.6.4-source-release.zip.sha512</span>
+<pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> shasum -a 512 apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip &gt;&gt; apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512</span>
 </code></pre>
 </li>
 <li>
@@ -207,14 +207,14 @@ modifications and taggings related to 2.6.4 Release Candidates are applied to 2.
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> In the module of the dubbo project distribution</span>
 run:
 <span class="hljs-meta">$</span><span class="bash"> mvn install</span>
-<span class="hljs-meta">#</span><span class="bash"> In target directory,copy bin-release.zip and bin-release.zip.asc to svn <span class="hljs-built_in">local</span> repository dubbo/2.6.4</span>
+<span class="hljs-meta">#</span><span class="bash"> In target directory,copy bin-release.zip and bin-release.zip.asc to svn <span class="hljs-built_in">local</span> repository dubbo/<span class="hljs-variable">${release_version}</span></span>
 <span class="hljs-meta">#</span><span class="bash"> Refer to the six step,generate sha512 sign</span>
 </code></pre>
 </li>
 <li>
 <p>Commit to Apache svn</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> svn status</span>
-<span class="hljs-meta">$</span><span class="bash"> svn commit -m <span class="hljs-string">'prepare for 2.6.4 RC1'</span></span>
+<span class="hljs-meta">$</span><span class="bash"> svn commit -m <span class="hljs-string">'prepare for ${release_version} RC1'</span></span>
 </code></pre>
 </li>
 </ol>
@@ -223,18 +223,36 @@ run:
 <ol>
 <li>Check signatures and hashes are good</li>
 </ol>
-<pre><code class="language-sh">shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512
-shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-bin-release.zip.sha512
-gpg2 --keyserver pgpkeys.mit.edu --recv-key 208B0AB1D63011C7
-gpg2 --verify apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.asc apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip
+<ul>
+<li>sha512</li>
+</ul>
+<pre><code class="language-sh">$ shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512
+$ shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-bin-release.zip.sha512
 </code></pre>
+<ul>
+<li>gpg
+<ul>
+<li>If it's your first time verify a release candidte, you should import public keys first.</li>
+</ul>
+<pre><code class="language-sh">$ curl https://dist.apache.org/repos/dist/dev/incubator/dubbo/KEYS &gt;&gt; KEYS <span class="hljs-comment"># download public keys to local directory</span>
+$ gpg --import KEYS <span class="hljs-comment"># import keys</span>
+$ gpg —edit-key liujun
+  &gt; trust <span class="hljs-comment"># type trust command</span>
+</code></pre>
+<ul>
+<li>Now, you can verify signature with command</li>
+</ul>
+<pre><code>gpg --verify apache-dubbo-incubating-2.6.3-source-release.zip.asc apache-dubbo-incubating-2.6.3-source-release.zip
+</code></pre>
+</li>
+</ul>
 <ol start="2">
 <li>Unzip apache-dubbo-incubating-${release_version}-source-release.zip to the default directory and check the following:</li>
 </ol>
 <ul>
 <li>
 <p>Directory with 'incubating' in name
-<code>apache-dubbo-incubating-${release_version}-bin-release</code></p>
+<code>apache-dubbo-incubating-${release_version}-source-release</code></p>
 </li>
 <li>
 <p>DISCLAIMER exists</p>
@@ -255,17 +273,24 @@ gpg2 --verify apache-dubbo-incubating-<span class="hljs-variable">${release_vers
 <p>All unit tests can pass</p>
 <pre><code class="language-sh">mvn clean <span class="hljs-built_in">test</span> <span class="hljs-comment"># This will run all unit tests</span>
 <span class="hljs-comment"># you can also open rat and style plugin to check if every file meets requirements.</span>
-mvn clean install -Drat.skip=<span class="hljs-literal">false</span> -Dcheckstyle.skip=<span class="hljs-literal">false</span>
+mvn clean <span class="hljs-built_in">test</span> -Drat.skip=<span class="hljs-literal">false</span> -Dcheckstyle.skip=<span class="hljs-literal">false</span>
 </code></pre>
 </li>
 <li>
 <p>Release candidates match with corresponding tags, you can find tag link and hash in vote email.</p>
+<ul>
+<li>check the version number in pom.xml are the same</li>
+<li>check there are no extra files or directories in the source package, for example, no empty directories or useless log files.<br>
+<code>diff -r a rc_dir tag_dir</code></li>
+<li>check the top n tag commits, dive into the related files and check if the source package has the same changes</li>
+</ul>
 </li>
 </ul>
 <ol start="3">
 <li>Unzip apache-dubbo-incubating-${release_version}-bin-release.zip and check:</li>
 </ol>
 <ul>
+<li>Check signatures are good</li>
 <li>'incubating' in name</li>
 <li>LICENSE and NOTICE exists and contents are good</li>
 </ul>
diff --git a/en-us/blog/prepare-an-apache-release.json b/en-us/blog/prepare-an-apache-release.json
index e273407..5afe3b7 100644
--- a/en-us/blog/prepare-an-apache-release.json
+++ b/en-us/blog/prepare-an-apache-release.json
@@ -1,4 +1,4 @@
 {
   "filename": "prepare-an-apache-release.md",
-  "__html": "<h2>Understanding the Apache Release Cycle</h2>\n<p>In general, Source Release is the key and the required content of Apache. But Binary Release is optional, Dubbo can choose whether to release binary packages to the Apache repository or to the Maven central repository.</p>\n<p>Please refer to the following links for more information on ASF's release guide:</p>\n<ul>\n<li><a href=\"http://www.apache.org/dev/release-publishing\">Apache Release Guide</a></li>\n<li><a href=\"ht [...]
+  "__html": "<h2>Understanding the Apache Release Cycle</h2>\n<p>In general, Source Release is the key and the required content of Apache. But Binary Release is optional, Dubbo can choose whether to release binary packages to the Apache repository or to the Maven central repository.</p>\n<p>Please refer to the following links for more information on ASF's release guide:</p>\n<ul>\n<li><a href=\"http://www.apache.org/dev/release-publishing\">Apache Release Guide</a></li>\n<li><a href=\"ht [...]
 }
\ No newline at end of file
diff --git a/en-us/docs/admin/README.html b/en-us/docs/admin/README.html
index 7f5e93f..b683abf 100644
--- a/en-us/docs/admin/README.html
+++ b/en-us/docs/admin/README.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1814788679"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1929919144"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>The installation and maintenance guidance of registry center and dubbo-admin.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/SUMMARY.html b/en-us/docs/admin/SUMMARY.html
index 7afaca4..9430e54 100644
--- a/en-us/docs/admin/SUMMARY.html
+++ b/en-us/docs/admin/SUMMARY.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1247845133"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1120117906"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <li><a href="install/introduction.md">1 install manual</a>
 <ul>
 <li><a href="install/provider-demo.md">1.1 install provider demo</a></li>
@@ -30,7 +30,7 @@
 </ul>
 </li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/admin-console.html b/en-us/docs/admin/install/admin-console.html
index ca99005..a8293b6 100644
--- a/en-us/docs/admin/install/admin-console.html
+++ b/en-us/docs/admin/install/admin-console.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-846272249"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2037438283"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Include: route rule, dynamic configuration, service downgrade, access control, weight adjustment, load balance, etc.</p>
 <p>Install:</p>
 <pre><code class="language-sh">wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
@@ -52,7 +52,7 @@ dubbo.admin.guest.password=guest
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/consumer-demo.html b/en-us/docs/admin/install/consumer-demo.html
index 391cfc9..f66387f 100644
--- a/en-us/docs/admin/install/consumer-demo.html
+++ b/en-us/docs/admin/install/consumer-demo.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1662265934"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1228641811"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>install:</p>
 <pre><code class="language-sh">git <span class="hljs-built_in">clone</span> https://github.com/apache/incubator-dubbo.git
 <span class="hljs-built_in">cd</span> incubator-dubbo
@@ -23,7 +23,7 @@ add -Djava.net.preferIPv4Stack=<span class="hljs-literal">true</span> <span clas
 <pre><code class="language-sh">resource/META-INFO.spring/dubbo-demo-consumer.xml
 change dubbo:registery to the real registery center address
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/introduction.html b/en-us/docs/admin/install/introduction.html
index 788da77..e4d3e0f 100644
--- a/en-us/docs/admin/install/introduction.html
+++ b/en-us/docs/admin/install/introduction.html
@@ -12,13 +12,13 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-810713444"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-829702597"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>You can run Demo Provider and Demo Consumer only, the default discovery strategy is Multicast by configuration center broadcast, do not run the two parts on the same machine, if you have to do so, set <code>unicast=false</code>, like <code>multicast://224.5.6.7:1234?unicast=false</code>, or the unicast send to consumer will be taken by provider, and the same for consumers. Only multicast has this issue</p>
 <p>You can run multiple Demo Provider and Demo consumer to verify load balance. Demo Consumer can run multi instance directly. Because of port conflict, you can either run multi Demo Providers on different machines or modify the value of <code>dubbo.protocol.port</code> in <code>conf/dubbo.properties</code> under the install directory of <code>conf/dubbo.properties</code></p>
 <p>You can add Simple Monitor as a monitor center, the default discovery strategy is Multicast by configuration center broadcast, display the dependency relationship, call times and cost</p>
 <p>You can use Zookeeper instead of Multicast as the configuration center, after Zookeeper Registry installation, modify <code>conf/dubbo.properties</code> under the installation directory of Demo Provider, Demo Consumer and Simple Monitor, change the value of <code>dubbo.registry.address</code> to <code>zookeeper://127.0.0.1:2181</code>(<code>redis://127.0.0.1:6379</code> for Redis Registry). the value for Simple Registry is <code>dubbo://127.0.0.1:9090</code></p>
 <p>Zookeeper configuration address is recommended</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/provider-demo.html b/en-us/docs/admin/install/provider-demo.html
index 7d1fc52..a01e2a1 100644
--- a/en-us/docs/admin/install/provider-demo.html
+++ b/en-us/docs/admin/install/provider-demo.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1660467687"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1449035192"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>install:</p>
 <pre><code class="language-sh">git <span class="hljs-built_in">clone</span> https://github.com/apache/incubator-dubbo.git
 <span class="hljs-built_in">cd</span> incubator-dubbo
@@ -23,7 +23,7 @@ add -Djava.net.preferIPv4Stack=<span class="hljs-literal">true</span> <span clas
 <pre><code class="language-sh">resource/META-INFO.spring/dubbo-demo-provider.xml
 change dubbo:registery to a real registery server address, zookeeper is recommanded
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/redis.html b/en-us/docs/admin/install/redis.html
index 9e6b715..a943587 100644
--- a/en-us/docs/admin/install/redis.html
+++ b/en-us/docs/admin/install/redis.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1832441398"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1066986012"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Redis <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> introductions, please refer to: <a href="http://dubbo.apache.org/books/dubbo-user-book-en/references/registry/redis.html">Redis application center manual</a>。</p>
 <p>you need an origin Redis server only, and change the value from <code>dubbo.registry.addrss</code> to <code>redis://127.0.0.1:6379</code> in <code>conf/dubbo.properties</code> of <a href="http://dubbo.apache.org/books/dubbo-user-book-en/quick-start.html">quick start</a></p>
 <p>Redis configuration center cluster <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> write multiple server in client side and read from a single server.</p>
@@ -52,7 +52,7 @@ hgetall /dubbo/com.foo.BarService/providers
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/simple-monitor-center.html b/en-us/docs/admin/install/simple-monitor-center.html
index bb6766a..1e2f56f 100644
--- a/en-us/docs/admin/install/simple-monitor-center.html
+++ b/en-us/docs/admin/install/simple-monitor-center.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1830155184"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2020750174"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Step</h2>
 <p>install:</p>
 <pre><code class="language-sh">git <span class="hljs-built_in">clone</span> https://github.com/apache/incubator-dubbo-ops
@@ -70,7 +70,7 @@ Simple Monitor use disk to store statistics information, please focus on the lim
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/simple-registry-center.html b/en-us/docs/admin/install/simple-registry-center.html
index faf3d1f..8cd1666 100644
--- a/en-us/docs/admin/install/simple-registry-center.html
+++ b/en-us/docs/admin/install/simple-registry-center.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="313213777"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1820687632"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Simple Registry has not been well tested, may have bug, cluster is not supported, not recommended to use in production environment</p>
 <p>Install:</p>
 <pre><code class="language-sh">git <span class="hljs-built_in">clone</span> https://github.com/apache/incubator-dubbo-ops
@@ -62,7 +62,7 @@ help
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/install/zookeeper.html b/en-us/docs/admin/install/zookeeper.html
index c134e02..016ea5f 100644
--- a/en-us/docs/admin/install/zookeeper.html
+++ b/en-us/docs/admin/install/zookeeper.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2091205866"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-766903627"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>zookeeper register center client version: <code>dubbo-2.3.3</code> and above<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <p>Dubbo changes nothing of Zookeeper's server side, an original Zookeeper server is fine. All change happens while calling Zookeeper's client side</p>
 <p>install:</p>
@@ -81,7 +81,7 @@ dump
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/ops/dubbo-ops.html b/en-us/docs/admin/ops/dubbo-ops.html
index d899ea8..e331163 100644
--- a/en-us/docs/admin/ops/dubbo-ops.html
+++ b/en-us/docs/admin/ops/dubbo-ops.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1975851436"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-742119934"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Page search</h2>
 <p>If you need to manage a Dubbo service, you need to search it first and open it's management page</p>
 <p><img src="../sources/images/dubbo-search.png" alt="/admin-guide/images/dubbo-search.png"></p>
@@ -34,7 +34,7 @@
 <h5>Weight adjustment</h5>
 <h5>Load balance</h5>
 <h5>Service owner</h5>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/ops/introduction.html b/en-us/docs/admin/ops/introduction.html
index b8f204e..2dd4f26 100644
--- a/en-us/docs/admin/ops/introduction.html
+++ b/en-us/docs/admin/ops/introduction.html
@@ -12,8 +12,8 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2108187815"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-684219322"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/admin/ops/pinpoint.html b/en-us/docs/admin/ops/pinpoint.html
index 34efe74..44e42a0 100644
--- a/en-us/docs/admin/ops/pinpoint.html
+++ b/en-us/docs/admin/ops/pinpoint.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-512208404"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1616810379"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>After using Dubbo to serve or integrate applications, assuming that a service backstage log shows an exception and that the service is invoked by multiple applications, it is often difficult to determine which application is called, and what is the cause of the problem, so we need a set of distributed tracking systems to quickly locate the problem. Pinpoint can help us quickly locate problems (of course, there are more than one solution).</p>
 <h2>What is Pinpoint</h2>
 <p><a href="https://github.com/naver/pinpoint">Pinpoint</a> is an APM (Application Performance Management) tool for large-scale distributed systems written in Java. Inspired by Dapper, Pinpoint provides a solution to help analyze the overall structure of the system and how components within them are interconnected by tracing transactions across distributed applications.</p>
@@ -383,7 +383,7 @@ dubbo.protocol.port=12345
 <p><img src="../sources/images/pinpoint-mixedview.png" alt="/admin-guide/images/pinpoint-mixedview.png"></p>
 <h3>Other</h3>
 <p>The example simply simulates the provision and call of Dubbo, and does not carry out the application of other middleware such as database. For detailed use, please refer to the Pinpoint document.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/README.html b/en-us/docs/dev/README.html
index 1f01e2e..92257e7 100644
--- a/en-us/docs/dev/README.html
+++ b/en-us/docs/dev/README.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="189765982"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1328752387"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>This book dives into the design principles of dubbo, mainly covers the following topics: extension, coding styles, versio, build, etc.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/SPI.html b/en-us/docs/dev/SPI.html
index 44315ba..a1b013a 100644
--- a/en-us/docs/dev/SPI.html
+++ b/en-us/docs/dev/SPI.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-442170526"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="689324801"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>SPI Config</h2>
 <h3>Source:</h3>
 <p>Dubbo SPI is inherited from standard JDK SPI(Service Provider Interface) and makes it more powerful.</p>
@@ -183,7 +183,7 @@ Wheel wheel = wheelMaker.makeWheel(url);
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/SUMMARY.html b/en-us/docs/dev/SUMMARY.html
index 932129b..3ef3349 100644
--- a/en-us/docs/dev/SUMMARY.html
+++ b/en-us/docs/dev/SUMMARY.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-845861449"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="287599958"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <ul>
 <li><a href="./build.md">1 How To Build</a></li>
 <li><a href="./design.md">2 Architecture</a></li>
@@ -56,7 +56,7 @@
 <li><a href="./code-smell.md">12 Code Smell</a></li>
 <li><a href="./TCK.md">13 TCK</a></li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/TCK.html b/en-us/docs/dev/TCK.html
index c10e652..7be15c7 100644
--- a/en-us/docs/dev/TCK.html
+++ b/en-us/docs/dev/TCK.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1168980197"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="187070596"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Dubbo's protocol, communication, serialization, registry, load balancing and other SPI all offer alternative strategies for different application scenarios while our test cases are very scattered. Ours is always uncertain whether it can satisfy the complete contract of the extension point when users need to add a new implementation.</p>
 <p>Thus we need to use TCK (Technology Compatibility Kit) for the core extension points.  When users add a new implementaion, compatibility with the rest of the framework can be ensured with TCK. This can effectively improve the overall health and also facilitate the access of the third party extenders, which accelerates the maturity of the open source community.</p>
 <p>Xingzhi from the open source community is already working on this part. His preliminary idea is to build a TCK framework for Dubbo drawing on the CDI-TCK of JBoss first, then realize the TCK implementing case of Dubbo.</p>
@@ -26,7 +26,7 @@
 <blockquote>
 <p>TODO</p>
 </blockquote>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/build.html b/en-us/docs/dev/build.html
index f2003fb..cf9dd01 100644
--- a/en-us/docs/dev/build.html
+++ b/en-us/docs/dev/build.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="35492077"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-665988980"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Checkout</h2>
 <p>checkout the lastest project source code with commands blow:</p>
 <pre><code class="language-sh">git <span class="hljs-built_in">clone</span> https://github.com/apache/incubator-dubbo.git dubbo
@@ -54,7 +54,7 @@
 </code></pre>
 <p>1: view the source code through <a href="https://github.com/apache/incubator-dubbo">https://github.com/apache/incubator-dubbo</a>
 2: path under UNIX is ${HOME}/.m2/repository, path under Windows is C:\Documents and Settings&lt;user&gt;.m2\repository</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/checklist.html b/en-us/docs/dev/checklist.html
index 32be2e0..24f9727 100644
--- a/en-us/docs/dev/checklist.html
+++ b/en-us/docs/dev/checklist.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="205333154"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-526622143"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Checklist before release</h2>
 <ul>
 <li>github milestones</li>
@@ -31,7 +31,7 @@
 <li>Complete javadoc and comment in code</li>
 <li>Manager for every version, responsible for scope and check</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/code-smell.html b/en-us/docs/dev/code-smell.html
index 33912ac..5974a78 100644
--- a/en-us/docs/dev/code-smell.html
+++ b/en-us/docs/dev/code-smell.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1612999753"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-248927256"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Ugly Dubbo design or implementation will be record here.</p>
 <h2>URL Convertion</h2>
 <h3>1. Point to Point Service export and refer</h3>
@@ -140,7 +140,7 @@ GETROUTE(script://path/file.js?type=js&amp;rule=ENCODE(function{...}))
 <li>If all providers are not available , rescan the list(not choosen invoker first),juding if any provider is available, if existing,doing the invocatiion.</li>
 <li>If no available provider in stage 3, then the next invoker of the invoker of stage 1 will be choosen(if not the last one),avoiding collision.</li>
 </ol>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/coding.html b/en-us/docs/dev/coding.html
index aed81b8..cbef968 100644
--- a/en-us/docs/dev/coding.html
+++ b/en-us/docs/dev/coding.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1595065406"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-587367583"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Code style</h2>
 <p>The source and JavaDoc of Dubbo follow below specifications:</p>
 <ul>
@@ -71,7 +71,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/contract.html b/en-us/docs/dev/contract.html
index 5080ce5..b9d2f15 100644
--- a/en-us/docs/dev/contract.html
+++ b/en-us/docs/dev/contract.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1529197701"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="345344794"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>This document is Dubbo public agreement, we expect all extension points comply with it.</p>
 <h2>URL</h2>
 <ul>
@@ -25,7 +25,7 @@
 <li>Print <code>WARN</code> log for recoverable exception or transient state inconsistency.</li>
 <li>Print <code>INFO</code> log for normally status.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/contribution.html b/en-us/docs/dev/contribution.html
index 4698abb..243b927 100644
--- a/en-us/docs/dev/contribution.html
+++ b/en-us/docs/dev/contribution.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1364626427"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="677235610"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -375,7 +375,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/design.html b/en-us/docs/dev/design.html
index c8553d6..531a77a 100644
--- a/en-us/docs/dev/design.html
+++ b/en-us/docs/dev/design.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1051132235"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1363689706"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Overall design</h2>
 <p><img src="sources/images/dubbo-framework.jpg" alt="/dev-guide/images/dubbo-framework.jpg"></p>
 <p>Image description:</p>
@@ -94,7 +94,7 @@
 <li>Use URL to be the startdard format of config information, all extension points transfer config information by URL.</li>
 </ul>
 <p>More design principles refer to: <a href="./principals/introduction.md">Framework design principle</a></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/implementation.html b/en-us/docs/dev/implementation.html
index 3cd94ff..9c47e03 100644
--- a/en-us/docs/dev/implementation.html
+++ b/en-us/docs/dev/implementation.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="260066896"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1853066735"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Initialization details</h2>
 <h3>Service parsing</h3>
 <p>Based on <code>META-INF/spring.handlers</code> config in dubbo.jar, Spring calls <code>DubboNamespaceHandler</code> when meeting dubbo namespace.</p>
@@ -111,7 +111,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/cache.html b/en-us/docs/dev/impls/cache.html
index c2e5eb9..ccf7957 100644
--- a/en-us/docs/dev/impls/cache.html
+++ b/en-us/docs/dev/impls/cache.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1058115433"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-623653112"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Cache the return value, use request parameter as the key.</p>
 <h2>Extension Interface</h2>
@@ -75,7 +75,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.cache.CacheFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxCacheFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/cluster.html b/en-us/docs/dev/impls/cluster.html
index 1607891..cb9f113 100644
--- a/en-us/docs/dev/impls/cluster.html
+++ b/en-us/docs/dev/impls/cluster.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1793078363"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-818777094"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Group service providers in a cluster, and treat them as one single provider.</p>
 <h2>Extension Interface</h2>
@@ -69,7 +69,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Cluster:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxCluster
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/compiler.html b/en-us/docs/dev/impls/compiler.html
index afac20d..3e46464 100644
--- a/en-us/docs/dev/impls/compiler.html
+++ b/en-us/docs/dev/impls/compiler.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="732149111"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1766656746"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Java compiler, used for byte code dynamic generation for RPC invocation.</p>
 <h2>Extension Interface</h2>
@@ -51,7 +51,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.compiler.Compiler:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxCompiler
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/container.html b/en-us/docs/dev/impls/container.html
index 26eb2cf..65311b1 100644
--- a/en-us/docs/dev/impls/container.html
+++ b/en-us/docs/dev/impls/container.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1836912501"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="994848825"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Service container extension, useful for loading custom contents.</p>
 <h2>Extension Interface</h2>
@@ -57,7 +57,7 @@ com.alibaba.dubbo.container.Container;
 <p>META-INF/dubbo/com.alibaba.dubbo.container.Container:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxContainer
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/dispatcher.html b/en-us/docs/dev/impls/dispatcher.html
index 3846ae9..a19978a 100644
--- a/en-us/docs/dev/impls/dispatcher.html
+++ b/en-us/docs/dev/impls/dispatcher.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="886287910"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1456804411"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Thread pool dispatch strategy.</p>
 <h2>Extension Interface</h2>
@@ -57,7 +57,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.remoting.Dispatcher:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxDispatcher
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/exchanger.html b/en-us/docs/dev/impls/exchanger.html
index 52de750..d3ee7b4 100644
--- a/en-us/docs/dev/impls/exchanger.html
+++ b/en-us/docs/dev/impls/exchanger.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1234880079"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1378092541"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Exchange message between request and response on network transport layer.</p>
 <h2>Extension Interface</h2>
@@ -80,7 +80,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.remoting.exchange.Exchanger:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxExchanger
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/exporter-listener.html b/en-us/docs/dev/impls/exporter-listener.html
index 65ccf5c..5af6638 100644
--- a/en-us/docs/dev/impls/exporter-listener.html
+++ b/en-us/docs/dev/impls/exporter-listener.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="532744066"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1973372705"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Fire events when there's any service exported.</p>
 <h2>Extension Interface</h2>
@@ -58,7 +58,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.ExporterListener:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxExporterListener
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/extension-factory.html b/en-us/docs/dev/impls/extension-factory.html
index 2505393..11559a9 100644
--- a/en-us/docs/dev/impls/extension-factory.html
+++ b/en-us/docs/dev/impls/extension-factory.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="742457138"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="298925792"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Factory to load dubbo extensions.</p>
 <h2>Extension Interface</h2>
@@ -52,7 +52,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.extension.ExtensionFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxExtensionFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/filter.html b/en-us/docs/dev/impls/filter.html
index 5d3477b..31b76cf 100644
--- a/en-us/docs/dev/impls/filter.html
+++ b/en-us/docs/dev/impls/filter.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1824681046"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1316213577"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Extension for intercepting the invocation for both service provider and consumer, furthermore, most of functions in dubbo are implemented base on the same mechanism. Since every time when remote method is invoked, the filter extensions will be executed too, the corresponding penalty should be considered before more filters are added.</p>
 <p>Contract:</p>
@@ -84,7 +84,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.Filter:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxFilter
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/introduction.html b/en-us/docs/dev/impls/introduction.html
index cb9a0fc..5addd78 100644
--- a/en-us/docs/dev/impls/introduction.html
+++ b/en-us/docs/dev/impls/introduction.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="443325663"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1036901502"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>SPI extension interface is used for system integration, it's also useful for dubbo contributor to extend dubbo functionality.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/invoker-listener.html b/en-us/docs/dev/impls/invoker-listener.html
index 6020792..2575339 100644
--- a/en-us/docs/dev/impls/invoker-listener.html
+++ b/en-us/docs/dev/impls/invoker-listener.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2079154543"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="149790990"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Fire event when there's any service referenced.</p>
 <h2>Extension Interface</h2>
@@ -58,7 +58,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.InvokerListener:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxInvokerListener
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/load-balance.html b/en-us/docs/dev/impls/load-balance.html
index cb3d39b..46a5942 100644
--- a/en-us/docs/dev/impls/load-balance.html
+++ b/en-us/docs/dev/impls/load-balance.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-93134353"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="854991261"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Pick one from service providers and fire the invocation.</p>
 <h2>Extension Interface</h2>
@@ -58,7 +58,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.LoadBalance:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxLoadBalance
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/logger-adapter.html b/en-us/docs/dev/impls/logger-adapter.html
index 530a2b3..3e7fc31 100644
--- a/en-us/docs/dev/impls/logger-adapter.html
+++ b/en-us/docs/dev/impls/logger-adapter.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1690929934"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="824292497"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Extension for adapting logger output</p>
 <h2>Extension Interface</h2>
@@ -72,7 +72,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.logger.LoggerAdapter:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxLoggerAdapter
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/merger.html b/en-us/docs/dev/impls/merger.html
index 2853949..f532084 100644
--- a/en-us/docs/dev/impls/merger.html
+++ b/en-us/docs/dev/impls/merger.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-50201101"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1752613471"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Merge strategy for return result aggregation in group.</p>
 <h2>Extension Interface</h2>
@@ -54,7 +54,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Merger:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxMerger
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/monitor.html b/en-us/docs/dev/impls/monitor.html
index c0bb5cb..787ece7 100644
--- a/en-us/docs/dev/impls/monitor.html
+++ b/en-us/docs/dev/impls/monitor.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="696470188"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1218868661"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Extension to monitor service invocation times and time taken for each service invocation.</p>
 <h2>Extension Interface</h2>
@@ -67,7 +67,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.monitor.MonitorFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxMonitorFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/networker.html b/en-us/docs/dev/impls/networker.html
index f5d08ad..904398f 100644
--- a/en-us/docs/dev/impls/networker.html
+++ b/en-us/docs/dev/impls/networker.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="303379752"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2033874119"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Extension for peer to peer network grouping.</p>
 <h2>Extension Interface</h2>
@@ -54,7 +54,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.remoting.p2p.Networker:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxNetworker
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/page.html b/en-us/docs/dev/impls/page.html
index ffca15c..11b72da 100644
--- a/en-us/docs/dev/impls/page.html
+++ b/en-us/docs/dev/impls/page.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1504340163"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1993037726"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Extension for page handler</p>
 <h2>Extension Interface</h2>
@@ -56,7 +56,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.container.page.PageHandler:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxPageHandler
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/protocol.html b/en-us/docs/dev/impls/protocol.html
index d21865a..23180ac 100644
--- a/en-us/docs/dev/impls/protocol.html
+++ b/en-us/docs/dev/impls/protocol.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-494633116"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="695058179"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Extension to RPC protocol, hide details of remote call.</p>
 <p>Contract:</p>
@@ -139,7 +139,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.Protocol:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxProtocol
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/proxy-factory.html b/en-us/docs/dev/impls/proxy-factory.html
index 052485d..492b894 100644
--- a/en-us/docs/dev/impls/proxy-factory.html
+++ b/en-us/docs/dev/impls/proxy-factory.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1482224969"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1180814089"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Summary</h2>
 <p>Convert <code>Invoker</code> into business interface.</p>
 <h2>Extension Interface</h2>
@@ -60,7 +60,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.ProxyFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxProxyFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/registry.html b/en-us/docs/dev/impls/registry.html
index a696a9b..c9cb4b5 100644
--- a/en-us/docs/dev/impls/registry.html
+++ b/en-us/docs/dev/impls/registry.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2071517802"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-956472011"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Registry extension is used for service registration and discovery.</p>
 <h2>Extension Interface</h2>
@@ -189,7 +189,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxRegistryFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/remoting.html b/en-us/docs/dev/impls/remoting.html
index 86cfd54..1398a4e 100644
--- a/en-us/docs/dev/impls/remoting.html
+++ b/en-us/docs/dev/impls/remoting.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1040419529"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1921758422"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Transportation extension for communication between server and client.</p>
 <h2>Extension Interface</h2>
@@ -113,7 +113,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.remoting.Transporter:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxTransporter
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/router.html b/en-us/docs/dev/impls/router.html
index 56c9938..f78e31d 100644
--- a/en-us/docs/dev/impls/router.html
+++ b/en-us/docs/dev/impls/router.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="935722326"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="492190980"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Pick one from service providers and fire the invocation.</p>
 <h2>Extension Interface</h2>
@@ -56,7 +56,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.RouterFactory:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxRouterFactory
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/serialize.html b/en-us/docs/dev/impls/serialize.html
index bf841c2..4b65b5a 100644
--- a/en-us/docs/dev/impls/serialize.html
+++ b/en-us/docs/dev/impls/serialize.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1583100275"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="255029522"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Extension to serializing java object into byte code stream for transporting on the network, and vise versa.</p>
 <h2>Extension Interface</h2>
@@ -69,7 +69,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.serialize.Serialization:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxSerialization
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/status-checker.html b/en-us/docs/dev/impls/status-checker.html
index 0e8176c..a50d8b4 100644
--- a/en-us/docs/dev/impls/status-checker.html
+++ b/en-us/docs/dev/impls/status-checker.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1214380731"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="370754788"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Summary</h2>
 <p>Extension to check status of resources service depends on. This status checker can be used in both telnet status command and status page.</p>
 <h2>Extension Interface</h2>
@@ -59,7 +59,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.status.StatusChecker:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxStatusChecker
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/telnet-handler.html b/en-us/docs/dev/impls/telnet-handler.html
index 4b34057..cdab9c1 100644
--- a/en-us/docs/dev/impls/telnet-handler.html
+++ b/en-us/docs/dev/impls/telnet-handler.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1874443935"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1838087742"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Extension to telnet command. All server should support telnet access for operation convenience.</p>
 <h2>Extension Interface</h2>
@@ -69,7 +69,7 @@
 <pre><code class="language-sh">telnet 127.0.0.1 20880
 dubbo&gt; xxx args
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/threadpool.html b/en-us/docs/dev/impls/threadpool.html
index fd974dd..12a44e6 100644
--- a/en-us/docs/dev/impls/threadpool.html
+++ b/en-us/docs/dev/impls/threadpool.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1818719050"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-432026539"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Thread pool strategy extension for service provider. When server receives one request, it needs a thread from thread pool to execute business logic in service provider.</p>
 <h2>Extension Interface</h2>
@@ -55,7 +55,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.common.threadpool.ThreadPool:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxThreadPool
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/impls/validation.html b/en-us/docs/dev/impls/validation.html
index 82988be..e6cfddc 100644
--- a/en-us/docs/dev/impls/validation.html
+++ b/en-us/docs/dev/impls/validation.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1458996391"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1056226040"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Summary</h2>
 <p>Extension for parameter validation.</p>
 <h2>Extension Inteface</h2>
@@ -65,7 +65,7 @@
 <p>META-INF/dubbo/com.alibaba.dubbo.validation.Validation:</p>
 <pre><code class="language-properties">xxx=com.xxx.XxxValidation
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/introduction.html b/en-us/docs/dev/introduction.html
index 0f0e4e5..d1082bf 100644
--- a/en-us/docs/dev/introduction.html
+++ b/en-us/docs/dev/introduction.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-736010632"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="887135767"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/dev/release.html b/en-us/docs/dev/release.html
index 16e920a..5165f8a 100644
--- a/en-us/docs/dev/release.html
+++ b/en-us/docs/dev/release.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="300328159"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1519576190"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><strong>New feature development</strong> and <strong>stability improvement</strong> are equally important to product. But adding new features will affect stability, dubbo uses the following version development pattern to achieve a good balance.</p>
 <h2>Two versions evolving at the same time</h2>
 <ul>
@@ -45,7 +45,7 @@
 <li>Bugs find on GA will be fixed immediately.</li>
 <li>Comparing with the on-need-upgrade (only upgrade when find a serious problem, and may span multiple versions), upgrade periodically can flat risk. Experienced a long cycle of large projects, students will have such an experience, the tripartite library version does not upgrade for a long time, the result of the problem had to upgrade to the new version (across multiple versions) a huge risk.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/README.html b/en-us/docs/user/README.html
index 26a79e9..9f672b8 100644
--- a/en-us/docs/user/README.html
+++ b/en-us/docs/user/README.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="825328102"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1377975931"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>The dubbo cookbook, covering almost all features of dubbo framework.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/SUMMARY.html b/en-us/docs/user/SUMMARY.html
index 50a72b4..caa6525 100644
--- a/en-us/docs/user/SUMMARY.html
+++ b/en-us/docs/user/SUMMARY.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1527774461"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1092141909"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <ul>
 <li><a href="./preface/index.md">1 Preface</a>
 <ul>
@@ -126,7 +126,7 @@
 <li><a href="./perf-test.md">16 Performance testing reports</a></li>
 <li><a href="./coveragence.md">17 Test coverage report</a></li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/benchmark-tool.html b/en-us/docs/user/benchmark-tool.html
index 845abee..edf6c71 100644
--- a/en-us/docs/user/benchmark-tool.html
+++ b/en-us/docs/user/benchmark-tool.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="306767172"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-655088398"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <ul>
 <li>download: git clone <a href="https://github.com/apache/incubator-dubbo.git">https://github.com/apache/incubator-dubbo.git</a></li>
 <li>compile benchmark: cd incubator-dubbo/dubbo-test/dubbo-test-benchmark; mvn clean install</li>
@@ -52,7 +52,7 @@
 </li>
 </ul>
 <p>If you want to test the different versions of Dubbo, you can replace the jar of the Dubbo.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/best-practice.html b/en-us/docs/user/best-practice.html
index fdbe852..a8696cb 100644
--- a/en-us/docs/user/best-practice.html
+++ b/en-us/docs/user/best-practice.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1045086050"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="439189565"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Modularization</h2>
 <p>It is recommended to put service interfaces, service models, service exceptions, and so on in the API package,Because the service model and exception are part of the API, it is also in conformity with the modularization principle:Reusing the publish equivalence principle (REP) and the Common Reuse Principle (CRP).</p>
 <p>If you need, you can also consider placing a spring reference configuration in the API package, so that the user can only use the configuration in the spring loading process, and the configuration suggestion is placed in the package directory of the module, so as not to conflict, eg:<code>com/alibaba/china/xxx/dubbo-reference.xml</code>。</p>
@@ -44,7 +44,7 @@
 <h2>Call</h2>
 <p>Not just because it is a Dubbo call, wrap the call logic eith <code>try...catch</code>clause. <code>try...catch</code> should be added to the appropriate rollback boundary.</p>
 <p>The check logic for the input parameters should be available at the Provider side. For performance considerations, the service implementer may consider adding a service Stub class to the API package to complete the test.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/capacity-plan.html b/en-us/docs/user/capacity-plan.html
index 9806d54..70988c8 100644
--- a/en-us/docs/user/capacity-plan.html
+++ b/en-us/docs/user/capacity-plan.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1811968504"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-570510953"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The following data for reference:</p>
 <h2>Use member service project of Dubbo</h2>
 <ul>
@@ -28,7 +28,7 @@
 <li>The average load is less than 1 (For 8 core CPU, the load is very low)</li>
 <li>The average response time is  1.4 to 2.8 ms,Network cost about 1.0 to 1.1 ms(Related to the size of the packet )</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/configuration/annotation.html b/en-us/docs/user/configuration/annotation.html
index cb053ed..7411f16 100644
--- a/en-us/docs/user/configuration/annotation.html
+++ b/en-us/docs/user/configuration/annotation.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1364588698"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1708177659"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Requires<code>2.5.7</code> or higher</p>
 <h2>Provider Side</h2>
 <h3><code>Service</code> annotation for exporting</h3>
@@ -99,7 +99,7 @@
 <p>All annotations in 2.5.7 will be removed later, if you have used these annotations in your project, please upgrade to the latest version.</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:annotation</span> <span class="hljs-attr">package</span>=<span class="hljs-string">"com.alibaba.dubbo.test.service"</span> /&gt;</span> 
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/configuration/api.html b/en-us/docs/user/configuration/api.html
index f0b9772..3cc7527 100644
--- a/en-us/docs/user/configuration/api.html
+++ b/en-us/docs/user/configuration/api.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1696933375"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1915708830"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>All API properties have counterparts in XML, see <a href="../references/xml/introduction.md">XML References</a> for details. For example <code>ApplicationConfig.setName(&quot;xxx&quot;)</code> equals to  <code>&lt;dubbo:application name=&quot;xxx&quot; /&gt;</code> <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <h2>Provider Side</h2>
 <pre><code class="language-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ApplicationConfig;
@@ -121,7 +121,7 @@ reference.setUrl(<span class="hljs-string">"dubbo://10.20.130.230:20880/com.xxx.
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/configuration/index.html b/en-us/docs/user/configuration/index.html
index 48f545c..661b81e 100644
--- a/en-us/docs/user/configuration/index.html
+++ b/en-us/docs/user/configuration/index.html
@@ -12,8 +12,8 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1742182865"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1331059250"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/configuration/properties.html b/en-us/docs/user/configuration/properties.html
index 4daa9e1..611bbb9 100644
--- a/en-us/docs/user/configuration/properties.html
+++ b/en-us/docs/user/configuration/properties.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-805130803"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2007962260"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>If your application is simple enough, say, you do not need multi-registries or multi-protocols, and you want to share configuration among Spring containers. You can use <code>dubbo.properties</code> as default configuration.</p>
 <p>Dubbo will load dubbo.properties under the root of classpath automatically, you can also specify the path for loading this file by using JVM parameter: <code>-Ddubbo.properties.file=xxx.properties</code>.</p>
 <h2>Mapping Rules</h2>
@@ -47,7 +47,7 @@ dubbo.registry.address=10.20.153.10:9090
 </ul>
 <p>1: If more than one dubbo.properties under classpath, say, two jars contains dubbo.properties separately, Dubbo will arbitarily choose one to to load, and log Error info.<br>
 2: If <code>id</code> not configured on <code>protocol</code>, will use <code>name</code> property as default</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/configuration/xml.html b/en-us/docs/user/configuration/xml.html
index 486d74a..74c18ab 100644
--- a/en-us/docs/user/configuration/xml.html
+++ b/en-us/docs/user/configuration/xml.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-274642176"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1218606433"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>About the XML configuration items, see:<a href="../references/xml/introduction.md">XML References</a>. If you prefer use API directly instead of using Spring, see <a href="./api.md">API Configuration</a>. Want a example of how to use configuration, see <a href="../quick-start.md">Quick Start</a>。</p>
 <h2>provider.xml demo</h2>
 <pre><code class="language-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"UTF-8"</span><span class="hljs-meta">?&gt;</span></span>
@@ -121,7 +121,7 @@
 <p>Theoretically, almost all configuration items supported in ReferenceConfig can be configured with a default value using ConsumerConfig, ServiceConfig, ProviderConfig.</p>
 <p>1: Requires spring <code>3.2.16+</code>, see announcement for details:<code>xmlns:p=&quot;http://www.springframework.org/schema/p&quot;</code>  
 2: The reference bean obeys lazy init by default, only if it is refered by other beans or other instance try to get its instance using <code>getBean()</code> method  will the reference be initialized. If you need eager init, config this way: <code>&lt;dubbo:reference ... init=&quot;true&quot; /&gt;</code></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/coveragence.html b/en-us/docs/user/coveragence.html
index 00c7e98..3a1624f 100644
--- a/en-us/docs/user/coveragence.html
+++ b/en-us/docs/user/coveragence.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-636567018"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1911684668"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Based on version <code>2.0.12</code>,Statistics on 2012-02-03</p>
 <p><img src="sources/images/code-quality1.jpg" alt="/sources/images/code-quality1.jpg"></p>
 <p><img src="sources/images/code-quality2.jpg" alt="/sources/images/code-quality2.jpg"></p>
@@ -24,7 +24,7 @@
 <p><img src="sources/images/code-coverage.jpg" alt="/sources/images/code-coverage.jpg"></p>
 <p><img src="sources/images/code-tendency.jpg" alt="/sources/images/code-tendency.jpg"></p>
 <p><img src="sources/images/code-dependency.jpg" alt="/sources/images/code-dependency.jpg"></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/accesslog.html b/en-us/docs/user/demos/accesslog.html
index cc894e3..bdc2c75 100644
--- a/en-us/docs/user/demos/accesslog.html
+++ b/en-us/docs/user/demos/accesslog.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1868217351"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1069251688"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>If you want to logging the access information for each provide service,you can turn on the <code>accesslog</code> switch,which like the access log of <code>Apache</code>.</p>
 <p><strong>Note:</strong>
 The size of the access log maybe too much,please check the disk capacity.
@@ -56,7 +56,7 @@ Now I will show you how to config the access log.</p>
 <p>OR</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">accesslog</span>=<span class="hljs-string">"/home/admin/logs/service/accesslog.log"</span> <span class="hljs-attr">...</span>/&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/async-call.html b/en-us/docs/user/demos/async-call.html
index 9dd99bf..e7aa40c 100644
--- a/en-us/docs/user/demos/async-call.html
+++ b/en-us/docs/user/demos/async-call.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="663854500"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="876076355"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>As dubbo is based on a non-blocking NIO network layer, the client can start parallel call to multiple remote services without explicitly starting mulithreads, which costs relatively fewer resources.</p>
 <p><img src="../sources/images/future.jpg" alt="/user-guide/images/future.jpg"></p>
 <p>You can config at <code>consumer.xml</code> for setup asynchronous call some remote service.</p>
@@ -56,7 +56,7 @@ Bar bar = barFuture.get();
 </code></pre>
 <p><strong>Note</strong>
 <code>2.0.6+</code> version supported.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/attachment.html b/en-us/docs/user/demos/attachment.html
index d3d0550..fd22c8c 100644
--- a/en-us/docs/user/demos/attachment.html
+++ b/en-us/docs/user/demos/attachment.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="390790269"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="353909803"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>You can implicitly pass parameters between service consumers and providers via <code>setAttachment</code> and<code>getAttachment</code> on <code>RpcContext</code>.
 <img src="../sources/images/context.png" alt="/user-guide/images/context.png"></p>
 <h2>Set the implicit parameters at service consumer side</h2>
@@ -30,7 +30,7 @@ xxxService.xxx(); <span class="hljs-comment">// remote call</span>
     }
 }
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/callback-parameter.html b/en-us/docs/user/demos/callback-parameter.html
index dfb171a..9697725 100644
--- a/en-us/docs/user/demos/callback-parameter.html
+++ b/en-us/docs/user/demos/callback-parameter.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1248010953"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1146100965"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The parameter callback is the same as calling a local callback or listener, just declare which parameter is a callback type in Spring's configuration file, and Dubbo will generate a reverse proxy based on the long connection so that client logic can be called from the server.Can ref to <a href="https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback">Sample code in the dubbo project</a>.</p>
 <h2>Example of service interface</h2>
 <h3>CallbackService.java</h3>
@@ -103,7 +103,7 @@ callbackService.addListener(<span class="hljs-string">"http://10.20.160.198/wiki
 });
 </code></pre>
 <p><strong>NOTE</strong> <code>2.0.6+</code> version supported.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/concurrency-control.html b/en-us/docs/user/demos/concurrency-control.html
index f7a2a36..0c34fe9 100644
--- a/en-us/docs/user/demos/concurrency-control.html
+++ b/en-us/docs/user/demos/concurrency-control.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1177550417"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="495730175"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <h2>Example of configuration</h2>
 <ul>
 <li>Example 1: Control the concurrency of all method for a specified service interface at server-side</li>
@@ -58,7 +58,7 @@ Limit the <code>sayHello</code> method of <code>com.foo.BarService</code> to no
 <p>OR</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.foo.BarService"</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">"leastactive"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/config-connections.html b/en-us/docs/user/demos/config-connections.html
index 24f8614..8c50f32 100644
--- a/en-us/docs/user/demos/config-connections.html
+++ b/en-us/docs/user/demos/config-connections.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="35684386"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-235225151"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Control connections at server-side</h2>
 <p>Limit server-side accept to no more than 10 connections</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">"dubbo"</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">"10"</span> /&gt;</span>
@@ -32,7 +32,7 @@
 <ul>
 <li>: Because connection is connect on Server,so configure at Provider.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/config-rule.html b/en-us/docs/user/demos/config-rule.html
index 1dde63e..52e3545 100644
--- a/en-us/docs/user/demos/config-rule.html
+++ b/en-us/docs/user/demos/config-rule.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1651642437"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1033293975"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Write then dynamic configuration to the registry center,This feature is usually done by the monitoring center or the center's page.</p>
 <pre><code class="language-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
 Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">"zookeeper://10.20.153.10:2181"</span>));
@@ -53,7 +53,7 @@ registry.register(URL.valueOf(<span class="hljs-string">"override://0.0.0.0/com.
 </li>
 </ol>
 <p><strong>NOTE</strong>: <code>2.2.0+</code> version supported.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/context.html b/en-us/docs/user/demos/context.html
index 714dab2..0f2f868 100644
--- a/en-us/docs/user/demos/context.html
+++ b/en-us/docs/user/demos/context.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1823379196"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="19713691"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
 <p>All environment information of during the current call will put into the context,and all configuration information will convert the parameters of <code>URL</code> instance,Ref to the column of <strong>URL parameters</strong> at the <a href="../references/xml/introduction.md">schema configuration reference book</a></p>
 <p><code>RpcContext</code> is a temporary status recorder of <code>ThreadLocal</code>,when accept <code>RPC</code> request or send <code>RPC</code> request,The <code>RpcContext</code> will be  changed.Such as: <code>A</code> call <code>B</code> and <code>B</code> call <code>C</code>. On <code>B</code> machine,before <code>B</code> call <code>C</code>,the <code>RpcContext</code> will record the information of <code>A</code> call <code>B</code>.After <code>B</code> call <code>C</code>,the  [...]
 <h2>At service consumer</h2>
@@ -42,7 +42,7 @@ yyyService.yyy();
     }
 }
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/delay-publish.html b/en-us/docs/user/demos/delay-publish.html
index d3923de..2c5489f 100644
--- a/en-us/docs/user/demos/delay-publish.html
+++ b/en-us/docs/user/demos/delay-publish.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1684379281"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="720152846"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>If your service need time to warm up.such as:initialization cache,or another reference resources has to be <a href="http://ready.so">ready.so</a> you can use the delay feature for delay publish service.</p>
 <h2>Delay five second publish</h2>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">delay</span>=<span class="hljs-string">"5000"</span> /&gt;</span>
@@ -41,7 +41,7 @@
 <li>If you do not want to rely on the configuration order, you can use <code>&lt;dubbo:provider delay =&quot;-1&quot;/&gt;</code> to make Dubbo expose the service after the Spring container has been initialized.</li>
 <li>If you use getBean() extensively, the equivalent of degenerating Spring to factory mode is to isolate Dubbo's service from a separate Spring container.</li>
 </ol>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/distributed-transaction.html b/en-us/docs/user/demos/distributed-transaction.html
index 84320dc..4137544 100644
--- a/en-us/docs/user/demos/distributed-transaction.html
+++ b/en-us/docs/user/demos/distributed-transaction.html
@@ -12,11 +12,11 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="33011655"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1191769958"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Distributed transactions are based on the JTA / XA specification(this feature has not yet been implemented)</p>
 <p>Two-phase commit:</p>
 <p><img src="../sources/images/jta-xa.jpg" alt="/user-guide/images/jta-xa.jpg"></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/dump.html b/en-us/docs/user/demos/dump.html
index 6c2955e..d527be8 100644
--- a/en-us/docs/user/demos/dump.html
+++ b/en-us/docs/user/demos/dump.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1496977111"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1378602793"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>When the business thread pool is full, we need to know what resources/conditions are waiting for the thread , to find the bottleneck point of the system or abnormal point. <code>dubbo</code> automatically export thread stack through <code>Jstack</code> to keep the scene for easy to troubleshoot the problem.</p>
 <p>Default policy:</p>
 <ul>
@@ -27,7 +27,7 @@ dubbo.application.dump.directory=/tmp
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">"dump.directory"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"/tmp"</span> /&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:application</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/echo-service.html b/en-us/docs/user/demos/echo-service.html
index ac6a2bb..fb12078 100644
--- a/en-us/docs/user/demos/echo-service.html
+++ b/en-us/docs/user/demos/echo-service.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1807993821"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1746308158"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Echo testing is used for check the service is available,Echo testing is performed according to the normal request flow and is able to test whether the entire call is unobstructed and can be used for monitoring.</p>
 <p>All the services will be automatically implemented <code>EchoService</code> interface,just cast any service reference to <code>EchoService</code> to use it.</p>
 <p>Spring configuration:</p>
@@ -29,7 +29,7 @@ String status = echoService.$echo(<span class="hljs-string">"OK"</span>);
 
 <span class="hljs-keyword">assert</span>(status.equals(<span class="hljs-string">"OK"</span>));
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/events-notify.html b/en-us/docs/user/demos/events-notify.html
index 732e8fe..b497f08 100644
--- a/en-us/docs/user/demos/events-notify.html
+++ b/en-us/docs/user/demos/events-notify.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1134781477"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1734943878"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Before calling, after calling, when an exception occurs,will trigger <code>oninvoke</code>, <code>onreturn</code>, <code>onthrow</code> events.You can configure which method to notify when an event occurs.</p>
 <h2>Service Interface</h2>
 <pre><code class="language-java"><span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">IDemoService</span> </span>{
@@ -84,7 +84,7 @@ Assert.assertEquals(<span class="hljs-keyword">null</span>, ret);
 Assert.assertEquals(requestId, notify.ret.get(requestId).getId());
 </code></pre>
 <p><strong>NOTE</strong><code>2.0.7+</code> version,<code>async=false</code> is default.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/explicit-target.html b/en-us/docs/user/demos/explicit-target.html
index 49e06d4..d66d47f 100644
--- a/en-us/docs/user/demos/explicit-target.html
+++ b/en-us/docs/user/demos/explicit-target.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1068531269"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1122124316"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>In the development and testing environment, it is often necessary to bypass the registry and test only designated service providers. In this case, point-to-point direct connection may be required, and the service provider will ignore the list of provider registration providers. The interface A configure Point-to-point, does not affect the B interface to obtain a list from the registry.</p>
 <p><img src="../sources/images/dubbo-directly.jpg" alt="/user-guide/images/dubbo-directly.jpg"></p>
 <h2>Configure with XML</h2>
@@ -31,7 +31,7 @@
 <pre><code class="language-properties">com.alibaba.xxx.XxxService=dubbo://localhost:20890
 </code></pre>
 <p><strong>NOTE</strong> To avoid complicating the online environment, do not use this feature online and should only be used during the testing phase</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/fault-tolerent-strategy.html b/en-us/docs/user/demos/fault-tolerent-strategy.html
index e460aa0..8af7de8 100644
--- a/en-us/docs/user/demos/fault-tolerent-strategy.html
+++ b/en-us/docs/user/demos/fault-tolerent-strategy.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1639097321"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="242587007"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Dubbo offers a variety of fault-tolerant scenarios when a cluster call fails, with a default failover retry.</p>
 <p><img src="../sources/images/cluster.jpg" alt="cluster"></p>
 <p>The relationship between nodes:</p>
@@ -24,7 +24,7 @@
 <li><code>LoadBalance</code> is responsible for selecting a specific one from multiple<code>Invoker</code> for this call. The selection process includes the load balancing algorithm. If the call fails, it needs to be re-selected</li>
 </ul>
 <h2>Cluster fault-tolerant mode</h2>
-<p>You can expand the cluster fault tolerance strategy, see:<a href="http://dubbo.apache.org/books/dubbo-dev-book-en/impls/cluster.html">Cluster expansion</a></p>
+<p>You can also customize the cluster fault tolerance strategy, see <a href="../../dev/impls/cluster.md">Cluster extension</a> for more details.</p>
 <h2>Failover Cluster</h2>
 <p>Failure automatically switch, when there is failure, retry the other server (default). Usually used for read operations, but retries can result in longer delays. The times of retries can be set via <code>retries =2</code> (excluding the first time).</p>
 <p>The times of retries is configured as follows:</p>
@@ -55,7 +55,7 @@
 <p>OR</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">cluster</span>=<span class="hljs-string">"failsafe"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/fault-tolerent-strategy.json b/en-us/docs/user/demos/fault-tolerent-strategy.json
index 4c2d52f..62fc8d8 100644
--- a/en-us/docs/user/demos/fault-tolerent-strategy.json
+++ b/en-us/docs/user/demos/fault-tolerent-strategy.json
@@ -1,4 +1,4 @@
 {
   "filename": "fault-tolerent-strategy.md",
-  "__html": "<h1>Fault Tolerance Strategy</h1>\n<p>Dubbo offers a variety of fault-tolerant scenarios when a cluster call fails, with a default failover retry.</p>\n<p><img src=\"../sources/images/cluster.jpg\" alt=\"cluster\"></p>\n<p>The relationship between nodes:</p>\n<ul>\n<li>This <code>Invoker</code> is the callable Service's abstract of the<code>Provider</code>, and the <code>Invoker</code> packaging the<code>Provider</code>'s address and <code>Service</code>'s interface.</li>\n< [...]
+  "__html": "<h1>Fault Tolerance Strategy</h1>\n<p>Dubbo offers a variety of fault-tolerant scenarios when a cluster call fails, with a default failover retry.</p>\n<p><img src=\"../sources/images/cluster.jpg\" alt=\"cluster\"></p>\n<p>The relationship between nodes:</p>\n<ul>\n<li>This <code>Invoker</code> is the callable Service's abstract of the<code>Provider</code>, and the <code>Invoker</code> packaging the<code>Provider</code>'s address and <code>Service</code>'s interface.</li>\n< [...]
 }
\ No newline at end of file
diff --git a/en-us/docs/user/demos/generic-reference.html b/en-us/docs/user/demos/generic-reference.html
index 049cc82..d46e43e 100644
--- a/en-us/docs/user/demos/generic-reference.html
+++ b/en-us/docs/user/demos/generic-reference.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1324589920"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-177085697"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Generic invocation is mainly used when the client does not have API interface or model class,  all POJOs in parameters and return values are represented by <code>Map</code>.Commonly used for framework integration such as: implementing a common service testing framework, all service implementations can be invoked via <code>GenericService</code>.</p>
 <h2>Use generic invocation via Spring</h2>
 <p>Declared in the Spring configuration file <code>generic =&quot; true &quot;</code>:</p>
@@ -88,7 +88,7 @@ map.put(<span class="hljs-string">"class"</span>, <span class="hljs-string">"com
 map.put(<span class="hljs-string">"name"</span>, <span class="hljs-string">"xxx"</span>);
 map.put(<span class="hljs-string">"password"</span>, <span class="hljs-string">"yyy"</span>);
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/generic-service.html b/en-us/docs/user/demos/generic-service.html
index 5c39459..45fc728 100644
--- a/en-us/docs/user/demos/generic-service.html
+++ b/en-us/docs/user/demos/generic-service.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-873962083"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-748968644"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The implementation of the generic interface is mainly used when there is no API interface and model class on the server side. All POJOs in the parameters and return values are represented by the Map and are usually used for framework integration. For example, to implement a universal remote service Mock framework, handle all service requests by implementing the GenericService interface.</p>
 <p>In Java code, implement <code>GenericService</code> interface:</p>
 <pre><code class="language-java"><span class="hljs-keyword">package</span> com.foo;
@@ -46,7 +46,7 @@ service.setRef(xxxService);
 <span class="hljs-comment">// export service to registration center</span>
 service.export();
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/graceful-shutdown.html b/en-us/docs/user/demos/graceful-shutdown.html
index 4f8e622..66020a1 100644
--- a/en-us/docs/user/demos/graceful-shutdown.html
+++ b/en-us/docs/user/demos/graceful-shutdown.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1870420332"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="266574091"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Dubbo is graceful shutdown through the <code>ShutdownHook</code> of the JDK, so graceful shutdowns are not performed if you force shutdown the command, such as <code>kill -9 PID</code>, and will only be executed if <code>kill PID</code> is passed.</p>
 <h2>Howto</h2>
 <h3>Service provider</h3>
@@ -33,7 +33,7 @@ dubbo.service.shutdown.wait=15000
 <p>If ShutdownHook does not take effect, you can call it yourself, <strong>in tomcat, it is recommended by extending the ContextListener and call the following code for graceful shutdown</strong>:</p>
 <pre><code class="language-java">ProtocolConfig.destroyAll();
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/group-merger.html b/en-us/docs/user/demos/group-merger.html
index 4bb9008..a429427 100644
--- a/en-us/docs/user/demos/group-merger.html
+++ b/en-us/docs/user/demos/group-merger.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1046310820"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2071867397"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>According to the group to invoke server and return the merge result <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>, such as the menu service, the same interface, but there are a variety of implementations, using group distinction, consumers call each group and get the results, the merger can merge the resules, so that you can achieve aggregation Menu Item.</p>
 <p>Related code can refer to <a href="https://github.com/apache/incubator-dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge">dubbo project example</a></p>
 <h2>Configuration</h2>
@@ -51,7 +51,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/hostname-binding.html b/en-us/docs/user/demos/hostname-binding.html
index bcdafa9..147b20c 100644
--- a/en-us/docs/user/demos/hostname-binding.html
+++ b/en-us/docs/user/demos/hostname-binding.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="320335257"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1383060153"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <h2>Lookup order</h2>
 <p>Default host IP lookup order:</p>
 <ul>
@@ -91,7 +91,7 @@
 </code></pre>
 </li>
 </ol>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/index.html b/en-us/docs/user/demos/index.html
index 4ebc76d..1a49993 100644
--- a/en-us/docs/user/demos/index.html
+++ b/en-us/docs/user/demos/index.html
@@ -12,8 +12,8 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1643013027"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-57957566"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/introduction.html b/en-us/docs/user/demos/introduction.html
index 915bbe6..c7bc4cc 100644
--- a/en-us/docs/user/demos/introduction.html
+++ b/en-us/docs/user/demos/introduction.html
@@ -12,11 +12,11 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-883221185"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1804623070"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><img src="../sources/images/check.gif" alt="warning">To complete run, please see:<a href="quickstart.md">Quickstart</a>, here just lists the configuration of various scenarios
 <img src="../sources/images/check.gif" alt="warning">The following examples are all based on Spring configuration:<a href="../configuration/xml.md">Xml configuration</a> for reference, if you do not want to use Spring, but want to be use it via the directly API, please see:<a href="../configuration/api.md">API configuration</a></p>
 </blockquote>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/lazy-connect.html b/en-us/docs/user/demos/lazy-connect.html
index f2b4b5a..539e9a5 100644
--- a/en-us/docs/user/demos/lazy-connect.html
+++ b/en-us/docs/user/demos/lazy-connect.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1281003422"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="301911869"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Lazy connect can reduce the number of keep-alive connections. When a call is initiated, create a keep-alive connection.<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"dubbo"</span> <span class="hljs-attr">lazy</span>=<span class="hljs-string">"true"</span> /&gt;</span>
 </code></pre>
@@ -23,7 +23,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/loadbalance.html b/en-us/docs/user/demos/loadbalance.html
index bcaf4be..5932af6 100644
--- a/en-us/docs/user/demos/loadbalance.html
+++ b/en-us/docs/user/demos/loadbalance.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2106617256"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="130929143"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Dubbo offers a number of balancing strategies for cluster load balancing, which defaults to <code>random</code>.</p>
 <p>You can extend the load balancing strategy by yourself, see: <a href="../../dev/impls/load-balance.md">LoadBalance extension</a></p>
 <h2>LoadBalance strategy</h2>
@@ -57,7 +57,7 @@
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"..."</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">"roundrobin"</span>/&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/local-call.html b/en-us/docs/user/demos/local-call.html
index fd03203..45761a2 100644
--- a/en-us/docs/user/demos/local-call.html
+++ b/en-us/docs/user/demos/local-call.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1218964356"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2057098446"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>The local call uses the <code>injvm</code> protocol, a pseudo-protocol that does not turn on the port, does not initiate remote calls, is directly associated within the JVM, but executes the Dubbo Filter chain.</p>
 <h2>Configuration</h2>
 <p>Configure <code>injvm</code> protocol</p>
@@ -37,7 +37,7 @@
 <p><code>2.2.0</code> or later, each service is exposed locally by default. When referring to the service, the local service is referenced by default. If you want to reference a remote service, you can use the following configuration to force a reference to a remote service.</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">...</span> <span class="hljs-attr">scope</span>=<span class="hljs-string">"remote"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/local-mock.html b/en-us/docs/user/demos/local-mock.html
index 631bbae..38aaba3 100644
--- a/en-us/docs/user/demos/local-mock.html
+++ b/en-us/docs/user/demos/local-mock.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="575941032"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="372140359"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Local mock <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> is usually used for service downgrade, such as a verification service, the client does not throw an exception when the service provider hangs up all the time, but returns the authorization failed through the Mock data.</p>
 <p>Configured in the spring configuration file as follows:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.foo.BarService"</span> <span class="hljs-attr">mock</span>=<span class="hljs-string">"true"</span> /&gt;</span>
@@ -49,7 +49,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/local-stub.html b/en-us/docs/user/demos/local-stub.html
index 5caecdb..c86b58f 100644
--- a/en-us/docs/user/demos/local-stub.html
+++ b/en-us/docs/user/demos/local-stub.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-761782309"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2128781446"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>When using rpc, the client usually only the interface, but sometimes the client also want to perform part of the logic in the client. For example: do ThreadLocal cache, verify parameters, return mock data when call fails., etc.</p>
 <p>To solve this problem, you can configure the stub in the API, so that when the client generates the proxy instance, it passes the proxy to the <code>Stub</code> via the constructor <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>, and then you can implement your logic in the stub implementation code.</p>
 <p><img src="../sources/images/stub.jpg" alt="/user-guide/images/stub.jpg"></p>
@@ -52,7 +52,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/logger-strategy.html b/en-us/docs/user/demos/logger-strategy.html
index 4bd8a9c..cb07a79 100644
--- a/en-us/docs/user/demos/logger-strategy.html
+++ b/en-us/docs/user/demos/logger-strategy.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-444036798"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2049624289"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><code>2.2.1</code> or later, dubbo support log4j、slf4j、jcl、jdk adapters <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>, you can also explicitly configure the log output policy in the following ways:</p>
 <ol start="0">
 <li>
@@ -38,7 +38,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/multi-protocols.html b/en-us/docs/user/demos/multi-protocols.html
index 90c4df7..b71b0c0 100644
--- a/en-us/docs/user/demos/multi-protocols.html
+++ b/en-us/docs/user/demos/multi-protocols.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2052121919"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1720080992"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Dubbo allows you to configure multiple protocols, support different protocols on different services, or support multiple protocols on the same service.</p>
 <h2>Every service export to one specific protocol separately</h2>
 <p>Different protocol performance is not the same. Such as big data should use short connection protocol, small data and concurrent should use long connection protocol.</p>
@@ -47,7 +47,7 @@
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"helloService"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.alibaba.hello.api.HelloService"</span> <span class="hljs-attr">version</span>=<span class="hljs-string">"1.0.0"</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">"dubbo,hessian"</span> /&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/multi-registry.html b/en-us/docs/user/demos/multi-registry.html
index 40c7c4e..6dae276 100644
--- a/en-us/docs/user/demos/multi-registry.html
+++ b/en-us/docs/user/demos/multi-registry.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1499537231"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-798597394"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Dubbo supports the same service to register multiple registries, or different services were registered to different registries, or even reference the same name service from different registries. In addition, the registry supports custom extensions <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>。</p>
 <h2>One service register to multiple registries</h2>
 <p>For example: Alibaba some services are not deployed in Qingdao, only deployed in Hangzhou. While other applications in Qingdao need to reference this service, you can register your services to both registries at the same time.</p>
@@ -83,7 +83,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/multi-versions.html b/en-us/docs/user/demos/multi-versions.html
index 598192d..772b172 100644
--- a/en-us/docs/user/demos/multi-versions.html
+++ b/en-us/docs/user/demos/multi-versions.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="828597890"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-823613919"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>When an interface to achieve an incompatible upgrade, you can use the version number transition. Different versions of the services do not reference each other.</p>
 <p>You can follow the steps below for version migration:</p>
 <ol start="0">
@@ -42,7 +42,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/netty4.html b/en-us/docs/user/demos/netty4.html
index 947fd4d..afed6a2 100644
--- a/en-us/docs/user/demos/netty4.html
+++ b/en-us/docs/user/demos/netty4.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1259346937"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1500666776"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>provider:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"netty4"</span> /&gt;</span>
 </code></pre>
@@ -44,7 +44,7 @@
 <li>We will provide a reference data on the performance test indicators and performance test comparison with the version of netty 3.</li>
 </ol>
 </blockquote>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/parameter-validation.html b/en-us/docs/user/demos/parameter-validation.html
index 984417d..84c40e7 100644
--- a/en-us/docs/user/demos/parameter-validation.html
+++ b/en-us/docs/user/demos/parameter-validation.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1872668112"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1498454479"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The parameter validation <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> is based on [JSR303] (<a href="https://jcp.org/en/jsr/detail?id=303">https://jcp.org/en/jsr/detail?id=303</a>). The user simply add the validation annotation of the JSR303 and declares the filter for validation <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
 <h2>Maven Dependency</h2>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -174,7 +174,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/preflight-check.html b/en-us/docs/user/demos/preflight-check.html
index b3dfb6a..35bac3e 100644
--- a/en-us/docs/user/demos/preflight-check.html
+++ b/en-us/docs/user/demos/preflight-check.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-382860027"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="457917604"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>By default dubbo will check if the dependent service is available at startup . It will throw an exception to prevent Spring complete initialization when it is not available, so that you can find the problems early before publishing you application, the default setting: <code>check=true</code>.</p>
 <p>You can turn off checking by <code>check=false</code>. For example, some services do not care it when you run testing, or you must have one started firstly because of circular dependency.</p>
 <p>In addition, if your Spring bean is lazy-loaded or you delay reference service with API programming, turn off the check,
@@ -44,7 +44,7 @@ java -Ddubbo.registry.check = <span class="hljs-literal">false</span>
 <p><code>dubbo.reference.check=false</code>,  Change the check value of all references forcibly, even if the configuration has a declaration, it also will be overwritten.</p>
 <p><code>dubbo.consumer.check=false</code>  The default value of <code>check</code>.  It will not be affected if there is an explicit declaration in the configuration such as<code></code>&lt;dubbo: reference check =&quot; true &quot;/&gt;`.</p>
 <p><code>dubbo.registry.check=false</code>, The two configuration above is to express success of the subscription. If the subscription is also allowed to start when the registration fails for the provider list is empty, you need to use this configuration. The system will try again in the background regularly.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/reference-config-cache.html b/en-us/docs/user/demos/reference-config-cache.html
index a4e0663..6ccc717 100644
--- a/en-us/docs/user/demos/reference-config-cache.html
+++ b/en-us/docs/user/demos/reference-config-cache.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="187227339"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1007739783"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>The instance of <code>ReferenceConfig</code> is heavy. It encapsulates the connection to the registry and the connection to the provider, so it need to be cached. Otherwise, repeatedly generating <code>ReferenceConfig</code> may cause performance problems , memory and connection leaks. This problem is easy to ignored when programming in API mode.</p>
 <p>Therefore, since <code>2.4.0</code>, dubbo provides a simple utility ReferenceConfigCache for caching instances of <code>ReferenceConfig</code>.</p>
 <p>Use as follows:</p>
@@ -36,7 +36,7 @@ cache.destroy(reference);
 <pre><code class="language-java">KeyGenerator keyGenerator = <span class="hljs-keyword">new</span> ...
 ReferenceConfigCache cache = ReferenceConfigCache.getCache(keyGenerator );
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/registry-only.html b/en-us/docs/user/demos/registry-only.html
index 523ebda..f36de23 100644
--- a/en-us/docs/user/demos/registry-only.html
+++ b/en-us/docs/user/demos/registry-only.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-898193230"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1874007983"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>You have two mirroring environments, two registries.
 You have deployed one service at only one of the registries, another registries have not had time to deploy, and other applications at both registries need to rely on the service.
 At this time, the service provider registers service to another registrar, but the service consumers do not consume the service from another registrar.</p>
@@ -24,7 +24,7 @@ At this time, the service provider registers service to another registrar, but t
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"hzRegistry"</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"10.20.153.10:9090"</span> /&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"qdRegistry"</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"10.20.141.150:9090?subscribe=false"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/result-cache.html b/en-us/docs/user/demos/result-cache.html
index 9af2b6e..bb0cc75 100644
--- a/en-us/docs/user/demos/result-cache.html
+++ b/en-us/docs/user/demos/result-cache.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="112989854"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-349284803"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Cache Result <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> is used to speed up access to popular data. Dubbo provides declarative caching to reduce the user work of adding cache <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>。</p>
 <h2>Cache Type</h2>
 <ul>
@@ -38,7 +38,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/routing-rule.html b/en-us/docs/user/demos/routing-rule.html
index 5112fde..65f3f02 100644
--- a/en-us/docs/user/demos/routing-rule.html
+++ b/en-us/docs/user/demos/routing-rule.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1333404580"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1412391747"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The routing rules <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> determine the target server of one service call. It has two kinds of routing rules: conditional routing rules and script routing rules. It also support extension<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
 <h2>Write Routing Rules</h2>
 <p>Writing routing rules to the registry is usually done by the monitoring center or the console page.</p>
@@ -140,7 +140,7 @@ application != bops =&gt; host = 172.22.3.94,172.22.3.95,172.22.3.96
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/serialization.html b/en-us/docs/user/demos/serialization.html
new file mode 100644
index 0000000..da84d44
--- /dev/null
+++ b/en-us/docs/user/demos/serialization.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+	<meta name="keywords" content="serialization" />
+	<meta name="description" content="serialization" />
+	<!-- 网页标签标题 -->
+	<title>serialization</title>
+	<link rel="shortcut icon" href="/img/dubbo.ico"/>
+	<link rel="stylesheet" href="/build/documentation.css" />
+</head>
+<body>
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-259191927"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+<h2>Start Kryo and FST</h2>
+<p><font size=3>It is easy to use Kryo and FST. You only need to add an attribute in the XML configuration of Dubbo RPC:</font></p>
+<pre><code>&lt;dubbo:protocol name=&quot;dubbo&quot; serialization=&quot;kryo&quot;/&gt;
+</code></pre>
+<pre><code>&lt;dubbo:protocol name=&quot;dubbo&quot; serialization=&quot;fst&quot;/&gt;
+</code></pre>
+<h2>Register serialized class</h2>
+<p><font size=3>To make Kryo and FST have high-performance, it is better to register those classes that need serialization to the Dubbo system. For example, we can implement the following callback interface: </font></p>
+<pre><code>public class SerializationOptimizerImpl implements SerializationOptimizer {
+
+    public Collection&lt;Class&gt; getSerializableClasses() {
+        List&lt;Class&gt; classes = new LinkedList&lt;Class&gt;();
+        classes.add(BidRequest.class);
+        classes.add(BidResponse.class);
+        classes.add(Device.class);
+        classes.add(Geo.class);
+        classes.add(Impression.class);
+        classes.add(SeatBid.class);
+        return classes;
+    }
+}
+</code></pre>
+<p><font size=3>Then add in the XML configuration:</font></p>
+<pre><code>&lt;dubbo:protocol name=&quot;dubbo&quot; serialization=&quot;kryo&quot; optimizer=&quot;com.alibaba.dubbo.demo.SerializationOptimizerImpl&quot;/&gt;
+</code></pre>
+<p><font size=3>After registering these classes, serialization performance can be greatly improved, especially for small numbers of nested objects.</p>
+<p>Of course, when serializing a class, you might also cascade references to many classes, such as Java collection classes. In this case, we've automatically registered common classes in the JDK, so you don't need to register them repeatedly (and of course, it doesn't matter if you register them again), including:</font></p>
+<pre><code>GregorianCalendar
+InvocationHandler
+BigDecimal
+BigInteger
+Pattern
+BitSet
+URI
+UUID
+HashMap
+ArrayList
+LinkedList
+HashSet
+TreeSet
+Hashtable
+Date
+Calendar
+ConcurrentHashMap
+SimpleDateFormat
+Vector
+BitSet
+StringBuffer
+StringBuilder
+Object
+Object[]
+String[]
+byte[]
+char[]
+int[]
+float[]
+double[]
+</code></pre>
+<p><font size=3>Since registering serialized classes is only for performance optimization purposes, it doesn't matter if you forget to register some classes. In fact, Kryo and FST generally perform better than Hessian and Dubbo serializations even if no classes are registered.</font></p>
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
+	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
+	<script>
+		window.rootPath = '';
+  </script>
+  <script src="/build/documentation.js"></script>
+  <!-- Global site tag (gtag.js) - Google Analytics -->
+	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112489517-1"></script>
+	<script>
+		window.dataLayer = window.dataLayer || [];
+		function gtag(){dataLayer.push(arguments);}
+		gtag('js', new Date());
+
+		gtag('config', 'UA-112489517-1');
+	</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/en-us/docs/user/demos/serialization.json b/en-us/docs/user/demos/serialization.json
new file mode 100644
index 0000000..4ed3e7e
--- /dev/null
+++ b/en-us/docs/user/demos/serialization.json
@@ -0,0 +1,4 @@
+{
+  "filename": "serialization.md",
+  "__html": "<h2><font size=6>Using Efficient Java Serialization in Dubbo (Kryo and FST)</font></h2>\n<h2>Start Kryo and FST</h2>\n<p><font size=3>It is easy to use Kryo and FST. You only need to add an attribute in the XML configuration of Dubbo RPC:</font></p>\n<pre><code>&lt;dubbo:protocol name=&quot;dubbo&quot; serialization=&quot;kryo&quot;/&gt;\n</code></pre>\n<pre><code>&lt;dubbo:protocol name=&quot;dubbo&quot; serialization=&quot;fst&quot;/&gt;\n</code></pre>\n<h2>Register serial [...]
+}
\ No newline at end of file
diff --git a/en-us/docs/user/demos/service-container.html b/en-us/docs/user/demos/service-container.html
index 252a528..09728f9 100644
--- a/en-us/docs/user/demos/service-container.html
+++ b/en-us/docs/user/demos/service-container.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2016975568"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-843457937"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The service container is a standalone launcher because the backend service does not require the functionality of a Web container ,such as Tomcat or JBoss. If you insist on using web containers to load service providers, that increase complexity and is waste of resources.</p>
 <p>The service container is just a simple Main method and loads a simple Spring container to expose the service.</p>
 <p>The content of Service container can be extended, built-in spring, jetty, log4j etc..  This can be expanded with <a href="http://dubbo.apache.org/books/dubbo-dev-book-en/impls/container.html">Container Extension Points</a>. Configure it with the -D parameter in the java command or <code>dubbo.properties</code>.</p>
@@ -59,7 +59,7 @@ java com.alibaba.dubbo.container.Main
 <p>Load the container that passed in by <code>dubbo.properties</code> in the classpath.</p>
 <pre><code>dubbo.container=spring,jetty,log4j
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/service-downgrade.html b/en-us/docs/user/demos/service-downgrade.html
index 7bc7131..7c2e7f8 100644
--- a/en-us/docs/user/demos/service-downgrade.html
+++ b/en-us/docs/user/demos/service-downgrade.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-993647377"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-501390194"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>You can temporarilly shield a non-critical service through the service downgrade and define the return policy for it.</p>
 <p>Publish dynamic configuration rule to the registry:</p>
 <pre><code class="language-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
@@ -27,7 +27,7 @@ registry.register(URL.valueOf(<span class="hljs-string">"override://0.0.0.0/com.
 <p>Also you can change that configuration to <code>mock=fail:return+null</code>.Then you will get null value after a failed call.Consumer will try to make a remote call to get the truely result if succeed,and if the call failed you will get null value.Usually used to tolerate some non-critical services.</p>
 </li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/service-group.html b/en-us/docs/user/demos/service-group.html
index 4c2e164..fcb29b7 100644
--- a/en-us/docs/user/demos/service-group.html
+++ b/en-us/docs/user/demos/service-group.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1308259862"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="820955529"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>When you have multi-impls of a interface,you can distinguish them with the group.</p>
 <h2>Service</h2>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">group</span>=<span class="hljs-string">"feedback"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.xxx.IndexService"</span> /&gt;</span>
@@ -32,7 +32,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/static-service.html b/en-us/docs/user/demos/static-service.html
index 95993be..aa61855 100644
--- a/en-us/docs/user/demos/static-service.html
+++ b/en-us/docs/user/demos/static-service.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1323449119"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="554304655"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <ul>
 <li>Sometimes we want to manually manage the registration and deregistration for service provider, we need to set registry to non-dynamoic mode.</li>
 </ul>
@@ -27,7 +27,7 @@
 Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">"zookeeper://10.20.153.10:2181"</span>));
 registry.register(URL.valueOf(<span class="hljs-string">"memcached://10.20.153.11/com.foo.BarService?category=providers&amp;dynamic=false&amp;application=foo"</span>));
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/stickiness.html b/en-us/docs/user/demos/stickiness.html
index f9bcbae..0c8248c 100644
--- a/en-us/docs/user/demos/stickiness.html
+++ b/en-us/docs/user/demos/stickiness.html
@@ -12,12 +12,12 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="783106809"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-379420008"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Sticky connections are used for stateful services, as much as possible so that clients always make calls to the same provider, unless the provider hangs up and connects to the other one.</p>
 <p>Sticky connections will automatically open <a href="./lazy-connect.md">Delayed Connections</a> to reduce the number of long connections.</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"dubbo"</span> <span class="hljs-attr">sticky</span>=<span class="hljs-string">"true"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/subscribe-only.html b/en-us/docs/user/demos/subscribe-only.html
index 6ad9f4a..85c9b8b 100644
--- a/en-us/docs/user/demos/subscribe-only.html
+++ b/en-us/docs/user/demos/subscribe-only.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-726074950"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-727303832"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>To facilitate the development of tests, it is common to have a registry of all services available in develop environment.And the registration of a service provider under development may affect consumers' inability to run.</p>
 <p>You can let service provider developers only subscribe to services only (services developed may rely on other services) ,don't register services under development and testing services under development with directly connection.</p>
 <p><img src="../sources/images/subscribe-only.jpg" alt="/user-guide/images/subscribe-only.jpg"></p>
@@ -22,7 +22,7 @@
 <p>or</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"10.20.153.10:9090?register=false"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/thread-model.html b/en-us/docs/user/demos/thread-model.html
index a5c8eae..57333b7 100644
--- a/en-us/docs/user/demos/thread-model.html
+++ b/en-us/docs/user/demos/thread-model.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1418043854"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1665179089"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Thread Model</h2>
 <ul>
 <li>If events handing can be executed quickly without sending new request like marking in memory. Events should be handled by I/O thread since it reduces thread dispatching.</li>
@@ -37,7 +37,7 @@
 <li>cached: A cached thread pool. Automatically delete the thread when it’s in idle for one minute. Recreate when needed.</li>
 <li>limit: elastic thread pool. But it can only increase the size of the thread pool. The reason is to avoid performance issue caused by traffic spike when decrease the size of the thread pool.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/demos/token-authorization.html b/en-us/docs/user/demos/token-authorization.html
index 7fd3967..b50f3f5 100644
--- a/en-us/docs/user/demos/token-authorization.html
+++ b/en-us/docs/user/demos/token-authorization.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-843227379"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="350265004"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Through the token authorization control center at the registry to decide whether to issue tokens to consumers, you can prevent consumers from bypassing the registry access provider, another through the registry can flexibly change the authorization without modification or upgrade provider</p>
 <p><img src="../sources/images/dubbo-token.jpg" alt="/user-guide/images/dubbo-token.jpg"></p>
 <p>You can turn on token authentication globally:</p>
@@ -39,7 +39,7 @@
 <pre><code class="language-xml"><span class="hljs-comment">&lt;!--Fixed token, equivalent to the password--&gt;</span>
 <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"dubbo"</span> <span class="hljs-attr">token</span>=<span class="hljs-string">"123456"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/dependencies.html b/en-us/docs/user/dependencies.html
index 7d0e97c..fedd40b 100644
--- a/en-us/docs/user/dependencies.html
+++ b/en-us/docs/user/dependencies.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1529151342"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-445825252"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Necessary dependencies</h2>
 <p>JDK 1.6+ <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <h2>Default dependencies</h2>
@@ -74,7 +74,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/maturity.html b/en-us/docs/user/maturity.html
index 340ecf6..90efedf 100644
--- a/en-us/docs/user/maturity.html
+++ b/en-us/docs/user/maturity.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-121981464"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-307104377"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Function maturity</h2>
 <table>
 <thead>
@@ -563,7 +563,7 @@
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/perf-test.html b/en-us/docs/user/perf-test.html
index 3d1806c..000a18c 100644
--- a/en-us/docs/user/perf-test.html
+++ b/en-us/docs/user/perf-test.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="235993672"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-277530122"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Test instructions</h2>
 <ol start="0">
 <li>In this performance test, the performance of all Dubbo 2.0 supported protocols in different sizes and data types is tested and compared with the Dubbo 1.0.</li>
@@ -347,7 +347,7 @@ On the basis of the stability scenario, the providers and consumers are arranged
 <p>This performance test examines the performance of the Dubbo itself, and the performance of the actual use needs to be verified.</p>
 <p>Because the performance of Dubbo itself is in millisecond and the base number is small, performance improvement may not change the performance of the application as a whole.</p>
 <p>All the monitoring charts are not listed because of the limit of length.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/preface/architecture.html b/en-us/docs/user/preface/architecture.html
index 47993c7..0fb327f 100644
--- a/en-us/docs/user/preface/architecture.html
+++ b/en-us/docs/user/preface/architecture.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-785796852"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-788402005"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><img src="../sources/images/dubbo-architecture.jpg" alt="dubbo-architucture"></p>
 <h5>Specification of Node's Role</h5>
 <table>
@@ -118,7 +118,7 @@
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/preface/background.html b/en-us/docs/user/preface/background.html
index 20da549..5ad8211 100644
--- a/en-us/docs/user/preface/background.html
+++ b/en-us/docs/user/preface/background.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1632289084"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="721124963"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>With the fast development of Internet, the scale of web applications expands unceasingly, and finally we find that the traditional vertical architecture(monolithic) can not handle this any more. Distributed service architecture and the flow computing architecture are imperative, and a governance system is urgently needed to ensure an orderly evolution of the architecture.</p>
 <p><img src="../sources/images/dubbo-architecture-roadmap.jpg" alt="image"></p>
 <h4>Monolithic architecture</h4>
@@ -23,7 +23,7 @@
 <p>When there are more and more vertical applications, the interaction between applications is inevitable, some core businesses are extracted and served as independent services, which gradually forms a stable service center,this way the front-end application can respond to the changeable market demand more quickly. At this point, the distributed service framework (RPC) for business reuse and integration is the key.</p>
 <h4>Flow computing architecture</h4>
 <p>When there are more and more services, capacity evaluation becomes difficult, and also services with small scales often causes waste of resources. To solve these problems, a scheduling center should be added to manage the cluster capacity based on traffics and to improve the utilization of the cluster. At this time, the resource scheduling and governance centers (SOA), which are used to improve machine utilization, are the keys.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/preface/index.html b/en-us/docs/user/preface/index.html
index 07d8d77..229260e 100644
--- a/en-us/docs/user/preface/index.html
+++ b/en-us/docs/user/preface/index.html
@@ -12,8 +12,8 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1030579673"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="374187384"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/preface/requirements.html b/en-us/docs/user/preface/requirements.html
index 7d48bbf..9fae8e0 100644
--- a/en-us/docs/user/preface/requirements.html
+++ b/en-us/docs/user/preface/requirements.html
@@ -12,14 +12,14 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1514464073"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-770810794"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><img src="../sources/images/dubbo-service-governance.jpg" alt="image"></p>
 <p>Before the advent of large-scare services, an application might just exposes or references remote service by using RMI or Hessian, the call is done by configuring serive URL, and load balance is done through hardwares, like F5.</p>
 <p><strong>When there are more and more services, it becomes very difficult to configure the service URL, the single point pressure of F5 hardware load balancer is also increasing.</strong> At this point, a service registry is needed to dynamically register and discover services to make the service's location transparent. By obtaining the list of service provider addresses in the consumer side, the soft load balancing and Failover can be realized, this reduces the dependence on the F5 ha [...]
 <p><strong>When things go further, the service dependencies become so complex that it can't even tell which applications to start before, even the architect can't fully describe the application architecture relationships</strong>. At this time, automatically draw the dependency diagram of the applications is needed to help the architect to be clear of the relationship.</p>
 <p><strong>Then, the traffic becomes even heavier, the capacity problem of the service is exposed, how many machines are needed to support this service? When should the machine be added?</strong> To solve these problems, first, the daily service calls and the amount of response time should be counted as a reference for capacity planning. Second, dynamically adjust the weight, increase the weight of an online machine, and recorded the response time changes until it reaches the threshold,  [...]
 <p>Above are the most basic requirements of Dubbo.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/preface/usage.html b/en-us/docs/user/preface/usage.html
index 69608a3..375ff8f 100644
--- a/en-us/docs/user/preface/usage.html
+++ b/en-us/docs/user/preface/usage.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1270673143"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1066806949"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Spring configuration of local service</h2>
 <p>local.xml:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">“xxxService”</span> <span class="hljs-attr">class</span>=<span class="hljs-string">“com.xxx.XxxServiceImpl”</span> /&gt;</span>
@@ -40,7 +40,7 @@
     <span class="hljs-tag">&lt;<span class="hljs-name">property</span> <span class="hljs-attr">name</span>=<span class="hljs-string">“xxxService”</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">“xxxService”</span> /&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">bean</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/quick-start.html b/en-us/docs/user/quick-start.html
index 20a2746..76e1e3f 100644
--- a/en-us/docs/user/quick-start.html
+++ b/en-us/docs/user/quick-start.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-384268654"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-243874255"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The most common way to configure Dubbo is to use Spring.
 If you don't want to use the Spring configuration, you can try using <a href="./configuration/api.md">API configuration</a>.</p>
 <p>The following content will guide you to start dubbo using Spring configuration.</p>
@@ -213,7 +213,7 @@ log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy hh:mm:ss:sss z}] %t
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/recommend.html b/en-us/docs/user/recommend.html
index 2e2a35b..c7efb6c 100644
--- a/en-us/docs/user/recommend.html
+++ b/en-us/docs/user/recommend.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1985531591"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-500298123"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Configuring the attributes of the consumer side as much as possible on the provider side</h2>
 <p>the reason is:</p>
 <ul>
@@ -151,7 +151,7 @@ Configurated in  <code>dubbo:method</code>(method level configuration) , then th
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/api.html b/en-us/docs/user/references/api.html
index 6914e46..2b4765a 100644
--- a/en-us/docs/user/references/api.html
+++ b/en-us/docs/user/references/api.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1675312240"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1751647038"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Generally speaking, dubbo keeps its functionality no intrusive as much as possible, but for some particular features, there's no other way not only API can achieve. <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <p>These APIs are summarized here below:</p>
 <h2>Configuration API</h2>
@@ -57,7 +57,7 @@ com.alibaba.dubbo.rpc.service.GenericException
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/maven.html b/en-us/docs/user/references/maven.html
index dafc961..3045521 100644
--- a/en-us/docs/user/references/maven.html
+++ b/en-us/docs/user/references/maven.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="291279846"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1351537541"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <h2>Start a simple registry server</h2>
 <p>Start a simple registry server listening on port 9099 <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>:</p>
 <pre><code class="language-sh">mvn dubbo:registry -Dport=9099 
@@ -28,7 +28,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/dubbo.html b/en-us/docs/user/references/protocol/dubbo.html
index 58f1c34..fac5a34 100644
--- a/en-us/docs/user/references/protocol/dubbo.html
+++ b/en-us/docs/user/references/protocol/dubbo.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2095634953"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-499902025"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Dubbo protocol which is the default protocol of Dubbo RPC Framework uses a single long connection and NIO asynchronous communication,it is suitable for small data but with high concurrency RPC call and the number of consumer machine is much greater than provider</p>
 <p>On the other hand, the Dubbo protocol is not suitable for transmitting large amounts of data, such as file transmission, video transmission, etc., unless the request is very low.</p>
 <p><img src="../../sources/images/dubbo-protocol.jpg" alt="dubbo-protocol.jpg"></p>
@@ -110,7 +110,7 @@
 <p>or configure in <code>dubbo.properties</code>:</p>
 <pre><code>dubbo.service.protocol=dubbo
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/hessian.html b/en-us/docs/user/references/protocol/hessian.html
index a881328..e765d48 100644
--- a/en-us/docs/user/references/protocol/hessian.html
+++ b/en-us/docs/user/references/protocol/hessian.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="405493481"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-489711992"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Hessian protocol is used for integrate Hessian services, and it use http protocol to  communicate and expose services by servlet.Dubbo use Jetty server as default servlet container.</p>
 <p>Dubbo's Hessian protocol interoperates with native Hessian services:</p>
 <ul>
@@ -58,7 +58,7 @@
 <p>configure direct connect mode:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"helloService"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"HelloWorld"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"hessian://10.20.153.10:8080/helloWorld"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/http.html b/en-us/docs/user/references/protocol/http.html
index f474687..f5f1122 100644
--- a/en-us/docs/user/references/protocol/http.html
+++ b/en-us/docs/user/references/protocol/http.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="641191677"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1315959125"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Dubbo http protocol is base on HTTP form and Spring's HttpInvoker</p>
 <h2>Features</h2>
 <ul>
@@ -54,7 +54,7 @@
 <li>the port of protocol <code>&lt;dubbo:protocol port=&quot;8080&quot; /&gt;</code> must same as  servlet container's.</li>
 <li>the context path of protocol <code>&lt;dubbo:protocol contextpath=&quot;foo&quot; /&gt;</code> must same as servlet application's.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/introduction.html b/en-us/docs/user/references/protocol/introduction.html
index 4434963..dcf482c 100644
--- a/en-us/docs/user/references/protocol/introduction.html
+++ b/en-us/docs/user/references/protocol/introduction.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-399142091"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1844915500"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>Dubbo protocol is recommended. The performance of each protocol, see:<a href="../../perf-test.md">Performance</a></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/memcached.html b/en-us/docs/user/references/protocol/memcached.html
index 7af6d50..c234160 100644
--- a/en-us/docs/user/references/protocol/memcached.html
+++ b/en-us/docs/user/references/protocol/memcached.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-471965924"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1391304379"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>RPC protocol based on memcached implementation.</p>
 <h2>Register memcached service address</h2>
 <pre><code class="language-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
@@ -33,7 +33,7 @@ registry.register(URL.valueOf(<span class="hljs-string">"memcached://10.20.153.1
 <p>If the method name and the memcached standard method name are not the same, you need to configure the mapping</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"cache"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.foo.CacheService"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"memcached://10.20.153.10:11211"</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">"putFoo"</span> <span class="hljs-attr">p:get</spa [...]
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/redis.html b/en-us/docs/user/references/protocol/redis.html
index ad1e6b9..3264752 100644
--- a/en-us/docs/user/references/protocol/redis.html
+++ b/en-us/docs/user/references/protocol/redis.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1183471686"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1030330341"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>RPC protocol based on memcached implementation.</p>
 <h2>Register redis service address</h2>
 <pre><code class="language-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
@@ -33,7 +33,7 @@ registry.register(URL.valueOf(<span class="hljs-string">"redis://10.20.153.11/co
 <p>If the method name and the memcached standard method name are not the same, you need to configure the mapping</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"cache"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"com.foo.CacheService"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"memcached://10.20.153.10:11211"</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">"putFoo"</span> <span class="hljs-attr">p:get</spa [...]
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/rmi.html b/en-us/docs/user/references/protocol/rmi.html
index 76ce379..5e7ff85 100644
--- a/en-us/docs/user/references/protocol/rmi.html
+++ b/en-us/docs/user/references/protocol/rmi.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1389711035"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-453407142"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The RMI protocol uses the JDK standard <code>java.rmi.*</code> Implementation, using a block short connection and JDK standard serialization.</p>
 <h2>Features</h2>
 <ul>
@@ -66,7 +66,7 @@
 <p>Compatible with Spring:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rmi"</span> <span class="hljs-attr">codec</span>=<span class="hljs-string">"spring"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/thrift.html b/en-us/docs/user/references/protocol/thrift.html
index ae57047..9202b6f 100644
--- a/en-us/docs/user/references/protocol/thrift.html
+++ b/en-us/docs/user/references/protocol/thrift.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="178769250"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1855261968"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>The current dubbo support thrift protocol is an extension of the thrift native protocol, adding some additional header information to the native protocol, such as service name, magic number, and so on.</p>
 <p>The use of dubbo thrift protocol also need to use thrift idl compiler to generate the corresponding java code, follow-up version will do some enhancement in this aspect.</p>
 <h2>dependency</h2>
@@ -31,7 +31,7 @@
 <ul>
 <li>Thrift does not support null values, that is, you can not pass null values</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/protocol/webservice.html b/en-us/docs/user/references/protocol/webservice.html
index a44614d..ccbec6f 100644
--- a/en-us/docs/user/references/protocol/webservice.html
+++ b/en-us/docs/user/references/protocol/webservice.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1330246709"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1187892253"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 <p>WebService-based remote calling protocol,base on <a href="http://cxf.apache.org">Apache CXF</a>  <code>frontend-simple</code> and  <code>transports-http</code> implements。</p>
 <p>Interoperable with native WebService services:</p>
 <ul>
@@ -87,7 +87,7 @@
 <li>the port of protocol <code>&lt;dubbo:protocol port=&quot;8080&quot; /&gt;</code> must same as  servlet container's.</li>
 <li>the context path of protocol <code>&lt;dubbo:protocol contextpath=&quot;foo&quot; /&gt;</code> must same as servlet application's.</li>
 </ul>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/registry/introduction.html b/en-us/docs/user/references/registry/introduction.html
index 57f3f4e..5ef46f1 100644
--- a/en-us/docs/user/references/registry/introduction.html
+++ b/en-us/docs/user/references/registry/introduction.html
@@ -12,9 +12,9 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2147387747"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1960495362"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>It is recommended to use <a href="./zookeeper.md">zookeeper registry server</a></p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/registry/multicast.html b/en-us/docs/user/references/registry/multicast.html
index 60b858e..f8d2f2c 100644
--- a/en-us/docs/user/references/registry/multicast.html
+++ b/en-us/docs/user/references/registry/multicast.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-991878711"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-834051736"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Multicast registry doesn't require to setup any central node. Just like IP address broadcast, dubbo service providers and consumers can discover each other through this mechanism.</p>
 <p><img src="../../sources/images/multicast.jpg" alt="/user-guide/images/multicast.jpg"></p>
 <ol start="0">
@@ -36,7 +36,7 @@
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">"unicast"</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"false"</span> /&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:registry</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/registry/redis.html b/en-us/docs/user/references/registry/redis.html
index 58f7634..8ef3338 100644
--- a/en-us/docs/user/references/registry/redis.html
+++ b/en-us/docs/user/references/registry/redis.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-839129005"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-913561599"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>It is a registry server implementation <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> based on redis <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
 <p><img src="../../sources/images/dubbo-redis-registry.jpg" alt="/user-guide/images/dubbo-redis-registry.jpg"></p>
 <p>Use key/map structure in redis to save the registration info:</p>
@@ -75,7 +75,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/registry/simple.html b/en-us/docs/user/references/registry/simple.html
index 6e1e6c0..18a4653 100644
--- a/en-us/docs/user/references/registry/simple.html
+++ b/en-us/docs/user/references/registry/simple.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-535908260"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-9441285"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
 <p>Simple registry server itself is a regular dubbo service. In this way, third-party dependency is unnecessary, and communication keeps consistent at the same moment.</p>
 <h2>Configuration</h2>
 <p>Register simple registry server as dubbo service:</p>
@@ -45,7 +45,7 @@
 </code></pre>
 <h2>Applicability</h2>
 <p>This <code>SimpleRegistryService</code> is just a simple implementation for register server, and it doesn't have cluster support. It is useful for the implementation reference for the custom registery server, but not suitable for use in production environment directly.</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/registry/zookeeper.html b/en-us/docs/user/references/registry/zookeeper.html
index f24578f..f4acbeb 100644
--- a/en-us/docs/user/references/registry/zookeeper.html
+++ b/en-us/docs/user/references/registry/zookeeper.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="768572185"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1906621112"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><a href="http://zookeeper.apache.org">Zookeeper</a> is the child project of apache hadoop. Since it offers tree-like directory service and supports change notification, it's suitable to use it as dubbo's registry server. It's a field-proven product, therefore it's recommended to use it in the production environment. <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
 <p><img src="../../sources/images/zookeeper.jpg" alt="/user-guide/images/zookeeper.jpg"></p>
 <p>Description on registration procedure:</p>
@@ -109,7 +109,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/telnet.html b/en-us/docs/user/references/telnet.html
index ae9526d..41b1274 100644
--- a/en-us/docs/user/references/telnet.html
+++ b/en-us/docs/user/references/telnet.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-686048102"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1695022137"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p>Since <code>2.0.5</code> dubbo starts supporting to use telnet command to govern services.</p>
 <h2>How To Use</h2>
 <pre><code class="language-sh">telnet localhost 20880
@@ -94,7 +94,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-application.html b/en-us/docs/user/references/xml/dubbo-application.html
index 539ced2..4f31ceb 100644
--- a/en-us/docs/user/references/xml/dubbo-application.html
+++ b/en-us/docs/user/references/xml/dubbo-application.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2058648502"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1006386199"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -153,7 +153,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-argument.html b/en-us/docs/user/references/xml/dubbo-argument.html
index f427ca6..96f6d8f 100644
--- a/en-us/docs/user/references/xml/dubbo-argument.html
+++ b/en-us/docs/user/references/xml/dubbo-argument.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-116462463"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1830605777"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -107,7 +107,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-consumer.html b/en-us/docs/user/references/xml/dubbo-consumer.html
index 6a461b2..d37894b 100644
--- a/en-us/docs/user/references/xml/dubbo-consumer.html
+++ b/en-us/docs/user/references/xml/dubbo-consumer.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2130449054"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2110369219"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -253,7 +253,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-method.html b/en-us/docs/user/references/xml/dubbo-method.html
index 5fd437b..3abfdce 100644
--- a/en-us/docs/user/references/xml/dubbo-method.html
+++ b/en-us/docs/user/references/xml/dubbo-method.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-956690146"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-998223683"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -238,7 +238,7 @@ table tr:hover {
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"findXxx"</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">"3000"</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">"2"</span> /&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-module.html b/en-us/docs/user/references/xml/dubbo-module.html
index 01c4ca6..383b2b6 100644
--- a/en-us/docs/user/references/xml/dubbo-module.html
+++ b/en-us/docs/user/references/xml/dubbo-module.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="503919012"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1160482493"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -113,7 +113,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-monitor.html b/en-us/docs/user/references/xml/dubbo-monitor.html
index 6af34d2..0be61c9 100644
--- a/en-us/docs/user/references/xml/dubbo-monitor.html
+++ b/en-us/docs/user/references/xml/dubbo-monitor.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-299128059"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1729434972"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -93,7 +93,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-parameter.html b/en-us/docs/user/references/xml/dubbo-parameter.html
index 85abb54..27981e1 100644
--- a/en-us/docs/user/references/xml/dubbo-parameter.html
+++ b/en-us/docs/user/references/xml/dubbo-parameter.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2040594499"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-863158421"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -101,7 +101,7 @@ table tr:hover {
 <p>you can also use it like this:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"jms"</span> <span class="hljs-attr">p:queue</span>=<span class="hljs-string">"xxx"</span> /&gt;</span>
 </code></pre>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-protocol.html b/en-us/docs/user/references/xml/dubbo-protocol.html
index fde0598..0e23415 100644
--- a/en-us/docs/user/references/xml/dubbo-protocol.html
+++ b/en-us/docs/user/references/xml/dubbo-protocol.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-865599131"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-90095356"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -313,7 +313,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-provider.html b/en-us/docs/user/references/xml/dubbo-provider.html
index 7493b75..81da3d6 100644
--- a/en-us/docs/user/references/xml/dubbo-provider.html
+++ b/en-us/docs/user/references/xml/dubbo-provider.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="224510062"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1614348316"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -513,7 +513,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-reference.html b/en-us/docs/user/references/xml/dubbo-reference.html
index 024e8e4..87e6e69 100644
--- a/en-us/docs/user/references/xml/dubbo-reference.html
+++ b/en-us/docs/user/references/xml/dubbo-reference.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1257247512"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1762700617"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -343,7 +343,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-registry.html b/en-us/docs/user/references/xml/dubbo-registry.html
index 0a3a1fe..988ebee 100644
--- a/en-us/docs/user/references/xml/dubbo-registry.html
+++ b/en-us/docs/user/references/xml/dubbo-registry.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-602433266"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="609802413"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -213,7 +213,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/dubbo-service.html b/en-us/docs/user/references/xml/dubbo-service.html
index 310e1d4..7cd86ec 100644
--- a/en-us/docs/user/references/xml/dubbo-service.html
+++ b/en-us/docs/user/references/xml/dubbo-service.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="658500348"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="295119530"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 table {
   width: 100%;
   max-width: 65em;
@@ -373,7 +373,7 @@ table tr:hover {
 </tr>
 </tbody>
 </table>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/references/xml/introduction.html b/en-us/docs/user/references/xml/introduction.html
index cebc7f2..0309f47 100644
--- a/en-us/docs/user/references/xml/introduction.html
+++ b/en-us/docs/user/references/xml/introduction.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1596035604"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="482791859"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>The following pages show all the configuration properties <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> with XML Config <sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> as an example.  For other configurations, please reference: <a href="../../configuration/properties.md">Properties Configuration</a>, <a href="../../configuration/annotation.md">Annotation Configuration</a>, <a href="../../configuration/api.md">API Configuration</a>.</p>
 <p>All configuration properties fall into three categories, see the &quot;Function&quot; in the table below.</p>
 <ul>
@@ -32,7 +32,7 @@
 </li>
 </ol>
 </section>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/rest.html b/en-us/docs/user/rest.html
index 678eaca..1280f8a 100644
--- a/en-us/docs/user/rest.html
+++ b/en-us/docs/user/rest.html
@@ -12,11 +12,957 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="142501961"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
-Part 2
-Part 3
-Part 4</p>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2141124944"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+<p><strong>Original author: Li Shen</strong></p>
+<p><strong>Document copyright: <a href="HTTP://www.apache.org/licenses/LICENSE-2.0">Apache 2.0license Signature - No interpretation</a></strong></p>
+<p>Working in progress ...</p>
+<blockquote>
+<p>This article is lengthy since REST involves many aspects. Besides, it refers to the document style of Spring and so on. Not only limited to usage of the framework but also strives to present the design concept of the framework and the architectural idea of an excellent application.</p>
+</blockquote>
+<blockquote>
+<p>For people who only want to get a glimpse of Dubbo and REST, all they need is to browse through the <code>Overview</code> to <code>Introduction to Standard Java REST API: JAX-RS</code>.</p>
+</blockquote>
+<p>TODO: Generate a clickable directory</p>
+<h2>CONTENT</h2>
+<ul>
+<li>Overview</li>
+<li>Advantages of REST</li>
+<li>Application Scenarios</li>
+<li>Quick Start</li>
+<li>Introduction to Standard Java REST API: JAX-RS</li>
+<li>Details of REST Service Provider
+<ul>
+<li>Implementation of HTTP POST/GET</li>
+<li>Should Annotation be Placed in the Interface or Implementation</li>
+<li>Support for Multiple Data Formats (JSON, XML, etc.)</li>
+<li>Support for Chinese Characters</li>
+<li>Additional Requirements for XML Format</li>
+<li>Custom Serialization</li>
+<li>Configure the Implementation of REST Server</li>
+<li>Access Context Data</li>
+<li>Configure the Port Number and Context Path</li>
+<li>Configure Number of Threads and IO Threads</li>
+<li>Configure Persistent Connection</li>
+<li>Configure Maximum Number of HTTP Connections</li>
+<li>Configure Timeout and HTTP Connections Per Consumer</li>
+<li>Gzip Data Compression</li>
+<li>Replace Part of Spring XML Configuration With Annotation</li>
+<li>Add Custom Filter, Interceptor, etc.</li>
+<li>Add Custom Exception Handler</li>
+<li>Configure HTTP Log Output</li>
+<li>Verification of Input Parameters</li>
+<li>Should REST Services be Published Transparently</li>
+</ul>
+</li>
+<li>Details of REST Service Consumer
+<ul>
+<li>Scenario 1: Non-Dubbo Consumer Calls Dubbo REST Service</li>
+<li>Scenario 2: Dubbo Consumer Calls Dubbo REST Service</li>
+<li>Scenario 3: Dubbo Consumer Calls Non-Dubbo REST Service</li>
+</ul>
+</li>
+<li>JAX-RS Restrictions in Dubbo</li>
+<li>REST FAQ
+<ul>
+<li>Can Dubbo REST Services be Integrated With Dubbo Registration Center and Monitoring Center?</li>
+<li>How to Implement Load Balancing and Failover in Dubbo REST?</li>
+<li>Can Overloaded Methods in JAX-RS Map to Single URL?</li>
+<li>Can a Method in JAX-RS Receive Multiple Parameters Via POST?</li>
+</ul>
+</li>
+<li>Possible shortcomings of Current Dubbo System (Related to REST)
+<ul>
+<li>Invasiveness of Rpc Context</li>
+<li>Limitations of Protocol Configuration</li>
+<li>XML Naming Does Not Conform to the Convention of Spring</li>
+</ul>
+</li>
+<li>REST Best Practices</li>
+<li>Performance Benchmark
+<ul>
+<li>Test Environment</li>
+<li>Test Script</li>
+<li>Test Result</li>
+</ul>
+</li>
+<li>Extended Discussion
+<ul>
+<li>Comparison of REST, Thrift, Protobuf, etc.</li>
+<li>Comparison Between REST and Traditional Web Services</li>
+<li>Comparison Between JAX-RS and Spring MVC</li>
+</ul>
+</li>
+<li>Future</li>
+</ul>
+<h2>Overview</h2>
+<p>Dubbo supports a variety of remote calling methods, such as Dubbo RPC (Binary Serialization + TCP), HTTP Invoker (Binary Serialization + HTTP, at least there is no support for Text Serialization in the open source version), Hessian (Binary Serialization + HTTP), Web Services (Text Serialization + HTTP), etc., but lacks support for trending RESTful Remote Calls (Text Serialization + HTTP).</p>
+<p>Therefore, based on the standard Java REST API: JAX-RS 2.0 (Abbreviation of Java API for RESTful Web Services), we provide a mostly transparent REST Call support for Dubbo. Since it is fully compatible with the Standard Java API, all REST services developed for Dubbo may normally work without Dubbo or any specific underlying REST implementation.</p>
+<p>It is particularly worth noting that we do not need to strictly adhere to the original definition and architectural style of REST. Even the famous Twitter REST API will make modest adjustments according to the situations, rather than mechanically follow the original REST style.</p>
+<blockquote>
+<p>Note: We call this feature RESTful Remoting (abstracted remote process or call) rather than a RESTful RPC (specific remote &quot;procedure&quot; call) because REST and RPC can be thought of two different styles. In Dubbo's REST implementation, there are two aspects, one is to provide or consume regular REST services, the other is to make REST a protocol implementation in the Dubbo RPC system, and RESTful Remoting covers both aspects.</p>
+</blockquote>
+<h2>Advantages of REST</h2>
+<p>The following is quoted from Wikipedia:</p>
+<ul>
+<li>REST can use cache to improve response speed more efficiently.</li>
+<li>The stateless nature of the communication allows a set of servers to handle different requests in series, resulting in the increment of server scalability.</li>
+<li>Browser can be used as a client to simplify software requirements.</li>
+<li>REST software dependency is smaller than other mechanisms superimposed on HTTP.</li>
+<li>REST does not require additional resource discovery mechanism.</li>
+<li>REST's long-term compatibility is better in software technology evolution.</li>
+</ul>
+<p>Here I also want to add a particular advantage of REST: REST bases on simple text format messages and universal HTTP. Therefore, it has a broad applicability and is supported by almost all languages and platforms, together with a lower threshold in using and learning.</p>
+<h2>Application scenarios</h2>
+<p>Because of the advantages of REST in applicability, supporting REST in Dubbo can bring (significant) benefits to most of current mainstream remoting call scenarios:</p>
+<ol>
+<li>
+<p>Significantly simplify (cross-language) calls between heterogeneous systems within the enterprise. This is mainly for the following scene: Dubbo acts as a service provider, and systems that are written by other languages (including some java systems that do not base on Dubbo) works as service consumers. The two systems communicate through HTTP and text messages. REST has its unique advantages even comparing to binary cross-language RPC frameworks such as Thrift and ProtoBuf. (See disc [...]
+</li>
+<li>
+<p>Significantly simplify the development of the external Open API (Open Platform). You can use Dubbo to develop a specific Open API application, or you can directly publish the internal Dubbo service as a &quot;transparent&quot; REST API (Of course, it's better for Dubbo itself to provide more features transparently, for example, permission control, frequency control, billing and so on).</p>
+</li>
+<li>
+<p>Significantly simplify the development of mobile (tablet) apps or desktop clients. Similar to point 2, you can use Dubbo to develop a specialized server for the applications, or transparently expose the internal Dubbo service. Of course in some projects, mobile or desktop applications can directly access the Open API described in point 2.</p>
+</li>
+<li>
+<p>Significantly simplify the development of AJAX applications on the browser. Similar to point 2, you can use Dubbo to develop a specialized server for AJAX, or transparently expose the internal Dubbo service directly to JavaScript in the browser. Of course, many AJAX applications work better with web frameworks, so direct access to the Dubbo service may not be an exquisite architecture in many web projects.</p>
+</li>
+<li>
+<p>Provide a text-based, easy-to-read remote call method for Dubbo systems within the enterprise (that is, both the service provider and the consumer are Dubbo-based systems).</p>
+</li>
+<li>
+<p>Simplify the call from the Dubbo system to other heterogeneous systems. You can use a simple way like Dubbo to &quot;transparently&quot; call REST services provided by Non-Dubbo systems (regardless of whether the service provider is inside or outside the enterprise)</p>
+</li>
+</ol>
+<p>It should be pointed out that I think that 1~3 are the most valuable application scenarios for Dubbo's REST call. And the main purpose why we add REST calls for Dubbo is to provide a service-oriented provider. In other words, to develop REST services for Non-Dubbo (heterogeneous) consumers.</p>
+<p>To sum up, all application scenarios are shown below:
+<img src="images/rest.jpg" alt="no image found"></p>
+<p>Borrowing the most famous slogan of Java in the past, by adding REST calls to Dubbo, you can implement the &quot;Write once, access everywhere&quot; service, which can theoretically be accessed all over the world, thus truly achieving an idealized Service-oriented Architecture (SOA).</p>
+<p>Of course, traditional Web Services (WSDL/SOAP) can meet the requirements (even those that require enterprise-level features) of the above scenarios (except for scenario 4). But due to the complexity and other issues, they are less and less used.</p>
+<h2>Quick Start</h2>
+<p>Developing a RESTful service in Dubbo is relatively straightforward. Let's take a simple user registration service for example.</p>
+<p>The function to be implemented by this service is to provide the following URL (Note: This URL is not entirely RESTful, but more straightforward and more practical):</p>
+<pre><code>http://localhost:8080/users/register
+</code></pre>
+<p>Any client can POST a JSON string containing the user's information to the above URL to complete the user registration.</p>
+<p>First, implement the interface of the service:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserService</span> </span>{    
+   <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span></span>;
+}
+</code></pre>
+<p>Then, implement the service:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">UserService</span> </span>{
+       
+    <span class="hljs-meta">@POST</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"register"</span>)
+    <span class="hljs-meta">@Consumes</span>({MediaType.APPLICATION_JSON})
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span> </span>{
+        <span class="hljs-comment">// save the user...</span>
+    }
+}
+</code></pre>
+<p>The above implementation code for the service is very simple, but since the REST service is to be published to a specific HTTP URL so they can be accessed by clients written by any language or even a browser, there are a few additional JAX-RS standard annotations to be added for the relevant configuration:</p>
+<p>@Path(&quot;users&quot;): Specify that the relative path for <code>UserService</code> is <code>/users</code>, standing for <a href="http://localhost:8080/users">http://localhost:8080/users</a></p>
+<p>@Path(&quot;register&quot;): Specify that the relative path for <code>registerUser()</code> is <code>/register</code>. Combining the previous @Path specified for <code>UserService</code>, the URL to call <code>UserService.register()</code> is <a href="HTTP://localhost:8080/users/register">HTTP://localhost:8080/users/register</a></p>
+<p>@POST: Specify that <code>registerUser()</code> should be accessed with HTTP POST method</p>
+<p>@Consumes({MediaType.APPLICATION_JSON}): Specify that <code>registerUser()</code> receives data in JSON format. The REST framework will automatically deserialize JSON data into a User object.</p>
+<p>Finally, add this service to the spring configuration file and finish all service development work:</p>
+<pre><code class="language-xml"><span class="hljs-comment">&lt;!-- Exposure service on port 8080 with rest protocol --&gt;</span>
+<span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8080"</span>/&gt;</span>
+
+<span class="hljs-comment">&lt;!-- Declare the service interface that needs to be exposed --&gt;</span>
+<span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx.UserService"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"userService"</span>/&gt;</span>
+
+<span class="hljs-comment">&lt;!-- Implement the service like the local bean --&gt;</span>
+<span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"userService"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"xxx.UserServiceImpl"</span> /&gt;</span>
+</code></pre>
+<h2>Introduction to Standard Java REST API: JAX-RS</h2>
+<p>JAX-RS is a standard Java REST API that has been widely supported and applied in the industry. There are many well-known open source implementations, including Oracle's Jersey, RedHat's RestEasy, Apache's CXF and Wink, restlet, etc. In addition, all commercial JavaEE application servers that support the JavaEE 6.0 specifications or above support JAX-RS. Therefore, JAX-RS is a very mature solution, and it does not have any so-called vendor lock-in problems.</p>
+<p>JAX-RS has a wealth of information on the web, such as the following introductory tutorial:</p>
+<ul>
+<li>Oracle official tutorial: <a href="http://docs.oracle.com/javaee/7/tutorial/doc/jaxrs.htm">http://docs.oracle.com/javaee/7/tutorial/doc/jaxrs.htm</a></li>
+<li>Article on IBM developerWorks China: <a href="http://www.ibm.com/developerworks/cn/java/j-lo-jaxrs/">http://www.ibm.com/developerworks/cn/java/j-lo-jaxrs/</a></li>
+</ul>
+<p>For more information, please feel free to Google or Baidu. As far as learning JAX-RS is concerned, it is generally enough to master the usage of various annotations.</p>
+<blockquote>
+<p>Note: Dubbo is based on the JAX-RS 2.0, and sometimes you need to pay attention to the version of the reference material or REST implementation.</p>
+</blockquote>
+<h2>REST Service Provider Details</h2>
+<p>In this section, we will expand the <code>UserService</code> in the &quot;Quick Start&quot; to further demonstrate the development points of the REST service provider in Dubbo.</p>
+<h3>Implementation of HTTP POST/GET</h3>
+<p>Although it's recommended to use the four standard methods (POST, DELETE, PUT and GET) in the HTTP protocol to implement common CRUD in REST services, but in practice, we generally use POST to implement create and update, and use GET to implement delete and read (DELETE and PUT will even be blocked by some firewalls).</p>
+<p>The implementation of POST has already been briefly demonstrated. Here, we will add a function to get the registered user data to <code>UserService</code>, in order to demonstrate the implementation of GET.</p>
+<p>This function is to enable the client to obtain user data of different IDs by accessing different URLs as follows:</p>
+<pre><code>http://localhost:8080/users/1001
+http://localhost:8080/users/1002
+http://localhost:8080/users/1003
+</code></pre>
+<p>Of course, you can use other forms of URLs to access user data of different IDs, for example:</p>
+<pre><code>http://localhost:8080/users/load?id=1001
+</code></pre>
+<p>JAX-RS itself can support all of these forms. However, the first form of including query parameters in the URL path (<a href="http://localhost:8080/users/1001">http://localhost:8080/users/1001</a>) is more in line with the general habit of REST, so it is recommended to use. Below we will add a <code>getUser()</code> method to the <code>UserService</code> to implement this form of URL access:</p>
+<pre><code class="language-java"><span class="hljs-meta">@GET</span>
+<span class="hljs-meta">@Path</span>(<span class="hljs-string">"{id : \\d+}"</span>)
+<span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON})
+<span class="hljs-function"><span class="hljs-keyword">public</span> User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id) </span>{
+    <span class="hljs-comment">// ...</span>
+}
+</code></pre>
+<p>@GET: Specify that the method shoule be accessed with HTTP GET method</p>
+<p>@Path(&quot;{id : \d+}&quot;): According to the above functional requirements, the URL to access <code>getUser()</code> should be &quot;<a href="http://localhost:8080/users/">http://localhost:8080/users/</a> + any number&quot;, and this number should passed to <code>getUser()</code> method as parameter passed to the getUser() method. In the annotation here, the {id: xxx} in @Path specifies that the relative path contains the id parameter, and its value will be automatically passed to  [...]
+<p>@Produces({MediaType.APPLICATION_JSON}): Specify that <code>getUser()</code> outputs data in JSON format. The REST framework automatically serializes the User object into JSON data.</p>
+<h3>Is annotation put in interface class or implementation class?</h3>
+<p>The development of REST services based on Dubbo is mainly configured through JAX-RS annotations. In the above example, we put the annotation in the implementation class of the service. But in fact, we can completely put the annotation in the interface of the service. These two methods are completely equivalent, for example:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">UserService</span> </span>{
+    
+    <span class="hljs-meta">@GET</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"{id : \\d+}"</span>)
+    <span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON})
+    <span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+}
+</code></pre>
+<p>In a typical application, we recommend put the annotation in the service implementation class. Then, annotations are closer to Java implementation code and easier to develop and maintain. More importantly, we generally tend to avoid contamination of the interface, maintaining the purity and wide applicability of the interface.</p>
+<p>However, as will be described later, if we access this service by using the consumer directly developed by Dubbo, the annotation must be put in the interface.</p>
+<p>If the interface and the implementation class are both added annotation at the same time, the implementation configuration of the implementation class will take effect, and the annotation on the interface will be ignored.</p>
+<h3>Support for JSON, XML and other data formats</h3>
+<p>The dubbo REST services can support the transmission of data in multiple formats to provide maximum flexibility to the client. And we add extra functions to the JSON and XML formats which is most commonly used.</p>
+<p>For example, we want the <code>getUser()</code> method in the above example support returning JSON and XML format data separately, just need to include two formats in the annotation:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
+<span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+</code></pre>
+<p>Or you can directly represent a MediaType with a string (also supports wildcards):</p>
+<pre><code class="language-java"><span class="hljs-meta">@Produces</span>({<span class="hljs-string">"application/json"</span>, <span class="hljs-string">"text/xml"</span>})
+<span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+</code></pre>
+<p>If all methods support the same type of input and output data format, then we do not need to make configure on each method, just add annotation to the service class:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-meta">@Consumes</span>({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
+<span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">UserService</span> </span>{
+    <span class="hljs-comment">// ...</span>
+}
+</code></pre>
+<p>In the case where a REST service supports multiple data formats, according to the JAX-RS standard, the MIME header (content-type and accept) in HTTP is generally used to specify which format data is currently used.</p>
+<p>But in dubbo, we also automatically support the current common use of the industry, that is, use a URL suffix (.json and .xml) to specify the data format you want to use. For example, after adding the above annotation, directly accessing <code>http://localhost:8888/users/1001.json</code> means using the json format, and directly accessing <code>http://localhost:8888/users/1002.xml</code> means using the xml format. It's simpler and more intuitive than using HTTP Header. This way is us [...]
+<p>If you don't add HTTP header or suffix, the REST of dubbo will give priority to enable the top ranked data format in the above definition of annotation.</p>
+<blockquote>
+<p>Note: To support XML format data, you can use either <code>MediaType.TEXT_XML</code> or <code>MediaType.APPLICATION_XML</code> in annotation, but TEXT_XML is more commonly used, and if you want to use the above URL suffix to specify the data format, you can only configure it as TEXT_XML to take effect.</p>
+</blockquote>
+<h3>Chinese character support</h3>
+<p>In order to output Chinese characters normally in dubbo REST, as with the usual Java web applications, we need to set the contentType of the HTTP response to UTF-8 encoding.</p>
+<p>Based on the standard usage of JAX-RS, we only need to do the following annotation configuration:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Produces</span>({<span class="hljs-string">"application/json; charset=UTF-8"</span>, <span class="hljs-string">"text/xml; charset=UTF-8"</span>})
+<span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+</code></pre>
+<p>For the convenience of users, we add a support class directly in dubbo REST to define the above constants, which can be used directly and reduce the possibility of error.</p>
+<pre><code class="language-java"><span class="hljs-meta">@Produces</span>({ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
+<span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+</code></pre>
+<h3>Additional requirements for XML data format</h3>
+<p>Because the implementation of JAX-RS generally use standard JAXB (Java API for XML Binding) to serialize and deserialize XML format data, we need to add a class-level JAXB annotation for each object to be transferred in XML. Otherwise serialization will report an error. For example, add follows to the User returned in <code>getUser()</code> :</p>
+<pre><code class="language-java"><span class="hljs-meta">@XmlRootElement</span>
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
+    <span class="hljs-comment">// ...</span>
+}
+</code></pre>
+<p>In addition, if the return value in the service method is Java primitive type (such as int, long, float, double, etc.), it is best to add a wrapper object to them, because JAXB can not directly serialize the primitive type.</p>
+<p>For example, we want the above <code>registerUser()</code> method to return the ID number generated by the server for the user:</p>
+<pre><code class="language-java"><span class="hljs-function"><span class="hljs-keyword">long</span> <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span></span>;
+</code></pre>
+<p>Because the primitive type is not supported by JAXB serialization, add a wrapper object:</p>
+<pre><code class="language-java"><span class="hljs-meta">@XmlRootElement</span>
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">RegistrationResult</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
+
+    <span class="hljs-keyword">private</span> Long id;
+    
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">RegistrationResult</span><span class="hljs-params">()</span> </span>{
+    }
+    
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">RegistrationResult</span><span class="hljs-params">(Long id)</span> </span>{
+        <span class="hljs-keyword">this</span>.id = id;
+    }
+    
+    <span class="hljs-function"><span class="hljs-keyword">public</span> Long <span class="hljs-title">getId</span><span class="hljs-params">()</span> </span>{
+        <span class="hljs-keyword">return</span> id;
+    }
+    
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setId</span><span class="hljs-params">(Long id)</span> </span>{
+        <span class="hljs-keyword">this</span>.id = id;
+    }
+}
+</code></pre>
+<p>And modify the service method:</p>
+<pre><code class="language-java"><span class="hljs-function">RegistrationResult <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span></span>;
+</code></pre>
+<p>This not only solves the problem of XML serialization, but also makes the returned data conform to the specifications of XML and JSON. For example, in JSON, the returned form would be as follows:</p>
+<pre><code class="language-javascript">{<span class="hljs-string">"id"</span>: <span class="hljs-number">1001</span>}
+</code></pre>
+<p>If you do not add a wrapper, the JSON return value will be directly</p>
+<pre><code>1001 	
+</code></pre>
+<p>In XML, the return value after adding wrapper will be:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">registrationResult</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>1002<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">registrationResult</span>&gt;</span>
+</code></pre>
+<p>This wrapper object actually uses the so-called Data Transfer Object (DTO) mode, and DTO can also make more useful customizations for transferring data.
+While in XML, after adding wrapper, the return value will be</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">registrationResult</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>1002<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">registrationResult</span>&gt;</span>
+</code></pre>
+<p>In fact, this wrapper object uses the so-called Data Transfer Object (DTO) mode. DTO can also be used to make more useful customizations to transfer data.</p>
+<h3>Custom Serialization</h3>
+<p>As mentioned above, the underlying implementation of REST will automatically serialize/deserialize between the service object and the JSON/XML data format.</p>
+<p>The REST implementation in Dubbo uses JAXB for XML serialization and Jackson for JSON serialization,so you can customize the mapping by adding JAXB or Jackson's annotation to the object.</p>
+<p>For example, customizing the object properties to map to the names of the XML elements:</p>
+<pre><code class="language-java"><span class="hljs-meta">@XmlRootElement</span>
+<span class="hljs-meta">@XmlAccessorType</span>(XmlAccessType.FIELD)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
+
+    <span class="hljs-meta">@XmlElement</span>(name=<span class="hljs-string">"username"</span>)
+    <span class="hljs-keyword">private</span> String name;  
+}
+</code></pre>
+<p>Customizing the object properties to map to the names of the JSON field:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
+
+    <span class="hljs-meta">@JsonProperty</span>(<span class="hljs-string">"username"</span>)
+    <span class="hljs-keyword">private</span> String name;
+}
+</code></pre>
+<p>For more information, please refer to the official documentation of JAXB and Jackson, or google yourself.</p>
+<h3>Configuring REST Server implementation</h3>
+<p>Currently in dubbo, we support the implementation of five embedded rest servers. The implementation of the rest server is selected by the following XML attribute of the server:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"jetty"</span>/&gt;</span>
+</code></pre>
+<p>The above configuration uses the embedded jetty to do the rest server. At the same time, if you do not configure the server attribute, the rest protocol also uses jetty by default. jetty is a very mature java servlet container and has a good integration with dubbob (Among the five embedded servers, Only jetty and later tomcat、tjws, complete seamless integration with Dubbo monitoring system.), so, if your dubbo system is a separate process, you can use jetty by default.</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"tomcat"</span>/&gt;</span>
+</code></pre>
+<p>The above configuration uses the embedded tomcat to do the rest server.On embedded tomcat, REST performance is much better than jetty (See the benchmark below). It is recommended that Tomcat is used in scenarios where high performance is required.</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"netty"</span>/&gt;</span>
+</code></pre>
+<p>The above configuration uses embedded netty to do the rest server. (TODO more contents to add)</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"tjws"</span>/&gt;</span> (tjws is now deprecated)
+<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"sunhttp"</span>/&gt;</span>
+</code></pre>
+<p>The above configuration uses embedded tjws or Sun HTTP server to do the rest server. These two server implementations are very lightweight, it is very convenient for quick start-up in integration testing, of course, it can also be used in a production environment with low load. Note: tjws is currently deprecated because it does not work well with the servlet 3.1 API.</p>
+<p>If your dubbo system is not a separate process,
+instead of deploying to a Java application server, we recommend the following configuration:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"servlet"</span>/&gt;</span>
+</code></pre>
+<p>By setting the server as the servlet, dubbo will use the servlet container of the external application server to do the rest server. At the same time, add the following configuration to the web.xml of the dubbo system:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">web-app</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">context-param</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">param-name</span>&gt;</span>contextConfigLocation<span class="hljs-tag">&lt;/<span class="hljs-name">param-name</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">param-value</span>&gt;</span>/WEB-INF/classes/META-INF/spring/dubbo-demo-provider.xml<span class="hljs-tag">&lt;/<span class="hljs-name">param-value</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">context-param</span>&gt;</span>
+
+    <span class="hljs-tag">&lt;<span class="hljs-name">listener</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">listener-class</span>&gt;</span>com.alibaba.dubbo.remoting.http.servlet.BootstrapListener<span class="hljs-tag">&lt;/<span class="hljs-name">listener-class</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">listener</span>&gt;</span>
+
+    <span class="hljs-tag">&lt;<span class="hljs-name">listener</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">listener-class</span>&gt;</span>org.springframework.web.context.ContextLoaderListener<span class="hljs-tag">&lt;/<span class="hljs-name">listener-class</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">listener</span>&gt;</span>
+
+    <span class="hljs-tag">&lt;<span class="hljs-name">servlet</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dispatcher<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">servlet-class</span>&gt;</span>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-class</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">load-on-startup</span>&gt;</span>1<span class="hljs-tag">&lt;/<span class="hljs-name">load-on-startup</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">servlet</span>&gt;</span>
+
+    <span class="hljs-tag">&lt;<span class="hljs-name">servlet-mapping</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dispatcher<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">url-pattern</span>&gt;</span>/*<span class="hljs-tag">&lt;/<span class="hljs-name">url-pattern</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">servlet-mapping</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">web-app</span>&gt;</span>
+</code></pre>
+<p>In other words, you must add dubbo's BootstrapListener and DispatherServlet to web.xml to complete the integration of dubbo's REST functionality with the external servlet container.</p>
+<blockquote>
+<p>Note:If you are using spring's ContextLoaderListener to load spring, you must ensure that the BootstrapListener is configured before the ContextLoaderListener, otherwise the dubbo initialization will fail.</p>
+</blockquote>
+<p>In fact, you can still stick to the embedded server in this scenario, but the servlet container of the external application server is often more powerful than the embedded server(Especially if you are deploying to a more robust and scalable WebLogic, WebSphere, etc.). In addition, it is sometimes convenient to do unified management, monitoring, and so on in the application server.</p>
+<h3>Get Context Information</h3>
+<p>Varieties of context information are valuable when calling procedures remotely. For instance, the IP address from the Client.</p>
+<p>We provide two methods to get the Client's IP in dubbo.</p>
+<p>The first one is using @Context annotation from JAX-RS:</p>
+<pre><code class="language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id, @Context HttpServletRequest request) </span>{
+    System.out.println(<span class="hljs-string">"Client address is "</span> + request.getRemoteAddr());
+} 
+</code></pre>
+<p>After decorating a parameter of <code>getUser()</code> with Context, we can inject the current HttpServletRequest and then call the servlet api to get the IP.</p>
+<blockquote>
+<p>Notice: This method can only be used when the server is one of the followings: twjs, tomecat, jetty or servlet. All of them provide servlet container. In addition, standard JAX-RS also allow us to get HttpServletRequest using an instance field in service Class decorated by <code>@Context</code>.</p>
+</blockquote>
+<p>The second method is to use RpcContext, which is commonly seen in dubbo:</p>
+<pre><code class="language-java"><span class="hljs-function"><span class="hljs-keyword">public</span> User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id) </span>{
+    System.out.println(<span class="hljs-string">"Client address is "</span> + RpcContext.getContext().getRemoteAddressString());
+} 
+</code></pre>
+<blockquote>
+<p>Notice: Similarly, this method only works in the jetty, tomcat, servlet or tjws server. In dubbo, the usage of RpcContext is rather invasive. We are likely to refactor it in the future.</p>
+</blockquote>
+<p>The first method is suggested when your project may run without dubbo and need the compatibility with JAX-RS. But if you want a more elegant service interface definition, the second method would be the better choice.</p>
+<p>What's more, in the newest version of dubbo REST service, RpcContext could be used to get HttpServletRequest and HttpServletResponse, providing great flexibility for users to implement some complex functions. The following is an example:</p>
+<pre><code class="language-java"><span class="hljs-keyword">if</span> (RpcContext.getContext().getRequest() != <span class="hljs-keyword">null</span> &amp;&amp; RpcContext.getContext().getRequest() <span class="hljs-keyword">instanceof</span> HttpServletRequest) {
+    System.out.println(<span class="hljs-string">"Client address is "</span> + ((HttpServletRequest) RpcContext.getContext().getRequest()).getRemoteAddr());
+}
+
+<span class="hljs-keyword">if</span> (RpcContext.getContext().getResponse() != <span class="hljs-keyword">null</span> &amp;&amp; RpcContext.getContext().getResponse() <span class="hljs-keyword">instanceof</span> HttpServletResponse) {
+    System.out.println(<span class="hljs-string">"Response object from RpcContext: "</span> + RpcContext.getContext().getResponse());
+}
+</code></pre>
+<blockquote>
+<p>Notice:
+In order to maintain the neutrality of the protocol, <code>RpcContext.getRequest()</code> and <code>RpcContext.getResponse()</code> only return an Object which could be null. Therefore, you have to check the type on your own.</p>
+</blockquote>
+<blockquote>
+<p>Notice: only when you use jetty, tomcat, servlet as the server can you get the HttpServletRequest and HttpServletResponse as expected. Because only these server
+implemented the servlet container.</p>
+</blockquote>
+<p>To simplify the programme, you can also use generic to get a specific type of request/response:</p>
+<pre><code class="language-java"><span class="hljs-keyword">if</span> (RpcContext.getContext().getRequest(HttpServletRequest.class) != <span class="hljs-keyword">null</span>) {
+    System.out.println(<span class="hljs-string">"Client address is "</span> + RpcContext.getContext().getRequest(HttpServletRequest.class).getRemoteAddr());
+}
+
+<span class="hljs-keyword">if</span> (RpcContext.getContext().getResponse(HttpServletResponse.class) != <span class="hljs-keyword">null</span>) {
+    System.out.println(<span class="hljs-string">"Response object from RpcContext: "</span> + RpcContext.getContext().getResponse(HttpServletResponse.class));
+}
+</code></pre>
+<p>If request/response does not correspond to the specific type, it would return null.</p>
+<h3>Configure The Port Number and Context Path</h3>
+<p>The REST protocol in dubbo use 80 as the default port. But you are also allowed to modify it:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span>/&gt;</span>
+</code></pre>
+<p>As what have been metioned before, we can use <code>@Path</code> to configure relative URL path in single REST service. In fact, we can also set a basic relative path which is known as context path for all REST service.</p>
+<p>All we need to do is to add the contextpath property:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">contextpath</span>=<span class="hljs-string">"services"</span>/&gt;</span>
+</code></pre>
+<p>Let's have a look at the previous code:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">UserService</span> </span>{
+       
+    <span class="hljs-meta">@POST</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"register"</span>)
+    <span class="hljs-meta">@Consumes</span>({MediaType.APPLICATION_JSON})
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span> </span>{
+        <span class="hljs-comment">// save the user...</span>
+    }	
+}
+</code></pre>
+<p>Now the complete path would be:</p>
+<pre><code>http://localhost:8888/services/users/register
+</code></pre>
+<p>Notice: If you use external server as REST server, you should configure as followings,</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">contextpath</span>=<span class="hljs-string">"services"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"servlet"</span>/&gt;</span>
+</code></pre>
+<p>meaning that you should keep the config of port and contextpath are the same with the port and DispatcherServlet's context path (webapp path + servlet url pattern) in external server. For example, when we are configuring the application on tomcat Root path, we need to make sure the contextpath here is totally the same with the <code>&lt;url-pattern/&gt;</code> of DispacherServlet in web.xml:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">servlet-mapping</span>&gt;</span>
+     <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dispatcher<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
+     <span class="hljs-tag">&lt;<span class="hljs-name">url-pattern</span>&gt;</span>/services/*<span class="hljs-tag">&lt;/<span class="hljs-name">url-pattern</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-mapping</span>&gt;</span>
+</code></pre>
+<h3>Configure the number of threads and IO threads</h3>
+<p>We can set the number of threads of rest service:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">"500"</span>/&gt;</span>
+</code></pre>
+<blockquote>
+<p>Notice: Currently, the setting only works when the server is netty, jetty or tomcat. If you use servlet as the server, you are using the external server as the REST server which is out of dubboes' control, so the setting would not work expectedly.</p>
+</blockquote>
+<p>You can also set threads number of IO worker of netty server:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">iothreads</span>=<span class="hljs-string">"5"</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">"100"</span>/&gt;</span>
+</code></pre>
+<h3>Configure long connections</h3>
+<p>The REST service in Dubbo is accessed by default with http long connection, if you want to switch to short connection, you can configure it as below:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">keepalive</span>=<span class="hljs-string">"false"</span>/&gt;</span>
+</code></pre>
+<blockquote>
+<p>Notice: This configuration only works in netty and tomcat.</p>
+</blockquote>
+<h3>Configure the maximum number of HTTP connections</h3>
+<p>Configuring the maximum number of HTTP connections can prevent REST server from
+overload as the basic self-protection mechanism.</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">"500"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"tomcat/&gt;
+</span></span></code></pre>
+<blockquote>
+<p>Notice: Currently, it only works in tomcat.</p>
+</blockquote>
+<h3>Configuring the timeout and HTTP connections for each consumer</h3>
+<p>If the consumer of the rest service is also a dubbo system, you can configure the maximum timeout for the consumer to call the rest service, and the maximum number of HTTP connections that each consumer can initiate, just like other dubbo RPC mechanisms.</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"xxx"</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">"2000"</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">"10"</ [...]
+</code></pre>
+<p>Of course, since this configuration is valid for the consumer, it can also be configured on the consumer side:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"xxx"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx"</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">"2000"</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">"10"</span>/&gt;</span>
+</code></pre>
+<p>However, we generally recommend configuring the service provider to provide such a configuration. According to the official dubbo documentation, “Provider should configure the properties of the Consumer side as much as possible.
+Let the Provider implementer think about the service features and service quality of the Provider from the beginning.”</p>
+<blockquote>
+<p>Note: If dubbo REST service is released to non-dubbo clients, the configuration on <code>&lt;dubbo:service/&gt;</code> is completely invalid because the client is not under dubbo control.</p>
+</blockquote>
+<h3>GZIP data compresssion</h3>
+<p>Dubbo RESTful Remoting supports the use of Gzip to compress request and response data to reduce network transmission time and bandwidth consumption, but this will also increase CPU overhead.</p>
+<p>TODO more contents to add.</p>
+<h3>Replacing part of the spring XML configuration with annotation</h3>
+<p>Above discussions are based on the XML configuration of Dubbo in spring.
+However, dubbo/spring itself supports the use of annotation for configuration, so we can also follow the steps in the Dubbo document and add the relevant annotation to the REST service implementation, replacing some XML configurations, such as:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Service</span>(protocol = <span class="hljs-string">"rest"</span>)
+<span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">UserServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">UserService</span> </span>{
+
+    <span class="hljs-meta">@Autowired</span>
+    <span class="hljs-keyword">private</span> UserRepository userRepository;
+       
+    <span class="hljs-meta">@POST</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"register"</span>)
+    <span class="hljs-meta">@Consumes</span>({MediaType.APPLICATION_JSON})
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">registerUser</span><span class="hljs-params">(User user)</span> </span>{
+        <span class="hljs-comment">// save the user</span>
+        userRepository.save(user);
+    }	
+}
+</code></pre>
+<p>Annotation-based configuration is more concise and precise, and often easier to maintain (modern IDE can support such things as class name refactoring in XML, and therefore the maintenance of XML is good for specific use cases here). XML is less intrusive to code, especially for dynamically modifying configurations, especially when you want to modify the timeout for connection of a single service configuration, the maximum number of connections per client, cluster policy, weights, and [...]
+<p>Of course, there's no right or wrong of different choices of configuration method. Sometimes it's just personal preference.</p>
+<h3>Adding a custom Filter, Interceptor, etc</h3>
+<p>Dubbo RESTful Remoting also supports JAX-RS standard Filter and Interceptor to facilitate customized interception of REST request and response processes.</p>
+<p>Here, Filter is mainly used to access and set parameters, URIs for HTTP request and response, and so on, for example, setting the cache header for HTTP response:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CacheControlFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ContainerResponseFilter</span> </span>{
+
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">filter</span><span class="hljs-params">(ContainerRequestContext req, ContainerResponseContext res)</span> </span>{
+        <span class="hljs-keyword">if</span> (req.getMethod().equals(<span class="hljs-string">"GET"</span>)) {
+            res.getHeaders().add(<span class="hljs-string">"Cache-Control"</span>, <span class="hljs-string">"someValue"</span>);
+        }
+    }
+}
+</code></pre>
+<p>Interceptor is mainly used to access and modify the input and output byte streams, for example, manually adding GZIP compression:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">GZIPWriterInterceptor</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">WriterInterceptor</span> </span>{
+ 
+    <span class="hljs-meta">@Override</span>
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">aroundWriteTo</span><span class="hljs-params">(WriterInterceptorContext context)</span>
+                    <span class="hljs-keyword">throws</span> IOException, WebApplicationException </span>{
+        OutputStream outputStream = context.getOutputStream();
+        context.setOutputStream(<span class="hljs-keyword">new</span> GZIPOutputStream(outputStream));
+        context.proceed();
+    }
+}
+</code></pre>
+<p>In standard JAX-RS applications, we generally add @Provider annotations to Filter and Interceptor, and JAX-RS runtime will automatically discover and enable them. In Dubbo, we register Filter and Interceptor by adding an XML configuration:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"xxx.TraceInterceptor, xxx.TraceFilter"</span>/&gt;</span>
+</code></pre>
+<p>Here, we can add these three types of objects, Filter, Interceptor and DynamicFuture, to the <code>extension</code> attributes, separated by commas. (DynamicFuture is another interface that allows us to enable Filter and Interceptor more dynamically. Please feel free to google.)</p>
+<p>Of course, Dubbo itself also supports Filter, but the Filter and Interceptor we discuss here are more like the bottom of the protocol implementation. Compared to Dubbo's filter, you can do a lower level of customization here.</p>
+<blockquote>
+<p>Note: The XML attribute here is called extension, not interceptor or filter. That is because we will add more extension types in addition to Interceptor and Filter in the future.</p>
+</blockquote>
+<p>If the REST consumer is also a Dubbo system (see discussion below), you can also configure the Interceptor and Filter for the consumer in a similar way.</p>
+<p>However, it should be noted that the consumer-side Filter and the provider-side Filter in JAX-RS are two different interfaces. For example, in the previous example, the server is the ContainerResponseFilter interface, and the consumer side corresponds to the ClientResponseFilter:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">LoggingFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ClientResponseFilter</span> </span>{
+ 
+    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">filter</span><span class="hljs-params">(ClientRequestContext reqCtx, ClientResponseContext resCtx)</span> <span class="hljs-keyword">throws</span> IOException </span>{
+        System.out.println(<span class="hljs-string">"status: "</span> + resCtx.getStatus());
+	    System.out.println(<span class="hljs-string">"date: "</span> + resCtx.getDate());
+	    System.out.println(<span class="hljs-string">"last-modified: "</span> + resCtx.getLastModified());
+	    System.out.println(<span class="hljs-string">"location: "</span> + resCtx.getLocation());
+	    System.out.println(<span class="hljs-string">"headers:"</span>);
+	    <span class="hljs-keyword">for</span> (Entry&lt;String, List&lt;String&gt;&gt; header : resCtx.getHeaders().entrySet()) {
+     	    System.out.print(<span class="hljs-string">"\t"</span> + header.getKey() + <span class="hljs-string">" :"</span>);
+	        <span class="hljs-keyword">for</span> (String value : header.getValue()) {
+	            System.out.print(value + <span class="hljs-string">", "</span>);
+	        }
+	        System.out.print(<span class="hljs-string">"\n"</span>);
+	    }
+	    System.out.println(<span class="hljs-string">"media-type: "</span> + resCtx.getMediaType().getType());
+    } 
+}
+</code></pre>
+<h3>Adding custom Exception handler</h3>
+<p>Dubbo RESTful Remoting also supports JAX-RS standard ExceptionMapper, which can be used to customize the HTTP response after a particular exception occurs.</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CustomExceptionMapper</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ExceptionMapper</span>&lt;<span class="hljs-title">NotFoundException</span>&gt; </span>{
+
+    <span class="hljs-function"><span class="hljs-keyword">public</span> Response <span class="hljs-title">toResponse</span><span class="hljs-params">(NotFoundException e)</span> </span>{     
+        <span class="hljs-keyword">return</span> Response.status(Response.Status.NOT_FOUND).entity(<span class="hljs-string">"Oops! the requested resource is not found!"</span>).type(<span class="hljs-string">"text/plain"</span>).build();
+    }
+}
+</code></pre>
+<p>Similar to Interceptor and Filter, it can be enabled by adding it to an XML configuration file:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"xxx.CustomExceptiionMapper"</span>/&gt;</span>
+</code></pre>
+<h3>Configuring HTTP log output</h3>
+<p>Dubbo RESTful Remoting supports outputting the header and body in all HTTP requests/responses.</p>
+<p>Add the following REST filter to the XML configuration:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter"</span>/&gt;</span>
+</code></pre>
+<p><strong>Then turn on at least INFO level log output for com.alibaba.dubbo.rpc.protocol.rest.support in the logging configuration</strong>,for example,in log4j.xml:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">logger</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"com.alibaba.dubbo.rpc.protocol.rest.support"</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">level</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"INFO"</span>/&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">appender-ref</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"CONSOLE"</span>/&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">logger</span>&gt;</span>
+</code></pre>
+<p>Of course, you can also turn on INFO level log output directly in the ROOT logger:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">root</span>&gt;</span>
+	<span class="hljs-tag">&lt;<span class="hljs-name">level</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"INFO"</span> /&gt;</span>
+	<span class="hljs-tag">&lt;<span class="hljs-name">appender-ref</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"CONSOLE"</span>/&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">root</span>&gt;</span>
+</code></pre>
+<p>Then there will be something like the following output in the log:</p>
+<pre><code>The HTTP headers are: 
+accept: application/json;charset=UTF-8
+accept-encoding: gzip, deflate
+connection: Keep-Alive
+content-length: 22
+content-type: application/json
+host: 192.168.1.100:8888
+user-agent: Apache-HttpClient/4.2.1 (java 1.5)
+</code></pre>
+<pre><code>The contents of request body is: 
+{&quot;id&quot;:1,&quot;name&quot;:&quot;dang&quot;}
+</code></pre>
+<p>After the HTTP log output is turned on, in addition to the performance overhead of the normal log output, additional overhead is generated in, for example, HTTP request parsing, because an additional memory buffer needs to be allocated to prepare the data for the log output.</p>
+<h3>Inputing parameter validation</h3>
+<p>Dubbo RESTful Remoting supports the use of the Java standard bean validation annotation(JSR 303) for input validation <a href="http://beanvalidation.org/">http://beanvalidation.org/</a>.</p>
+<p>In order to be consistent with other Dubbo remote invocation protocols, the annotations that are checked for rest must be placed on the interface of the service, for example:</p>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">UserService</span> </span>{
+   
+    <span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@Min(value=<span class="hljs-number">1</span>L, message=<span class="hljs-string">"User ID must be greater than 1"</span>)</span> Long id)</span>;
+}
+</code></pre>
+<p>Of course, in many other bean validation scenarios, annotations are placed on implementation classes rather than interfaces. At least one advantage of placing an annotation on an interface is that the Dubbo client can share information about the interface. The input validation can be done locally even without RPC.</p>
+<p>Then turn on the validation in the XML configuration in the same way as Dubbo:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">xxx.UserService</span>" <span class="hljs-attr">ref</span>=<span class="hljs-string">"userService"</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">validation</span>=<span class="hljs-string">"true"</span>/&gt;</span>
+</code></pre>
+<p>In many other RPC protocols of Dubbo, if the input validation error occurs, the <code>RpcException</code> is directly thrown to the client, but in the rest, since the client is often non-Dubbo or even non-Java system, it is inconvenient to directly throw a Java exception.  Therefore, at present we will return the validation error in XML format:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">violationReport</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">constraintViolations</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">path</span>&gt;</span>getUserArgument0<span class="hljs-tag">&lt;/<span class="hljs-name">path</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">message</span>&gt;</span>User ID must be greater than 1<span class="hljs-tag">&lt;/<span class="hljs-name">message</span>&gt;</span>
+        <span class="hljs-tag">&lt;<span class="hljs-name">value</span>&gt;</span>0<span class="hljs-tag">&lt;/<span class="hljs-name">value</span>&gt;</span>
+    <span class="hljs-tag">&lt;/<span class="hljs-name">constraintViolations</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">violationReport</span>&gt;</span>
+</code></pre>
+<p>The return values of other data formats will also be supported later. As for how to internationalize the verification error message, refer directly to the relevant documentation of the bean validation.</p>
+<p>If you think that the default validation error return format does not meet your requirements, you can add custom ExceptionMapper to custom error return format freely as described in the previous section. It should be noted that this ExceptionMapper must use the generic declaration to capture the RpcException of Dubbo in order to successfully override the default exception handling strategy of Dubbo rest. In order to simplify the operation, the easiest way to do this is to directly inh [...]
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MyValidationExceptionMapper</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">RpcExceptionMapper</span> </span>{
+
+    <span class="hljs-function"><span class="hljs-keyword">protected</span> Response <span class="hljs-title">handleConstraintViolationException</span><span class="hljs-params">(ConstraintViolationException cve)</span> </span>{
+        ViolationReport report = <span class="hljs-keyword">new</span> ViolationReport();
+        <span class="hljs-keyword">for</span> (ConstraintViolation cv : cve.getConstraintViolations()) {
+            report.addConstraintViolation(<span class="hljs-keyword">new</span> RestConstraintViolation(
+                    cv.getPropertyPath().toString(),
+                    cv.getMessage(),
+                    cv.getInvalidValue() == <span class="hljs-keyword">null</span> ? <span class="hljs-string">"null"</span> : cv.getInvalidValue().toString()));
+        }
+        <span class="hljs-comment">// Use json output instead of xml output</span>
+        <span class="hljs-keyword">return</span> Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(report).type(ContentType.APPLICATION_JSON_UTF_8).build();
+    }
+}
+</code></pre>
+<p>Then add this ExceptionMapper to the XML configuration:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"xxx.MyValidationExceptionMapper"</span>/&gt;</span>
+</code></pre>
+<h3>Whether to transparently publish REST service</h3>
+<p>Dubbo RESTful Remoting differs from some other RPCs in Dubbo in that you need to add JAX-RS annotations (and JAXB, Jackson's annotation) to your service code. If you think these annotations &quot;pollute&quot; your service code to a certain extent,you can consider writing additional Facade and DTO classes, adding annotations to that, and Facade forwards the calls to the real service implementation class. Of course, adding annotations directly to the service code basically has no negat [...]
+<p>In addition,when you want to use the @Context annotation mentioned above, injecting HttpServletRequest through method parameters (such as <code>public User getUser(@PathParam(&quot;id&quot;) Long id, @Context HttpServletRequest request)</code>), the method signature of service is changed and HttpServletRequest is a REST-specific parameter, you should introduce additional Facade classes if your service supports multiple RPC mechanisms.</p>
+<p>Of course, your service code may already act as a Facade and DTO before adding RESTful Remoting (as to why some scenarios require these roles, and if you are interested, you can refer to [Micro-SOA: Service Design Principles and Practices] <a href="Http://www.infoq.com/cn/articles/micro-soa-1">Http://www.infoq.com/cn/articles/micro-soa-1</a>). In this case, after adding REST, if you add additional REST-related Facade and DTO, it is equivalent to wrapping the original code again, which [...]
+<p><code>RestFacade/RestDTO -&gt; Facade/DTO -&gt; Service</code></p>
+<p>This kind of system is cumbersome, and the workload of data conversion is not small, so it should be avoided if possible.</p>
+<h3>Consumer of RESTful Remoting</h3>
+<p>Here we use three scenarios:</p>
+<ol>
+<li>The non-Dubbo consumer calls Dubbo REST service (non-Dubbo --&gt; Dubbo)</li>
+<li>The Dubbo consumer calls Dubbo REST service (Dubbo --&gt; Dubbo)</li>
+<li>The consumer of Dubbo calls the non-Dubbo REST service (Dubbo --&gt; non-Dubbo)</li>
+</ol>
+<h3>Scenario 1: Non-Dubbo consumer calls Dubbo REST Service</h3>
+<p>The client of this scenario has nothing to do with Dubbo itself, and it can be directly selected in the appropriate language and framework.</p>
+<p>If it is still a Java client (but not using Dubbo), consider using the standard JAX-RS Client API or a specific REST-implemented Client API to invoke the REST service. The following is the registerUser() that uses the JAX-RS Client API to access the above UserService:</p>
+<pre><code class="language-java">User user = <span class="hljs-keyword">new</span> User();
+user.setName(<span class="hljs-string">"Larry"</span>);
+
+Client client = ClientBuilder.newClient();
+WebTarget target = client.target(<span class="hljs-string">"http://localhost:8080/services/users/register.json"</span>);
+Response response = target.request().post(Entity.entity(user, MediaType.APPLICATION_JSON_TYPE));
+
+<span class="hljs-keyword">try</span> {
+    <span class="hljs-keyword">if</span> (response.getStatus() != <span class="hljs-number">200</span>) {
+        <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> RuntimeException(<span class="hljs-string">"Failed with HTTP error code : "</span> + response.getStatus());
+    }
+    System.out.println(<span class="hljs-string">"The generated id is "</span> + response.readEntity(RegistrationResult.class).getId());
+} <span class="hljs-keyword">finally</span> {
+    response.close();
+    client.close(); <span class="hljs-comment">//Do not close the client every time in real development, such as HTTP long connection is held by the client</span>
+}
+</code></pre>
+<p>The User and RegistrationResult classes in the code snippet above are written by the consumer itself, and the JAX-RS Client API automatically serializes/deserializes them.</p>
+<p>Of course, in Java, you can also use the familiar technologies such as HttpClient, FastJson, XStream, etc. to implement the REST client, which will not be detailed here.</p>
+<h3>Scenario 2: Dubbo consumer calls Dubbo RESTful Remoting</h3>
+<p>In this scenario,  same as  other Dubbo remote calling methods, the Java service interface is shared directly between the service provider and the service consumer, and the Spring XML configuration is added (of course, the Spring/Dubbo annotation configuration can also be used),the remote REST service can be called transparently:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"userService"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx.UserService"</span>/&gt;</span>
+</code></pre>
+<p>As mentioned earlier, in this scenario, JAX-RS annotations must be added to the service interface, so that the corresponding REST configuration information can be shared on the consumer side of Dubbo and remotely called accordingly:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">UserService</span> </span>{
+    
+    <span class="hljs-meta">@GET</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"{id : \\d+}"</span>)
+    <span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+    <span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+}
+</code></pre>
+<p>If a variety of data formats are configured in the annotation of the service interface, since both ends are Dubbo systems, a lot of details of REST are blocked, so there is no possibility to select a data format using the aforementioned URL suffix. Currently in this case, the top ranked data format will be used directly.</p>
+<p>Therefore, we recommend that you put the most appropriate data format in front of defining an annotation. For example, we put JSON in front of XML because JSON's transmission performance is better than XML.</p>
+<h3>Scenario 3: The consumer of Dubbo calls a non-Dubbo RESTful Remoting</h3>
+<p>In this scenario, the REST service can be called directly using the Java method described in Scenario 1. But in fact, you can also use the way described in Scenario 2, that is, calling the REST service more transparently, even if this service is not provided by Dubbo.</p>
+<p>If the scenario 2 is used, since the REST service is not provided by Dubbo, there is generally no shared Java service interface mentioned above, so we need to write the Java interface and the corresponding parameter class according to the external REST service. Add JAX-RS, JAXB, Jackson and other annotations, Dubbo's REST underlying implementation will automatically generate request messages, automatically parse response messages, etc., so as  to transparently make remote calls. Or th [...]
+<p>For example, we want to call the following external service.</p>
+<pre><code>http://api.foo.com/services/users/1001
+http://api.foo.com/services/users/1002
+</code></pre>
+<p>Get user data of different IDs, the return format is JSON</p>
+<pre><code class="language-java">{
+    <span class="hljs-string">"id"</span>: <span class="hljs-number">1001</span>,
+    <span class="hljs-string">"name"</span>: <span class="hljs-string">"Larry"</span>
+}
+</code></pre>
+<p>We can write service interfaces and parameter classes based on this information:</p>
+<pre><code class="language-java"><span class="hljs-meta">@Path</span>(<span class="hljs-string">"users"</span>)
+<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">UserService</span> </span>{
+    
+    <span class="hljs-meta">@GET</span>
+    <span class="hljs-meta">@Path</span>(<span class="hljs-string">"{id : \\d+}"</span>)
+    <span class="hljs-meta">@Produces</span>({MediaType.APPLICATION_JSON})
+    <span class="hljs-function">User <span class="hljs-title">getUser</span><span class="hljs-params">(@PathParam(<span class="hljs-string">"id"</span>)</span> Long id)</span>;
+}
+</code></pre>
+<pre><code class="language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
+
+    <span class="hljs-keyword">private</span> Long id;
+
+    <span class="hljs-keyword">private</span> String name;
+
+    <span class="hljs-comment">// …</span>
+}
+</code></pre>
+<p>For the configuration in Spring, because the REST service is not provided by Dubbo, you can not use the Dubbo registry to directly configure the url address of the external REST service (such as multiple addresses separated by commas):</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"userService"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx.UserService"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"rest://api.foo.com/services/"</span>/&gt;</span>
+</code></pre>
+<blockquote>
+<p>Note: The protocol here must use rest:// instead of http://. If the external REST service has a context path, it must also be added to the url (unless you have a context path in the @Path annotation for each service interface), such as /services/ above. At the same time, the services here must be followed by /, in order to make Dubbo work properly.</p>
+<p>In addition, you can still configure the maximum number of connections and timeouts that the client can start:</p>
+</blockquote>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"userService"</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"xxx.UserService"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"rest://api.foo.com/services/"</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">"2000"</span> <span class="hljs-attr">connections [...]
+</code></pre>
+<h3>JAX-RS restrictions in Dubbo</h3>
+<p>The REST development in Dubbo is fully compatible with standard JAX-RS, but the features it supports are currently a subset of full JAX-RS, in part because it is limited to the specific architecture of Dubbo and Spring. The limitations of JAX-RS used in Dubbo include but are not limited to:</p>
+<ol>
+<li>Service implementation can only be singleton, and it can not support per-request scope and per-lookup scope</li>
+<li>It is not supported to inject into ServletConfig, ServletContext, HttpServletRequest, HttpServletResponse, etc. with the @Context annotation for the instance field of the service, but it can support the injection of service method parameters. However, for certain REST server implementations (see the previous section), injection of service method parameters is not supported.</li>
+</ol>
+<h2>REST FAQ</h2>
+<hr>
+<h3>Can Dubbo REST services be integrated with Dubbo Registry and Monitor?</h3>
+<p>Yes, and it will integrate automatically. That is, all the REST services you develop in Dubbo are automatically registered to the Registry and Monitor, by which you can managed your services.
+However, many of the service governance operations in the Registry can only be fully functional when the REST consumer is based on Dubbo. If the consumer side is non-Dubbo, it is naturally not managed by the Registry, so that many of the operations will not work for the consumer.</p>
+<h3>How to implement load balancing and failover in Dubbo REST?</h3>
+<p>If the consumer side of Dubbo REST is based on Dubbo, then Dubbo REST is basically the same as other Dubbo remote call protocols: Dubbo framework transparently performs load balancing, failover, etc. on the consumer side.
+If the consumer side of Dubbo REST is non-Dubbo or even non-Java, it is better to configure the soft load balancing mechanism on the service provider. Currently, you can consider LVS, HAProxy, Nginx, and so on to achieve load balancing for HTTP requests.</p>
+<h3>Can overloaded method in JAX-RS maps to the same URL address?</h3>
+<p><a href="http://stackoverflow.com/questions/17196766/can-resteasy-choose-method-based-on-query-params">http://stackoverflow.com/questions/17196766/can-resteasy-choose-method-based-on-query-params</a></p>
+<h3>Can a POST method in JAX-RS receive multiple parameters?</h3>
+<p><a href="http://stackoverflow.com/questions/5553218/jax-rs-post-multiple-objects">http://stackoverflow.com/questions/5553218/jax-rs-post-multiple-objects</a></p>
+<h2>The shortcomings of Dubbo's current system (related to REST)</h2>
+<hr>
+<p>I think there are obviously a lot of deficiencies in Dubbo's current system. Here are a few REST-related issues that affect users (not including internal implementation issues) for reference and comments, which can help prepare for the refactoring later.</p>
+<h3>Invasiveness of RpcContext</h3>
+<p>We have already mentioned the intrusiveness of RpcContext(See above). Because it uses a singleton to access context information, which is completely inconsistent with the general style of spring applications as well as not conducive to application extension and unit testing. In the future, we may inject an interface with dependency injection, and then use it to access the context information in ThreadLocal.</p>
+<h3>limitations of Protocol configuration</h3>
+<p>Dubbo supports multiple remote call methods, but all call methods are configured with <a href="Dubbo:protocol/">Dubbo:protocol/</a>,  for example:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"Dubbo"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"9090"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"netty"</span> <span class="hljs-attr">client</span>=<span class="hljs-string">"netty"</span> <span class="hljs-attr">codec</span>=<span class="hljs-string">"Dubbo"</span [...]
+    <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">"fixed"</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">"100"</span> <span class="hljs-attr">queues</span>=<span class="hljs-string">"0"</span> <span class="hljs-attr">iothreads</span>=<span class="hljs-string">"9"</span> <span class="hljs-attr">buffer</span>=<span class="hljs-string">"8192"</span> <span class="hlj [...]
+</code></pre>
+<p>Dubbo supports multiple remote call methods, but all call methods are configured with <a href="Dubbo:protocol/">Dubbo:protocol/</a>,  for example:
+In fact, many of the above properties are uniquely held by the Dubbo RPC remote call method and many other remote call methods in Dubbo do not support server, client, codec, iothreads, accepts, payload, etc. (of course, some are not supported because of limited conditions, some have no need to be supported at all). This adds a lot of confusions to users when they use Dubbo, and they actually do not know that some attributes (such as performance tuning) will not work after adding them.</p>
+<p>On the other hand, various remote call methods often have a large number of unique configuration requirements, especially as we gradually add much richer and more advanced functions to each kind of remote call method, which cause the expands in <protocol/> attributes inevitably (for example, we have added keepalive and extension two attributes in REST at the moment) and then lead to bloated <protocol/> and user confusion.</p>
+<p>Of course, there is a way to expand <protocol/> in Dubbo by using <a href="Dubbo:parameter/">Dubbo:parameter/</a>, but this method is obviously very limited, the usage is complicated and the schema verification is lacking.
+So that the best method is to set your own protocol elements for each remote call, such as <protocol-Dubbo/>, <protocol-rest/>, etc. Each element specifies its own attributes using XML Schema. (Of course, it is best to use common attributes between a variety of remote call methods)
+In this way, a freer way can be used when doing the extension configuration mentioned above, so that it can be much clearer and more extensible (the following is just an example, of course there may be a better way):</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:protocol-rest</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8080"</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:extension</span>&gt;</span>someInterceptor<span class="hljs-tag">&lt;/<span class="hljs-name">Dubbo:extension</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:extension</span>&gt;</span>someFilter<span class="hljs-tag">&lt;/<span class="hljs-name">Dubbo:extension</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:extension</span>&gt;</span>someDynamicFeature<span class="hljs-tag">&lt;/<span class="hljs-name">Dubbo:extension</span>&gt;</span>
+    <span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:extension</span>&gt;</span>someEntityProvider<span class="hljs-tag">&lt;/<span class="hljs-name">Dubbo:extension</span>&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">Dubbo:protocol-rest</span>&gt;</span>
+</code></pre>
+<h3>XML naming does not conform to the spring specification</h3>
+<p>A lot of naming in XML configuration of Dubbo dose not conform to the spring specification, such as:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">Dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"Dubbo"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"9090"</span> <span class="hljs-attr">server</span>=<span class="hljs-string">"netty"</span> <span class="hljs-attr">client</span>=<span class="hljs-string">"netty"</span>
+
+<span class="hljs-attr">codec</span>=<span class="hljs-string">"Dubbo"</span> <span class="hljs-attr">serialization</span>=<span class="hljs-string">"hessian2"</span>
+    <span class="hljs-attr">charset</span>=<span class="hljs-string">"UTF-8"</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">"fixed"</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">"100"</span> <span class="hljs-attr">queues</span>=<span class="hljs-string">"0"</span> <span class="hljs-attr">iothreads</span>=<span class="hljs-string">"9"</span> <span class="hljs-attr">buffer</span>=<span class="hljs-string">"8192"</span> <span class="hlj [...]
+</code></pre>
+<p>The above threadpool should be changed to thread-pool, iothreads should be changed to io-threads, and words should be separated by &quot;-&quot;. While this may seem like a minor issue, it also involves readability, especially scalability, because sometimes we will inevitably use more words to describe XML elements and attributes.</p>
+<p>In fact, Dubbo itself also recommended to follow the naming convention of spring to XML.</p>
+<h2>Best practices of REST</h2>
+<hr>
+<p>TODO</p>
+<h2>Performance benchmark</h2>
+<hr>
+<h3>Test Environment</h3>
+<p>Roughly as follows:</p>
+<ul>
+<li>4-core Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz</li>
+<li>8G memory</li>
+<li>The network between servers passes through a 100 Mbps switch</li>
+<li>CentOS 5</li>
+<li>JDK 7</li>
+<li>Tomcat 7</li>
+<li>JVM parameter -server -Xms1g -Xmx1g -XX:PermSize=64M -XX:+UseConcMarkSweepGC</li>
+</ul>
+<h3>Test Script</h3>
+<p>Similar to Dubbo's own benchmarks:
+10 concurrent clients send requests continuously:
+• Pass in nested complex objects (single data is small), do nothing and return
+• Pass in a 50K string, do nothing and return (TODO: the result is not listed yet)
+Excute a five-minute performance test. (Reference to Dubbo's own test considerations: &quot;Mainly consider the serialization and performance of network IO, so that the server side does not have any business logic. Take 10 to run simultaneously because of the consideration that the bottleneck can be hit first when the high CPU usage rate is reached by HTTP protocol under the high concurrency situation.&quot;)</p>
+<h3>Test Result</h3>
+<p>The following results are mainly from the comparison between to the two remote call methods, REST and Dubbo RPC which are configured differently, for example:</p>
+<ul>
+<li>“REST: Jetty + XML + GZIP” means: Test REST, use jetty server and XML data format, and enable GZIP compression.</li>
+<li>“Dubbo: hessian2” means: test Dubbo RPC and use hessian2 serialization.</li>
+</ul>
+<p>The results for complex objects are as follows (the smaller Response Time and the larger TPS, the better results):</p>
+<table>
+<thead>
+<tr>
+<th>Remote Call Mode</th>
+<th>Average Response Time</th>
+<th>Average TPS(Num of transactions per second)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>REST: Jetty + JSON</td>
+<td>7.806</td>
+<td>1280</td>
+</tr>
+<tr>
+<td>REST: Jetty + JSON + GZIP</td>
+<td>TODO</td>
+<td>TODO</td>
+</tr>
+<tr>
+<td>REST: Jetty + XML</td>
+<td>TODO</td>
+<td>TODO</td>
+</tr>
+<tr>
+<td>REST: Jetty + XML + GZIP</td>
+<td>TODO</td>
+<td>TODO</td>
+</tr>
+<tr>
+<td>REST: Tomcat + JSON</td>
+<td>2.082</td>
+<td>4796</td>
+</tr>
+<tr>
+<td>REST: Netty + JSON</td>
+<td>2.182</td>
+<td>4576</td>
+</tr>
+<tr>
+<td>Dubbo: FST</td>
+<td>1.211</td>
+<td>8244</td>
+</tr>
+<tr>
+<td>Dubbo: kyro</td>
+<td>1.182</td>
+<td>8444</td>
+</tr>
+<tr>
+<td>Dubbo: Dubbo serialization</td>
+<td>1.43</td>
+<td>6982</td>
+</tr>
+<tr>
+<td>Dubbo: hessian2</td>
+<td>1.49</td>
+<td>6701</td>
+</tr>
+<tr>
+<td>Dubbo: fastjson</td>
+<td>1.572</td>
+<td>6352</td>
+</tr>
+</tbody>
+</table>
+<p>Just a brief summary of the current results:</p>
+<ul>
+<li>Dubbo RPC (especially when based on efficient java serialization methods such as kryo and fst) has a significant advantage response time and throughput over REST. Dubbo RPC is preferred in the intranet Dubbo systems.</li>
+<li>When choosinf REST implementation, tomcat7 and netty are optimal (of course, the current versions of jetty and netty are lower) currently only considering performance. Tjws and sun http server performed extremely poorly in performance tests, with an average response time of more than 200ms and an average tps of only about 50 (to avoid affecting the picture effect, the results are not listed above).</li>
+<li>Performance of JSON data format is better than XML in REST (data is not listed above).</li>
+<li>Enabling GZIP in REST has little to do with complex objects with small data volume in the intranet, but performance has declined (data is not listed above).</li>
+</ul>
+<h2>Performance Optimization Recommendations</h2>
+<p>If you deploy Dubbo REST to an external Tomcat and configure server=&quot;servlet&quot;, that is, enable external tomcat as the underlying implementation of rest server, it is best to add the following configuration to tomcat:</p>
+<pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">Connector</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8080"</span>
+
+<span class="hljs-attr">protocol</span>=<span class="hljs-string">"org.apache.coyote.http11.Http11NioProtocol"</span>
+               <span class="hljs-attr">connectionTimeout</span>=<span class="hljs-string">"20000"</span>
+               <span class="hljs-attr">redirectPort</span>=<span class="hljs-string">"8443"</span>
+               <span class="hljs-attr">minSpareThreads</span>=<span class="hljs-string">"20"</span>
+               <span class="hljs-attr">enableLookups</span>=<span class="hljs-string">"false"</span>
+               <span class="hljs-attr">maxThreads</span>=<span class="hljs-string">"100"</span>
+               <span class="hljs-attr">maxKeepAliveRequests</span>=<span class="hljs-string">"-1"</span>
+               <span class="hljs-attr">keepAliveTimeout</span>=<span class="hljs-string">"60000"</span>/&gt;</span>
+</code></pre>
+<p>Especially the configuration maxKeepAliveRequests=&quot;-1&quot; ,which is mainly to ensure that tomcat always enables http long connection, in order to improve the performance of REST call. Note, however, that if the REST consumer side is not continuously call REST services, it is not always best to enable long connections all time. In addition, the way to always enable long connections is generally not suitable for ordinary webapps, but more suitable for such rpc-like scenarios. So  [...]
+<h2>##Extended discussion</h2>
+<h3>Comparison among Rest, Thrift, Protobuf and so on</h3>
+<p>TODO</p>
+<h3>Comparison between REST and traditional Webservers</h3>
+<p>TODO</p>
+<h3>Comparison of JAX-RS Between Spring MVC</h3>
+<p>A preliminary view from <a href="http://www.infoq.com/cn/news/2014/10/Dubbox-open-source?utm_source=infoq&amp;utm_medium=popular_links_homepage#theCommentsSection">http://www.infoq.com/cn/news/2014/10/Dubbox-open-source?utm_source=infoq&amp;utm_medium=popular_links_homepage#theCommentsSection</a></p>
+<blockquote>
+<p>Thank you, in fact, for jax-rs and Spring MVC, I do not have a deep look at the rest support of Spring MVC. I would like to give you some preliminary ideas. Please correct me:</p>
+</blockquote>
+<blockquote>
+<p>Spring MVC also supports configuration using annotation, which actually looks very similar to jax-rs.</p>
+</blockquote>
+<blockquote>
+<p>Personally, I think Spring MVC is better suited to restful services of web applications, such as being invoked by AJAX, or possibly outputting HTML or something like page jump processes in applications. Spring MVC can handle both normal web page requests and rest requests at the same time. But in general, the restful service is implemented in the presentation layer or the web layer.</p>
+</blockquote>
+<blockquote>
+<p>But Jax-rs is more suitable for pure service-oriented applications, that is, the middle-tier services in traditional Java EE, for example, it can publish traditional EJB as restful services. In a Spring application, the bean that acts as a service in the Spring is directly published as a restful service. In general, the restful service is at the business layer, application layer, or facade layer. And MVC hierarchies and concepts are often of little value in such (back-end) applications.</p>
+</blockquote>
+<blockquote>
+<p>Of course, some implementations of jax-rs, such as jersey, also try to include MVC to better accommodate the web applications described above, but not as well as Spring MVC.</p>
+</blockquote>
+<blockquote>
+<p>In Dubbo applications, I think a lot of people prefer to publish a local Spring service bean (or manager) as a remote service directly and transparently, so that it is more straightforward to use JAX-RS here, and there is no need to introduce the MVC concept. Of course, we do not discuss whether transparent publishing of remote services is a best practice or whether to add facade things here first.</p>
+</blockquote>
+<blockquote>
+<p>Of course, I know that many people use Spring MVC restful to call Dubbo (spring) service to publish restful services under the situation that Dubbo does not support rest now. It’s a good method also in my opinion, but if you do not modify Spring MVC and integrate it deeply with Dubbo, restful services cannot enjoy many advanced services such as registering to the Dubbo Registry, monitoring the number of calls, TPS, response time through the Dubbo Monitor, controlling the size of the t [...]
+</blockquote>
+<blockquote>
+<p>Of course, I personally think that these things are not necessarily to be one or the other. I heard that Rod Johnson, the founder of spring usually says ‘the customer is always right,’ In fact, it is better to support both ways at the same time rather than discuss which way is better, so that originally I wrote in the document that we plan to support Spring rest annotation, but the feasibility is unknown.</p>
+</blockquote>
+<h2>##Future</h2>
+<p>Functions may be supported later:</p>
+<ul>
+<li>Rest annotation for Spring MVC</li>
+<li>Safety System</li>
+<li>OAuth</li>
+<li>Asynchronous calls</li>
+<li>Gzip</li>
+<li>Payload maxsize</li>
+</ul>
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/en-us/docs/user/rest.json b/en-us/docs/user/rest.json
index e01ee3f..f7da919 100644
--- a/en-us/docs/user/rest.json
+++ b/en-us/docs/user/rest.json
@@ -1,4 +1,4 @@
 {
   "filename": "rest.md",
-  "__html": "<p>Part 1\nPart 2\nPart 3\nPart 4</p>\n"
+  "__html": "<h1>Developing RESTful Remoting in Dubbo</h1>\n<p><strong>Original author: Li Shen</strong></p>\n<p><strong>Document copyright: <a href=\"HTTP://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0license Signature - No interpretation</a></strong></p>\n<p>Working in progress ...</p>\n<blockquote>\n<p>This article is lengthy since REST involves many aspects. Besides, it refers to the document style of Spring and so on. Not only limited to usage of the framework but also strives t [...]
 }
\ No newline at end of file
diff --git a/en-us/docs/user/simple-monitor.html b/en-us/docs/user/simple-monitor.html
index f39b87c..3d21956 100644
--- a/en-us/docs/user/simple-monitor.html
+++ b/en-us/docs/user/simple-monitor.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1012201857"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2139896111"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><img src="sources/images/check.gif" alt="warning">Monitor service is a standard Dubbo service,can be exported to the registry,also can be connected straightly。</p>
 </blockquote>
 <blockquote>
@@ -86,7 +86,7 @@
 </code></pre>
 </li>
 </ol>
-</div></section><footer class="footer-container" data-reactid="357"><div class="footer-body" data-reactid="358"><img src="/img/dubbo_gray.png" data-reactid="359"/><img class="apache" src="/img/apache_logo.png" data-reactid="360"/><div class="cols-container" data-reactid="361"><div class="col col-12" data-reactid="362"><h3 data-reactid="363">Disclaimer</h3><p data-reactid="364">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
+</div></section><footer class="footer-container" data-reactid="359"><div class="footer-body" data-reactid="360"><img src="/img/dubbo_gray.png" data-reactid="361"/><img class="apache" src="/img/apache_logo.png" data-reactid="362"/><div class="cols-container" data-reactid="363"><div class="col col-12" data-reactid="364"><h3 data-reactid="365">Disclaimer</h3><p data-reactid="366">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/site_config/blog.js b/site_config/blog.js
index 735eb5c..611e07d 100644
--- a/site_config/blog.js
+++ b/site_config/blog.js
@@ -4,6 +4,13 @@ export default {
     postsTitle: 'All posts',
     list: [
         {
+            title: 'Prepare an Apache Release',
+            author: 'Jun Liu',
+            dateStr: 'Sep 2nd, 2018',
+            desc: 'How to prepare an Apache release',
+            link: '/en-us/blog/prepare-an-apache-release.html',
+        },
+        {
             title: 'How to implement a fully asynchronous calls chain based on Dubbo',
             author: '@Siqi Zhuo',
             dateStr: 'Aug 13th, 2018',
@@ -150,6 +157,13 @@ export default {
     postsTitle: '所有文章',
     list: [
         {
+            title: '如何准备Apache Release',
+            author: 'Jun Liu',
+            dateStr: 'Sep 2nd, 2018',
+            desc: '如何准备Apache Release',
+            link: '/zh-cn/blog/prepare-an-apache-release.html',
+        },
+        {
             title: '以Dubbo为例,聊聊如何向开源项目做贡献',
             author: '@徐靖峰',
             dateStr: 'August 28th, 2018',
diff --git a/site_config/docs.js b/site_config/docs.js
index 689daaf..0879247 100644
--- a/site_config/docs.js
+++ b/site_config/docs.js
@@ -237,6 +237,10 @@ export default {
                                 title: 'Netty4',
                                 link: '/en-us/docs/user/demos/netty4.html'
                             },
+                            {
+                                title: 'Serialization with FST and Kyro',
+                                link: '/en-us/docs/user/demos/serialization.html'
+                            }
                         ],
                     },
                     {
diff --git a/zh-cn/blog/dubbo-k8s.html b/zh-cn/blog/dubbo-k8s.html
index 76509e2..9693a44 100644
--- a/zh-cn/blog/dubbo-k8s.html
+++ b/zh-cn/blog/dubbo-k8s.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/blogDetail.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="-570239913"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="1278218845"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>Dubbo的provider不在关心服务注册的事宜,只需要把其Dubbo服务端口打开,由kubernetes来进行服务的声明和发布;Dubbo的consumer在服务发现时直接发现kubernetes的对应服务endpoints,从而复用Dubbo已有的微服务通道能力。好处是无需依赖三方的软负载注册中心;同时无缝融入kubernetes的多租户安全体系。Demo的代码参照: <a href="https://github.com/dubbo/dubbo-kubernetes">https://github.com/dubbo/dubbo-kubernetes</a></p>
 <h2>闲淡</h2>
 <p>Kubernates是建立在扩展性的具备二次开发的功能层次丰富的体系化系统</p>
@@ -45,49 +45,48 @@ kubernetes解决得只是少部分,而像动态路由,稳定性控制(断
 <li>每个Service都有一个唯一的名字,及对应IP。IP是kubernetes自动分配的,名字是开发者自己定义的。</li>
 <li>Service的IP有几种表现形式,分别是ClusterIP,NodePort,LoadBalance,Ingress。 ClusterIP主要用于集群内通信;NodePort,Ingress,LoadBalance用于暴露服务给集群外的访问入口。</li>
 </ul>
-<p>乍一看,kubernetes的service都是唯一的IP,在原有的Dubbo/HSF固定思维下:Dubbo/HSF的service是有整个服务集群的IP聚合而成,貌似是有本质区别的,细想下来差别不大,因为kubernetes下的唯一IP只是一个VIP,背后挂在了多个endpoint,那才是事实上的处理节点。
-此处只讨论集群内的Dubbo服务在同一个kubernetes集群内访问;至于kubernetes外的consumer访问kubernetes内的provider,涉及到网络地址空间的问题,一般需要GateWay/loadbalance来做映射转换,不展开讨论。针对kubernetes内有两种方案可选:</p>
+<p>乍一看,kubernetes的service都是唯一的IP,在原有的Dubbo/HSF固定思维下:Dubbo/HSF的service是由整个服务集群的IP聚合而成,貌似是有本质区别的,细想下来差别不大,因为kubernetes下的唯一IP只是一个VIP,背后挂在了多个endpoint,那才是事实上的处理节点。此处只讨论集群内的Dubbo服务在同一个kubernetes集群内访问;至于kubernetes外的consumer访问kubernetes内的provider,涉及到网络地址空间的问题,一般需要GateWay/loadbalance来做映射转换,不展开讨论。针对kubernetes内有两种方案可选: :</p>
 <ol>
 <li>DNS: 默认kubernetes的service是靠DNS插件(最新版推荐是coreDNS), Dubbo上有个proposal是关于这个的。我的理解是static resolution的机制是最简单最需要支持的一种service discovery机制,具体也可以参考Envoy在此的观点,由于HSF/Dubbo一直突出其软负载的地址发现能力,反而忽略Static的策略。同时蚂蚁的SOFA一直是支持此种策略,那一个SOFA工程的工程片段做一个解释。这样做有两个好处,1)当软负载中心crash不可用造成无法获取地址列表时,有一定的机制Failover到此策略来处理一定的请求。 2)在LDC/单元化下,蚂蚁的负载中心集群是机房/区域内收敛部署的,首先保证软负载中心的LDC化了进而稳定可控,当单元需要请求中心时,此VIP的地址发现就排上用场了。</li>
 </ol>
-<p><img src="../../img/blog/k8s/4.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png" alt="img"></p>
 <ol start="2">
 <li>API:DNS是依靠DNS插件进行的,相当于额外的运维开销,所以考虑直接通过kubernetes的client来获取endpoint。事实上,通过访问kubernetes的API server接口是可以直接获取某个servie背后的endpoint列表,同时可以监听其地址列表的变化。从而实现Dubbo/HSF所推荐的软负载发现策略。具体可以参考代码:</li>
 </ol>
-<p>以上两种思路都需要考虑以下两点</p>
+<p>以上两种思路都需要考虑以下两点:</p>
 <ol>
-<li>kubernetes和Dubbo对于service的名字是映射一致的。Dubbo的服务是由serviename,group,version三个来确定其唯一性,而且servicename一般其服务接口的包名称,比较长。需要映射kubernetes的servie名与dubbo的服务名。要么是像SOFA那样增加一个属性来进行定义,这个是改造大点,但最合理;要么是通过固定规则来引用部署的环境变量,可用于快速验证。</li>
-<li>端口问题。默认Pod与Pod的网络互通算是解决了。需要验证。</li>
+<li>kubernetes和Dubbo对于service的名字是映射一致的。Dubbo的服务是由serviename,group,version三个来确定其唯一性,而且servicename一般其服务接口的包名称,比较长。需要映射kubernetes的servie名与dubbo的服务名。要么是像SOFA那样增加一个属性来进行定义,这是个大的改动,但最合理;要么是通过固定规则来引用部署的环境变量,可用于快速验证。</li>
+<li>端口问题:默认Pod与Pod的网络互通算是解决了,需要验证。</li>
 </ol>
 <h2>Demo验证</h2>
 <p>下面通过阿里云的容器镜像服务和EDAS中的kubernetes服务来做一次Demo部署。访问阿里云-》容器镜像服务。</p>
 <ol>
 <li>创建镜像仓库并绑定github代码库。如下图</li>
 </ol>
-<p><img src="../../img/blog/k8s/5.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1m.tEtrorBKNjSZFjXXc_SpXa-1892-870.png" alt="img"></p>
 <ol start="2">
-<li>点击管理进行创建好的仓库,通过镜像服务下的构建功能,把demo构建成image,并发布到指定仓库。如下图。</li>
+<li>点击管理***进行创建好的仓库***,通过镜像服务下的构建功能,把demo构建成image,并发布到指定仓库。如下图。</li>
 </ol>
-<p><img src="../../img/blog/k8s/6.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1oYqvtcIrBKNjSZK9XXagoVXa-1872-888.png" alt="img"></p>
 <ol start="3">
 <li>切换到企业级分布式应用服务(EDAS)产品,在资源管理 - 》集群 下创建kubernetes集群并绑定ECS,如下图.</li>
 </ol>
-<p><img src="../../img/blog/k8s/7.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png" alt="img"></p>
 <ol start="4">
-<li>应用管理 -》创建应用,类型为kubernetes应用 并且指定在容器镜像服务中的镜像。如下图。</li>
+<li>应用管理 -》创建应用,<em><strong>类型为kubernetes应用</strong></em> 并且指定在容器镜像服务中的镜像。如下图。</li>
 </ol>
-<p><img src="../../img/blog/k8s/8.png" alt="img"></p>
-<p><img src="../../img/blog/k8s/9.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB18uzTtdcnBKNjSZR0XXcFqFXa-1820-861.png" alt=""></p>
 <ol start="5">
 <li>创建完成后,进行应用部署。如下图</li>
 </ol>
-<p><img src="../../img/blog/k8s/10.png" alt="img"></p>
+<p><img src="https://img.alicdn.com/tfs/TB1fEpEtrorBKNjSZFjXXc_SpXa-1846-783.png" alt=""></p>
 <ul>
 <li>
-<p>补充应用名不能有大写字母,是要小写,否则有部署失败的问题。</p>
+<p>补充应用名不能有大写字母,全部小写,否则有部署失败的问题。</p>
 </li>
 <li>
-<p>在创建应用时,选中镜像后,下一步的按钮无法点击,需要点击选择继续。</p>
+<p>在创建应用时,选中镜像后,下一步的按钮无法点击,需要点击选择来继续。</p>
 </li>
 <li>
 <p>EDAS有两套独立的kubernetes服务,一套是基于阿里云的容器服务,一套是Lark自己搞的。本人体验的是后者。</p>
diff --git a/zh-cn/blog/dubbo-k8s.json b/zh-cn/blog/dubbo-k8s.json
index 15a5a6d..2e2bc56 100644
--- a/zh-cn/blog/dubbo-k8s.json
+++ b/zh-cn/blog/dubbo-k8s.json
@@ -1,4 +1,4 @@
 {
   "filename": "dubbo-k8s.md",
-  "__html": "<h2>大体目标大体上</h2>\n<p>Dubbo的provider不在关心服务注册的事宜,只需要把其Dubbo服务端口打开,由kubernetes来进行服务的声明和发布;Dubbo的consumer在服务发现时直接发现kubernetes的对应服务endpoints,从而复用Dubbo已有的微服务通道能力。好处是无需依赖三方的软负载注册中心;同时无缝融入kubernetes的多租户安全体系。Demo的代码参照: <a href=\"https://github.com/dubbo/dubbo-kubernetes\">https://github.com/dubbo/dubbo-kubernetes</a></p>\n<h2>闲淡</h2>\n<p>Kubernates是建立在扩展性的具备二次开发的功能层次丰富的体系化系统</p>\n<ul>\n<li>首先其最核心的功能是管理容器集群,能管理容器化的集群(包括存储,计算),当然这个是建立在对容器运行时(CRI),网络接口(CNI),存储服务接口(CSI/FV)的基础上;</li>\n<li [...]
+  "__html": "<h2>大体目标大体上</h2>\n<p>Dubbo的provider不在关心服务注册的事宜,只需要把其Dubbo服务端口打开,由kubernetes来进行服务的声明和发布;Dubbo的consumer在服务发现时直接发现kubernetes的对应服务endpoints,从而复用Dubbo已有的微服务通道能力。好处是无需依赖三方的软负载注册中心;同时无缝融入kubernetes的多租户安全体系。Demo的代码参照: <a href=\"https://github.com/dubbo/dubbo-kubernetes\">https://github.com/dubbo/dubbo-kubernetes</a></p>\n<h2>闲淡</h2>\n<p>Kubernates是建立在扩展性的具备二次开发的功能层次丰富的体系化系统</p>\n<ul>\n<li>首先其最核心的功能是管理容器集群,能管理容器化的集群(包括存储,计算),当然这个是建立在对容器运行时(CRI),网络接口(CNI),存储服务接口(CSI/FV)的基础上;</li>\n<li [...]
 }
\ No newline at end of file
diff --git a/zh-cn/blog/index.html b/zh-cn/blog/index.html
index 6ae4115..3266838 100644
--- a/zh-cn/blog/index.html
+++ b/zh-cn/blog/index.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/blog.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-list-page" data-reactroot="" data-reactid="1" data-react-checksum="-1368622781"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-tog [...]
+	<div id="root"><div class="blog-list-page" data-reactroot="" data-reactid="1" data-react-checksum="-428772344"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-togg [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
 	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
 	<script>
diff --git a/zh-cn/blog/prepare-an-apache-release.html b/zh-cn/blog/prepare-an-apache-release.html
index 6011253..856c2b1 100644
--- a/zh-cn/blog/prepare-an-apache-release.html
+++ b/zh-cn/blog/prepare-an-apache-release.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/blogDetail.css" />
 </head>
 <body>
-	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="1869382422"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
+	<div id="root"><div class="blog-detail-page" data-reactroot="" data-reactid="1" data-react-checksum="-639324997"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-to [...]
 <p>总的来说,Source Release是Apache关注的重点,也是发布的必须内容;而Binary Release是可选项,Dubbo可以选择是否发布二进制包到Apache仓库或者发布到Maven中央仓库。</p>
 <p>请参考以下链接,找到更多关于ASF的发布指南:</p>
 <ul>
@@ -141,10 +141,10 @@ default-key 28681CB1
 <h2>打包&amp;上传</h2>
 <ol>
 <li>
-<p>从主干分支拉取新分支作为发布分支,如现在要发布2.6.4版本,则从2.6.x拉出新分支2.6.4-release,此后2.6.4 Release Candidates涉及的修改及打标签等都在2.6.4-release分支进行,最终发布完成后合入主干分支。</p>
+<p>从主干分支拉取新分支作为发布分支,如现在要发布${release_version}版本,则从2.6.x拉出新分支${release_version}-release,此后${release_version} Release Candidates涉及的修改及打标签等都在${release_version}-release分支进行,最终发布完成后合入主干分支。</p>
 </li>
 <li>
-<p>首先,在2.6.4-release分支验证maven组件打包、source源码打包、签名等是否都正常工作</p>
+<p>首先,在${release_version}-release分支验证maven组件打包、source源码打包、签名等是否都正常工作</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> mvn clean install -Papache-release</span>
 <span class="hljs-meta">$</span><span class="bash"> mvn deploy</span>
 <span class="hljs-meta">#</span><span class="bash"> 将snapshot包推送到maven中央仓库,处于staging状态</span>
@@ -162,7 +162,7 @@ default-key 28681CB1
 </ul>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> mvn release:clean</span>
 <span class="hljs-meta">$</span><span class="bash"> mvn release:prepare -Papache-release -Darguments=<span class="hljs-string">"-DskipTests"</span> -DautoVersionSubmodules=<span class="hljs-literal">true</span> -Dusername=YOUR GITHUB ID</span>
-<span class="hljs-meta">#</span><span class="bash"> 执行完成后:1.生成source.zip包; 2.打出tag,并推送到github仓库; 3.分支版本自动升级为2.6.4-SNAPSHOT,并将修改推送到github仓库</span>
+<span class="hljs-meta">#</span><span class="bash"> 执行完成后:1.生成source.zip包; 2.打出tag,并推送到github仓库; 3.分支版本自动升级为<span class="hljs-variable">${release_version}</span>-SNAPSHOT,并将修改推送到github仓库</span>
 </code></pre>
 <ul>
 <li>执行release:perform,做正式发布</li>
@@ -184,54 +184,74 @@ default-key 28681CB1
 </code></pre>
 </li>
 <li>
-<p>当前发布版本为2.6.4,新建目录</p>
+<p>当前发布版本为${release_version},新建目录</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">cd</span> ~/apache/incubator/dubbo <span class="hljs-comment"># dubbo svn根目录</span></span>
-<span class="hljs-meta">$</span><span class="bash"> mkdir 2.6.4</span>
+<span class="hljs-meta">$</span><span class="bash"> mkdir <span class="hljs-variable">${release_version}</span></span>
 </code></pre>
 </li>
 <li>
 <p>添加public key到<a href="https://dist.apache.org/repos/dist/dev/incubator/dubbo/KEYS">KEYS</a>文件。KEYS主要是让参与投票的人在本地导入,用来校验sign的正确性</p>
 </li>
 <li>
-<p>拷贝Dubbo根目录下的source.zip包到svn本地仓库dubbo/2.6.4</p>
+<p>拷贝Dubbo根目录下的source.zip包到svn本地仓库dubbo/${release_version}</p>
 </li>
 <li>
 <p>生成sha512签名</p>
-<pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> shasum -a 512 dubbo-incubating-2.6.4-source-release.zip &gt;&gt; dubbo-incubating-2.6.4-source-release.zip.sha512</span>
+<pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> shasum -a 512 apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip &gt;&gt; apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512</span>
 </code></pre>
 </li>
 <li>
 <p>如果有binary release要同时发布</p>
 <pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash"> 到dubbo项目distribution的module下,执行:</span>
 <span class="hljs-meta">$</span><span class="bash"> mvn install</span>
-<span class="hljs-meta">#</span><span class="bash"> target目录下,拷贝bin-release.zip以及bin-release.zip.asc到svn本地仓库dubbo/2.6.4</span>
+<span class="hljs-meta">#</span><span class="bash"> target目录下,拷贝bin-release.zip以及bin-release.zip.asc到svn本地仓库dubbo/<span class="hljs-variable">${release_version}</span></span>
 <span class="hljs-meta">#</span><span class="bash"> 参考第6步,生成sha512签名</span>
 </code></pre>
 </li>
 <li>
 <p>提交到Apache svn</p>
 <pre><code class="language-shell"><span class="hljs-meta">$</span><span class="bash"> svn status</span>
-<span class="hljs-meta">$</span><span class="bash"> svn commit -m <span class="hljs-string">'prepare for 2.6.4 RC1'</span></span>
+<span class="hljs-meta">$</span><span class="bash"> svn commit -m <span class="hljs-string">'prepare for ${release_version} RC1'</span></span>
 </code></pre>
 </li>
 </ol>
 <h2>验证Release Candidates</h2>
-<p>验证环节包含但不限于以下内容和形式:</p>
+<p>首先,从以下地址下载要发布的Release Candidate到本地环境:
+<a href="https://dist.apache.org/repos/dist/dev/incubator/dubbo/$%7Brelease_version%7D/">https://dist.apache.org/repos/dist/dev/incubator/dubbo/${release_version}/</a></p>
+<p>然后,开始验证环节,验证包含但不限于以下内容和形式</p>
 <ol>
 <li>Check signatures and hashes are good</li>
 </ol>
-<pre><code class="language-sh">shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512
-shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-bin-release.zip.sha512
-gpg2 --keyserver pgpkeys.mit.edu --recv-key 208B0AB1D63011C7
-gpg2 --verify apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.asc apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip
+<ul>
+<li>sha512</li>
+</ul>
+<pre><code class="language-sh">$ shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-<span class="hljs-built_in">source</span>-release.zip.sha512
+$ shasum -c apache-dubbo-incubating-<span class="hljs-variable">${release_version}</span>-bin-release.zip.sha512
+</code></pre>
+<ul>
+<li>gpg
+<ul>
+<li>If it's your first time verify a release candidte, you should import public keys first.</li>
+</ul>
+<pre><code class="language-sh">$ curl https://dist.apache.org/repos/dist/dev/incubator/dubbo/KEYS &gt;&gt; KEYS <span class="hljs-comment"># download public keys to local directory</span>
+$ gpg --import KEYS <span class="hljs-comment"># import keys</span>
+$ gpg —edit-key liujun
+  &gt; trust <span class="hljs-comment"># 输入trust子命令</span>
 </code></pre>
+<ul>
+<li>Now, you can verify signature with command</li>
+</ul>
+<pre><code>gpg --verify apache-dubbo-incubating-2.6.3-source-release.zip.asc apache-dubbo-incubating-2.6.3-source-release.zip
+</code></pre>
+</li>
+</ul>
 <ol start="2">
 <li>Unzip apache-dubbo-incubating-${release_version}-source-release.zip to the default directory and check the following:</li>
 </ol>
 <ul>
 <li>
 <p>Directory with 'incubating' in name
-<code>apache-dubbo-incubating-${release_version}-bin-release</code></p>
+<code>apache-dubbo-incubating-${release_version}-source-release</code></p>
 </li>
 <li>
 <p>DISCLAIMER exists</p>
@@ -252,14 +272,15 @@ gpg2 --verify apache-dubbo-incubating-<span class="hljs-variable">${release_vers
 <p>All unit tests can pass</p>
 <pre><code class="language-sh">mvn clean <span class="hljs-built_in">test</span> <span class="hljs-comment"># This will run all unit tests</span>
 <span class="hljs-comment"># you can also open rat and style plugin to check if every file meets requirements.</span>
-mvn clean install -Drat.skip=<span class="hljs-literal">false</span> -Dcheckstyle.skip=<span class="hljs-literal">false</span>
+mvn clean <span class="hljs-built_in">test</span> -Drat.skip=<span class="hljs-literal">false</span> -Dcheckstyle.skip=<span class="hljs-literal">false</span>
 </code></pre>
 </li>
 <li>
 <p>Release candidates match with corresponding tags, you can find tag link and hash in vote email.</p>
 <ul>
 <li>check the version number in pom.xml are the same</li>
-<li>check there are no extra files or directories in the source package, such no empty directories or useless log files.</li>
+<li>check there are no extra files or directories in the source package, for example, no empty directories or useless log files.<br>
+<code>diff -r a rc_dir tag_dir</code></li>
 <li>check the top n tag commits, dive into the related files and check if the source package has the same changes</li>
 </ul>
 </li>
@@ -268,6 +289,7 @@ mvn clean install -Drat.skip=<span class="hljs-literal">false</span> -Dcheckstyl
 <li>Unzip apache-dubbo-incubating-${release_version}-bin-release.zip and check:</li>
 </ol>
 <ul>
+<li>Check signatures are good</li>
 <li>'incubating' in name</li>
 <li>LICENSE and NOTICE exists and contents are good</li>
 </ul>
diff --git a/zh-cn/blog/prepare-an-apache-release.json b/zh-cn/blog/prepare-an-apache-release.json
index 4305f0a..c0e4a5b 100644
--- a/zh-cn/blog/prepare-an-apache-release.json
+++ b/zh-cn/blog/prepare-an-apache-release.json
@@ -1,4 +1,4 @@
 {
   "filename": "prepare-an-apache-release.md",
-  "__html": "<h2>理解Apache发布的内容和流程</h2>\n<p>总的来说,Source Release是Apache关注的重点,也是发布的必须内容;而Binary Release是可选项,Dubbo可以选择是否发布二进制包到Apache仓库或者发布到Maven中央仓库。</p>\n<p>请参考以下链接,找到更多关于ASF的发布指南:</p>\n<ul>\n<li><a href=\"http://www.apache.org/dev/release-publishing\">Apache Release Guide</a></li>\n<li><a href=\"http://www.apache.org/dev/release.html\">Apache Release Policy</a></li>\n<li><a href=\"http://www.apache.org/dev/publishing-maven-artifacts.html\">Maven Release Info</a></li>\n</ul>\n<h2>本地构建环境准备< [...]
+  "__html": "<h2>理解Apache发布的内容和流程</h2>\n<p>总的来说,Source Release是Apache关注的重点,也是发布的必须内容;而Binary Release是可选项,Dubbo可以选择是否发布二进制包到Apache仓库或者发布到Maven中央仓库。</p>\n<p>请参考以下链接,找到更多关于ASF的发布指南:</p>\n<ul>\n<li><a href=\"http://www.apache.org/dev/release-publishing\">Apache Release Guide</a></li>\n<li><a href=\"http://www.apache.org/dev/release.html\">Apache Release Policy</a></li>\n<li><a href=\"http://www.apache.org/dev/publishing-maven-artifacts.html\">Maven Release Info</a></li>\n</ul>\n<h2>本地构建环境准备< [...]
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user/demos/fault-tolerent-strategy.html b/zh-cn/docs/user/demos/fault-tolerent-strategy.html
index af6cfa4..fbea162 100644
--- a/zh-cn/docs/user/demos/fault-tolerent-strategy.html
+++ b/zh-cn/docs/user/demos/fault-tolerent-strategy.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1333147460"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1659257976"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu [...]
 <p>在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。</p>
 <p><img src="../sources/images/cluster.jpg" alt="cluster"></p>
 <p>各节点关系:</p>
@@ -24,7 +24,7 @@
 <li><code>LoadBalance</code> 负责从多个 <code>Invoker</code> 中选出具体的一个用于本次调用,选的过程包含了负载均衡算法,调用失败后,需要重选</li>
 </ul>
 <h2>集群容错模式</h2>
-<p>可以自行扩展集群容错策略,参见:<a href="http://dubbo.apache.org/books/dubbo-dev-book/impls/cluster.html">集群扩展</a></p>
+<p>可以自行扩展集群容错策略,参见:<a href="../../dev/impls/load-balance.md">集群扩展</a></p>
 <h3>Failover Cluster</h3>
 <p>失败自动切换,当出现失败,重试其它服务器 <sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>。通常用于读操作,但重试会带来更长延迟。可通过 <code>retries=&quot;2&quot;</code> 来设置重试次数(不含第一次)。</p>
 <p>重试次数配置如下:</p>
diff --git a/zh-cn/docs/user/demos/fault-tolerent-strategy.json b/zh-cn/docs/user/demos/fault-tolerent-strategy.json
index fb1a6e6..6e13be4 100644
--- a/zh-cn/docs/user/demos/fault-tolerent-strategy.json
+++ b/zh-cn/docs/user/demos/fault-tolerent-strategy.json
@@ -1,4 +1,4 @@
 {
   "filename": "fault-tolerent-strategy.md",
-  "__html": "<h1>集群容错</h1>\n<p>在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。</p>\n<p><img src=\"../sources/images/cluster.jpg\" alt=\"cluster\"></p>\n<p>各节点关系:</p>\n<ul>\n<li>这里的 <code>Invoker</code> 是 <code>Provider</code> 的一个可调用 <code>Service</code> 的抽象,<code>Invoker</code> 封装了 <code>Provider</code> 地址及 <code>Service</code> 接口信息</li>\n<li><code>Directory</code> 代表多个 <code>Invoker</code>,可以把它看成 <code>List&lt;Invoker&gt;</code> ,但与 <code>List</code> 不同的是,它的值可能是动态变化的,比如注册中心推送变更</li>\n<li><cod [...]
+  "__html": "<h1>集群容错</h1>\n<p>在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。</p>\n<p><img src=\"../sources/images/cluster.jpg\" alt=\"cluster\"></p>\n<p>各节点关系:</p>\n<ul>\n<li>这里的 <code>Invoker</code> 是 <code>Provider</code> 的一个可调用 <code>Service</code> 的抽象,<code>Invoker</code> 封装了 <code>Provider</code> 地址及 <code>Service</code> 接口信息</li>\n<li><code>Directory</code> 代表多个 <code>Invoker</code>,可以把它看成 <code>List&lt;Invoker&gt;</code> ,但与 <code>List</code> 不同的是,它的值可能是动态变化的,比如注册中心推送变更</li>\n<li><cod [...]
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user/preface/requirements.html b/zh-cn/docs/user/preface/requirements.html
index 8f1070b..e3c4c6d 100644
--- a/zh-cn/docs/user/preface/requirements.html
+++ b/zh-cn/docs/user/preface/requirements.html
@@ -12,12 +12,12 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-179506942"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="855896330"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-t [...]
 <p><img src="../sources/images/dubbo-service-governance.jpg" alt="image"></p>
 <p>在大规模服务化之前,应用可能只是通过 RMI 或 Hessian 等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过 F5 等硬件进行负载均衡。</p>
 <p><strong>当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。</strong> 此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和 Failover,降低对 F5 硬件负载均衡器的依赖,也能减少部分成本。</p>
 <p><strong>当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。</strong>  这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。</p>
-<p><strong>接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?</strong>  为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。</p>
+<p><strong>接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?</strong>  为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阈值,记录此时的访问量,再以此访问量乘以机器数反推总容量。</p>
 <p>以上是 Dubbo 最基本的几个需求。</p>
 </div></section><footer class="footer-container" data-reactid="380"><div class="footer-body" data-reactid="381"><img src="/img/dubbo_gray.png" data-reactid="382"/><img class="apache" src="/img/apache_logo.png" data-reactid="383"/><div class="cols-container" data-reactid="384"><div class="col col-12" data-reactid="385"><h3 data-reactid="386">Disclaimer</h3><p data-reactid="387">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incuba [...]
 	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
diff --git a/zh-cn/docs/user/preface/requirements.json b/zh-cn/docs/user/preface/requirements.json
index 42d9e7b..ffd43fe 100644
--- a/zh-cn/docs/user/preface/requirements.json
+++ b/zh-cn/docs/user/preface/requirements.json
@@ -1,4 +1,4 @@
 {
   "filename": "requirements.md",
-  "__html": "<h1>需求</h1>\n<p><img src=\"../sources/images/dubbo-service-governance.jpg\" alt=\"image\"></p>\n<p>在大规模服务化之前,应用可能只是通过 RMI 或 Hessian 等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过 F5 等硬件进行负载均衡。</p>\n<p><strong>当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。</strong> 此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和 Failover,降低对 F5 硬件负载均衡器的依赖,也能减少部分成本。</p>\n<p><strong>当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。</strong>  这时,需要自动画出应用间的依赖�
 ��系图,以帮助架构师理清理关系。</p>\n [...]
+  "__html": "<h1>需求</h1>\n<p><img src=\"../sources/images/dubbo-service-governance.jpg\" alt=\"image\"></p>\n<p>在大规模服务化之前,应用可能只是通过 RMI 或 Hessian 等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过 F5 等硬件进行负载均衡。</p>\n<p><strong>当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。</strong> 此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和 Failover,降低对 F5 硬件负载均衡器的依赖,也能减少部分成本。</p>\n<p><strong>当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。</strong>  这时,需要自动画出应用间的依赖�
 ��系图,以帮助架构师理清理关系。</p>\n [...]
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user/rest.html b/zh-cn/docs/user/rest.html
index e95be80..13d2193 100644
--- a/zh-cn/docs/user/rest.html
+++ b/zh-cn/docs/user/rest.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="2020815846"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu- [...]
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-1634822002"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu [...]
 <p><strong>作者:沈理</strong></p>
 <p><strong>文档版权:<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0许可证 署名-禁止演绎</a></strong></p>
 <p>完善中……</p>
@@ -542,7 +542,7 @@ http://localhost:8080/users/1003
 <p>在标准JAX-RS应用中,我们一般是为Filter和Interceptor添加@Provider annotation,然后JAX-RS runtime会自动发现并启用它们。而在dubbo中,我们是通过添加XML配置的方式来注册Filter和Interceptor:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"xxx.TraceInterceptor, xxx.TraceFilter"</span>/&gt;</span>
 </code></pre>
-<p>在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到extension属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
+<p>在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到<code>extension</code>属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
 <p>当然,dubbo自身也支持Filter的概念,但我们这里讨论的Filter和Interceptor更加接近协议实现的底层,相比dubbo的filter,可以做更底层的定制化。</p>
 <blockquote>
 <p>注:这里的XML属性叫extension,而不是叫interceptor或者filter,是因为除了Interceptor和Filter,未来我们还会添加更多的扩展类型。</p>
@@ -584,7 +584,7 @@ http://localhost:8080/users/1003
 <p>在XML配置中添加如下自带的REST filter:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span class="hljs-attr">extension</span>=<span class="hljs-string">"com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter"</span>/&gt;</span>
 </code></pre>
-<p>然后配置在logging配置中至少为com.alibaba.dubbo.rpc.protocol.rest.support打开INFO级别日志输出,例如,在log4j.xml中配置:</p>
+<p><strong>然后在logging配置中至少为com.alibaba.dubbo.rpc.protocol.rest.support打开INFO级别日志输出</strong>,例如,在log4j.xml中配置:</p>
 <pre><code class="language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">logger</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"com.alibaba.dubbo.rpc.protocol.rest.support"</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">level</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"INFO"</span>/&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">appender-ref</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"CONSOLE"</span>/&gt;</span>
@@ -654,7 +654,7 @@ user-agent: Apache-HttpClient/4.2.1 (java 1.5)
 </code></pre>
 <h3>是否应该透明发布REST服务</h3>
 <p>Dubbo的REST调用和dubbo中其它某些RPC不同的是,需要在服务代码中添加JAX-RS的annotation(以及JAXB、Jackson的annotation),如果你觉得这些annotation一定程度“污染”了你的服务代码,你可以考虑编写额外的Facade和DTO类,在Facade和DTO上添加annotation,而Facade将调用转发给真正的服务实现类。当然事实上,直接在服务代码中添加annotation基本没有任何负面作用,而且这本身是Java EE的标准用法,另外JAX-RS和JAXB的annotation是属于java标准,比我们经常使用的spring、dubbo等等annotation更没有vendor lock-in的问题,所以一般没有必要因此而引入额外对象。</p>
-<p>另外,如果你想用前述的@Context annotation,通过方法参数注入HttpServletRequest(如<code>public User getUser(@PathParam(&quot;id&quot;) Long id, @Context HttpServletRequest request)</code>),这时候由于改变了服务的方法签名,并且HttpServletRequest是REST特有的参数,如果你的服务要支持多种RPC机制的话,则引入额外的Facade类是比较适当的。</p>
+<p>另外,如果你想用前述的@Context annotation,通过方法参数注入HttpServletRequest(如<code>public User getUser(@PathParam(&quot;id&quot;) Long id, @Context HttpServletRequest request)</code>),这时候由于改变了服务的方法签名,并且HttpServletRequest是REST特有的参数,<strong>所以如果你的服务要支持多种RPC机制的话</strong>,则引入额外的Facade类是比较适当的。</p>
 <p>当然,在没有添加REST调用之前,你的服务代码可能本身已经就充当了Facade和DTO的角色(至于为什么有些场景需要这些角色,有兴趣可参考<a href="http://www.infoq.com/cn/articles/micro-soa-1">微观SOA:服务设计原则及其实践方式</a>)。这种情况下,在添加REST之后,如果你再额外添加与REST相关的Facade和DTO,就相当于对原有代码对再一次包装,即形成如下调用链:</p>
 <p><code>RestFacade/RestDTO -&gt; Facade/DTO -&gt; Service</code></p>
 <p>这种体系比较繁琐,数据转换之类的工作量也不小,所以一般应尽量避免如此。</p>
@@ -753,7 +753,7 @@ http://api.foo.com/services/users/1002
 </ol>
 <h2>REST常见问题解答(REST FAQ)</h2>
 <h3>Dubbo REST的服务能和Dubbo注册中心、监控中心集成吗?</h3>
-<p>可以的,而且是自动集成的,也就是你在dubbo中开发的所有REST服务都会自动注册到服务册中心和监控中心,可以通过它们做管理。</p>
+<p>可以的,而且是自动集成的,也就是你在dubbo中开发的所有REST服务都会自动注册到注册中心和监控中心,可以通过它们做管理。</p>
 <p>但是,只有当REST的消费端也是基于dubbo的时候,注册中心中的许多服务治理操作才能完全起作用。而如果消费端是非dubbo的,自然不受注册中心管理,所以其中很多操作是不会对消费端起作用的。</p>
 <h3>Dubbo REST中如何实现负载均衡和容错(failover)?</h3>
 <p>如果dubbo REST的消费端也是dubbo的,则Dubbo REST和其他dubbo远程调用协议基本完全一样,由dubbo框架透明的在消费端做load balance、failover等等。</p>
diff --git a/zh-cn/docs/user/rest.json b/zh-cn/docs/user/rest.json
index efc1ec7..1b8ed37 100644
--- a/zh-cn/docs/user/rest.json
+++ b/zh-cn/docs/user/rest.json
@@ -1,4 +1,4 @@
 {
   "filename": "rest.md",
-  "__html": "<h1>在Dubbo中开发REST风格的远程调用(RESTful Remoting)</h1>\n<p><strong>作者:沈理</strong></p>\n<p><strong>文档版权:<a href=\"http://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0许可证 署名-禁止演绎</a></strong></p>\n<p>完善中……</p>\n<blockquote>\n<p>本文篇幅较长,因为REST本身涉及面较多。另外,本文参照Spring等的文档风格,不仅仅局限于框架用法的阐述,同时也努力呈现框架的设计理念和优良应用的架构思想。</p>\n</blockquote>\n<blockquote>\n<p>对于想粗略了解dubbo和REST的人,只需浏览 <code>概述</code> 至 <code>标准Java REST API:JAX-RS简介</code> 几节即可。</p>\n</blockquote>\n<p>TODO 生成可点击的目录</p>\n<h2>目录</h2 [...]
+  "__html": "<h1>在Dubbo中开发REST风格的远程调用(RESTful Remoting)</h1>\n<p><strong>作者:沈理</strong></p>\n<p><strong>文档版权:<a href=\"http://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0许可证 署名-禁止演绎</a></strong></p>\n<p>完善中……</p>\n<blockquote>\n<p>本文篇幅较长,因为REST本身涉及面较多。另外,本文参照Spring等的文档风格,不仅仅局限于框架用法的阐述,同时也努力呈现框架的设计理念和优良应用的架构思想。</p>\n</blockquote>\n<blockquote>\n<p>对于想粗略了解dubbo和REST的人,只需浏览 <code>概述</code> 至 <code>标准Java REST API:JAX-RS简介</code> 几节即可。</p>\n</blockquote>\n<p>TODO 生成可点击的目录</p>\n<h2>目录</h2 [...]
 }
\ No newline at end of file