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/05/14 10:18:31 UTC

[incubator-dubbo-website] branch asf-site updated: Sync documentation.

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 63ff7ae  Sync documentation.
63ff7ae is described below

commit 63ff7aeaf6ee388bd2422da0e2a03914db9186ef
Author: Huxing Zhang <hu...@gmail.com>
AuthorDate: Mon May 14 18:17:53 2018 +0800

    Sync documentation.
---
 books/dubbo-admin-book-en/index.html                   |  2 +-
 books/dubbo-admin-book-en/install/admin-console.html   |  4 ++--
 books/dubbo-admin-book-en/install/consumer-demo.html   |  2 +-
 books/dubbo-admin-book-en/install/introduction.html    |  2 +-
 books/dubbo-admin-book-en/install/provider-demo.html   |  2 +-
 books/dubbo-admin-book-en/install/redis.html           |  4 ++--
 .../install/simple-monitor-center.html                 |  2 +-
 .../install/simple-registry-center.html                |  2 +-
 books/dubbo-admin-book-en/install/zookeeper.html       |  4 ++--
 books/dubbo-admin-book-en/ops/dubbo-ops.html           |  2 +-
 books/dubbo-admin-book-en/search_index.json            |  2 +-
 books/dubbo-admin-book/index.html                      |  2 +-
 books/dubbo-admin-book/install/admin-console.html      |  4 ++--
 books/dubbo-admin-book/install/consumer-demo.html      |  2 +-
 books/dubbo-admin-book/install/introduction.html       |  2 +-
 books/dubbo-admin-book/install/provider-demo.html      |  2 +-
 books/dubbo-admin-book/install/redis.html              |  4 ++--
 .../install/simple-monitor-center.html                 |  2 +-
 .../install/simple-registry-center.html                |  2 +-
 books/dubbo-admin-book/install/zookeeper.html          |  4 ++--
 books/dubbo-admin-book/ops/dubbo-ops.html              |  2 +-
 books/dubbo-admin-book/ops/introduction.html           |  2 +-
 books/dubbo-admin-book/search_index.json               |  2 +-
 books/dubbo-dev-book-en/SPI.html                       |  2 +-
 books/dubbo-dev-book-en/TCK.html                       |  2 +-
 books/dubbo-dev-book-en/build.html                     |  2 +-
 books/dubbo-dev-book-en/checklist.html                 |  2 +-
 books/dubbo-dev-book-en/code-smell.html                |  2 +-
 books/dubbo-dev-book-en/coding.html                    |  2 +-
 books/dubbo-dev-book-en/contract.html                  |  2 +-
 books/dubbo-dev-book-en/contribution.html              |  2 +-
 books/dubbo-dev-book-en/design.html                    |  2 +-
 books/dubbo-dev-book-en/implementation.html            |  2 +-
 books/dubbo-dev-book-en/impls/cache.html               |  2 +-
 books/dubbo-dev-book-en/impls/cluster.html             |  2 +-
 books/dubbo-dev-book-en/impls/compiler.html            |  2 +-
 books/dubbo-dev-book-en/impls/container.html           |  2 +-
 books/dubbo-dev-book-en/impls/dispatcher.html          |  2 +-
 books/dubbo-dev-book-en/impls/exchanger.html           |  2 +-
 books/dubbo-dev-book-en/impls/exporter-listener.html   |  2 +-
 books/dubbo-dev-book-en/impls/extension-factory.html   |  2 +-
 books/dubbo-dev-book-en/impls/filter.html              |  2 +-
 books/dubbo-dev-book-en/impls/introduction.html        |  2 +-
 books/dubbo-dev-book-en/impls/invoker-listener.html    |  2 +-
 books/dubbo-dev-book-en/impls/load-balance.html        |  2 +-
 books/dubbo-dev-book-en/impls/logger-adapter.html      |  2 +-
 books/dubbo-dev-book-en/impls/merger.html              |  2 +-
 books/dubbo-dev-book-en/impls/monitor.html             |  2 +-
 books/dubbo-dev-book-en/impls/networker.html           |  2 +-
 books/dubbo-dev-book-en/impls/page.html                |  2 +-
 books/dubbo-dev-book-en/impls/protocol.html            |  2 +-
 books/dubbo-dev-book-en/impls/proxy-factory.html       |  2 +-
 books/dubbo-dev-book-en/impls/registry.html            |  2 +-
 books/dubbo-dev-book-en/impls/remoting.html            |  2 +-
 books/dubbo-dev-book-en/impls/router.html              |  2 +-
 books/dubbo-dev-book-en/impls/serialize.html           |  2 +-
 books/dubbo-dev-book-en/impls/status-checker.html      |  2 +-
 books/dubbo-dev-book-en/impls/telnet-handler.html      |  2 +-
 books/dubbo-dev-book-en/impls/threadpool.html          |  2 +-
 books/dubbo-dev-book-en/impls/validation.html          |  2 +-
 books/dubbo-dev-book-en/index.html                     |  2 +-
 books/dubbo-dev-book-en/release.html                   |  2 +-
 books/dubbo-dev-book/SPI.html                          |  2 +-
 books/dubbo-dev-book/TCK.html                          |  2 +-
 books/dubbo-dev-book/build.html                        |  2 +-
 books/dubbo-dev-book/checklist.html                    |  2 +-
 books/dubbo-dev-book/code-smell.html                   |  2 +-
 books/dubbo-dev-book/coding.html                       |  2 +-
 books/dubbo-dev-book/contract.html                     |  2 +-
 books/dubbo-dev-book/contribution.html                 |  2 +-
 books/dubbo-dev-book/design.html                       |  2 +-
 books/dubbo-dev-book/implementation.html               |  2 +-
 books/dubbo-dev-book/impls/cache.html                  |  2 +-
 books/dubbo-dev-book/impls/cluster.html                |  2 +-
 books/dubbo-dev-book/impls/compiler.html               |  2 +-
 books/dubbo-dev-book/impls/container.html              |  2 +-
 books/dubbo-dev-book/impls/dispatcher.html             |  2 +-
 books/dubbo-dev-book/impls/exchanger.html              |  2 +-
 books/dubbo-dev-book/impls/exporter-listener.html      |  2 +-
 books/dubbo-dev-book/impls/extension-factory.html      |  2 +-
 books/dubbo-dev-book/impls/filter.html                 |  2 +-
 books/dubbo-dev-book/impls/introduction.html           |  2 +-
 books/dubbo-dev-book/impls/invoker-listener.html       |  2 +-
 books/dubbo-dev-book/impls/load-balance.html           |  2 +-
 books/dubbo-dev-book/impls/logger-adapter.html         |  2 +-
 books/dubbo-dev-book/impls/merger.html                 |  2 +-
 books/dubbo-dev-book/impls/monitor.html                |  2 +-
 books/dubbo-dev-book/impls/networker.html              |  2 +-
 books/dubbo-dev-book/impls/page.html                   |  2 +-
 books/dubbo-dev-book/impls/protocol.html               |  2 +-
 books/dubbo-dev-book/impls/proxy-factory.html          |  2 +-
 books/dubbo-dev-book/impls/registry.html               |  2 +-
 books/dubbo-dev-book/impls/remoting.html               |  2 +-
 books/dubbo-dev-book/impls/router.html                 |  2 +-
 books/dubbo-dev-book/impls/serialize.html              |  2 +-
 books/dubbo-dev-book/impls/status-checker.html         |  2 +-
 books/dubbo-dev-book/impls/telnet-handler.html         |  2 +-
 books/dubbo-dev-book/impls/threadpool.html             |  2 +-
 books/dubbo-dev-book/impls/validation.html             |  2 +-
 books/dubbo-dev-book/index.html                        |  2 +-
 books/dubbo-dev-book/principals/code-detail.html       |  2 +-
 books/dubbo-dev-book/principals/configuration.html     |  2 +-
 books/dubbo-dev-book/principals/dummy.html             |  2 +-
 books/dubbo-dev-book/principals/expansibility.html     |  2 +-
 books/dubbo-dev-book/principals/extension.html         |  2 +-
 books/dubbo-dev-book/principals/general-knowledge.html |  2 +-
 books/dubbo-dev-book/principals/introduction.html      |  2 +-
 books/dubbo-dev-book/principals/robustness.html        |  2 +-
 books/dubbo-dev-book/release.html                      |  2 +-
 books/dubbo-user-book-en/benchmark-tool.md             |  4 +++-
 books/dubbo-user-book-en/best-practice.html            |  2 +-
 books/dubbo-user-book-en/capacity-plan.html            |  2 +-
 books/dubbo-user-book-en/configuration/annotation.html |  2 +-
 books/dubbo-user-book-en/configuration/api.html        |  2 +-
 books/dubbo-user-book-en/configuration/index.html      |  2 +-
 books/dubbo-user-book-en/configuration/properties.html |  2 +-
 books/dubbo-user-book-en/configuration/xml.html        | 10 +++++-----
 books/dubbo-user-book-en/coveragence.html              |  2 +-
 books/dubbo-user-book-en/demos/accesslog.html          |  2 +-
 books/dubbo-user-book-en/demos/async-call.html         |  2 +-
 books/dubbo-user-book-en/demos/attachment.html         |  2 +-
 books/dubbo-user-book-en/demos/callback-parameter.html |  2 +-
 .../dubbo-user-book-en/demos/concurrency-control.html  |  2 +-
 books/dubbo-user-book-en/demos/config-connections.html |  2 +-
 books/dubbo-user-book-en/demos/config-rule.html        |  2 +-
 books/dubbo-user-book-en/demos/context.html            |  2 +-
 books/dubbo-user-book-en/demos/delay-publish.html      |  2 +-
 .../demos/distributed-transaction.html                 |  2 +-
 books/dubbo-user-book-en/demos/dump.html               |  2 +-
 books/dubbo-user-book-en/demos/echo-service.html       |  2 +-
 books/dubbo-user-book-en/demos/events-notify.html      |  2 +-
 books/dubbo-user-book-en/demos/explicit-target.html    |  2 +-
 .../demos/fault-tolerent-strategy.html                 |  2 +-
 books/dubbo-user-book-en/demos/generic-reference.html  |  2 +-
 books/dubbo-user-book-en/demos/generic-service.html    |  2 +-
 books/dubbo-user-book-en/demos/graceful-shutdown.html  |  2 +-
 books/dubbo-user-book-en/demos/group-merger.html       |  2 +-
 books/dubbo-user-book-en/demos/hostname-binding.html   |  2 +-
 books/dubbo-user-book-en/demos/index.html              |  2 +-
 books/dubbo-user-book-en/demos/lazy-connect.html       |  2 +-
 books/dubbo-user-book-en/demos/loadbalance.html        |  2 +-
 books/dubbo-user-book-en/demos/local-call.html         |  2 +-
 books/dubbo-user-book-en/demos/local-mock.html         |  2 +-
 books/dubbo-user-book-en/demos/local-stub.html         |  2 +-
 books/dubbo-user-book-en/demos/logger-strategy.html    |  2 +-
 books/dubbo-user-book-en/demos/multi-protocols.html    | 10 +++++-----
 books/dubbo-user-book-en/demos/multi-registry.html     | 18 +++++++++---------
 books/dubbo-user-book-en/demos/multi-versions.html     |  2 +-
 books/dubbo-user-book-en/demos/netty4.html             |  2 +-
 .../dubbo-user-book-en/demos/parameter-validation.html |  2 +-
 books/dubbo-user-book-en/demos/preflight-check.html    |  2 +-
 .../demos/reference-config-cache.html                  |  2 +-
 books/dubbo-user-book-en/demos/registry-only.html      |  2 +-
 books/dubbo-user-book-en/demos/result-cache.html       |  2 +-
 books/dubbo-user-book-en/demos/routing-rule.html       | 10 ++++++----
 books/dubbo-user-book-en/demos/service-container.html  |  2 +-
 books/dubbo-user-book-en/demos/service-donwngrade.html |  2 +-
 books/dubbo-user-book-en/demos/service-group.html      |  2 +-
 books/dubbo-user-book-en/demos/static-service.html     |  2 +-
 books/dubbo-user-book-en/demos/stickiness.html         |  2 +-
 books/dubbo-user-book-en/demos/subscribe-only.html     |  2 +-
 books/dubbo-user-book-en/demos/thread-model.html       |  2 +-
 .../dubbo-user-book-en/demos/token-authorization.html  |  2 +-
 books/dubbo-user-book-en/dependencies.html             |  2 +-
 books/dubbo-user-book-en/index.html                    |  2 +-
 books/dubbo-user-book-en/maturity.html                 |  2 +-
 books/dubbo-user-book-en/perf-test.html                |  2 +-
 books/dubbo-user-book-en/preface/architecture.html     |  2 +-
 books/dubbo-user-book-en/preface/background.html       |  2 +-
 books/dubbo-user-book-en/preface/index.html            |  2 +-
 books/dubbo-user-book-en/preface/requirements.html     |  2 +-
 books/dubbo-user-book-en/preface/usage.html            |  2 +-
 books/dubbo-user-book-en/quick-start.html              | 10 +++++-----
 books/dubbo-user-book-en/recommend.html                |  2 +-
 books/dubbo-user-book-en/references/api.html           |  2 +-
 books/dubbo-user-book-en/references/maven.html         |  2 +-
 .../dubbo-user-book-en/references/protocol/dubbo.html  |  2 +-
 .../references/protocol/hessian.html                   |  2 +-
 books/dubbo-user-book-en/references/protocol/http.html |  2 +-
 .../references/protocol/introduction.html              |  2 +-
 .../references/protocol/memcached.html                 |  2 +-
 .../dubbo-user-book-en/references/protocol/redis.html  |  2 +-
 books/dubbo-user-book-en/references/protocol/rmi.html  |  2 +-
 .../dubbo-user-book-en/references/protocol/thrift.html |  2 +-
 .../references/protocol/webservice.html                |  2 +-
 .../references/registry/introduction.html              |  2 +-
 .../references/registry/multicast.html                 |  2 +-
 .../dubbo-user-book-en/references/registry/redis.html  |  2 +-
 .../dubbo-user-book-en/references/registry/simple.html |  6 +++---
 .../references/registry/zookeeper.html                 |  2 +-
 books/dubbo-user-book-en/references/telnet.html        |  2 +-
 .../references/xml/dubbo-application.html              |  2 +-
 .../references/xml/dubbo-argument.html                 |  2 +-
 .../references/xml/dubbo-consumer.html                 |  2 +-
 .../references/xml/dubbo-method.html                   |  2 +-
 .../references/xml/dubbo-module.html                   |  2 +-
 .../references/xml/dubbo-monitor.html                  |  2 +-
 .../references/xml/dubbo-parameter.html                |  2 +-
 .../references/xml/dubbo-protocol.html                 |  2 +-
 .../references/xml/dubbo-provider.html                 |  2 +-
 .../references/xml/dubbo-reference.html                |  2 +-
 .../references/xml/dubbo-registry.html                 |  2 +-
 .../references/xml/dubbo-service.html                  |  2 +-
 .../references/xml/introduction.html                   |  4 ++--
 books/dubbo-user-book-en/search_index.json             |  2 +-
 books/dubbo-user-book-en/simple-monitor.md             |  8 ++++----
 books/dubbo-user-book/benchmark-tool.md                |  4 +++-
 books/dubbo-user-book/best-practice.html               |  2 +-
 books/dubbo-user-book/capacity-plan.html               |  2 +-
 books/dubbo-user-book/configuration/annotation.html    |  2 +-
 books/dubbo-user-book/configuration/api.html           |  2 +-
 books/dubbo-user-book/configuration/index.html         |  2 +-
 books/dubbo-user-book/configuration/properties.html    |  2 +-
 books/dubbo-user-book/configuration/xml.html           | 10 +++++-----
 books/dubbo-user-book/coveragence.html                 |  2 +-
 books/dubbo-user-book/demos/accesslog.html             |  2 +-
 books/dubbo-user-book/demos/async-call.html            |  2 +-
 books/dubbo-user-book/demos/attachment.html            |  2 +-
 books/dubbo-user-book/demos/callback-parameter.html    |  2 +-
 books/dubbo-user-book/demos/concurrency-control.html   |  2 +-
 books/dubbo-user-book/demos/config-connections.html    |  2 +-
 books/dubbo-user-book/demos/config-rule.html           |  2 +-
 books/dubbo-user-book/demos/context.html               |  2 +-
 books/dubbo-user-book/demos/delay-publish.html         |  2 +-
 .../dubbo-user-book/demos/distributed-transaction.html |  2 +-
 books/dubbo-user-book/demos/dump.html                  |  2 +-
 books/dubbo-user-book/demos/echo-service.html          |  2 +-
 books/dubbo-user-book/demos/events-notify.html         |  2 +-
 books/dubbo-user-book/demos/explicit-target.html       |  2 +-
 .../dubbo-user-book/demos/fault-tolerent-strategy.html |  2 +-
 books/dubbo-user-book/demos/generic-reference.html     |  2 +-
 books/dubbo-user-book/demos/generic-service.html       |  2 +-
 books/dubbo-user-book/demos/graceful-shutdown.html     |  2 +-
 books/dubbo-user-book/demos/group-merger.html          |  2 +-
 books/dubbo-user-book/demos/hostname-binding.html      |  2 +-
 books/dubbo-user-book/demos/index.html                 |  2 +-
 books/dubbo-user-book/demos/lazy-connect.html          |  2 +-
 books/dubbo-user-book/demos/loadbalance.html           |  2 +-
 books/dubbo-user-book/demos/local-call.html            |  2 +-
 books/dubbo-user-book/demos/local-mock.html            |  2 +-
 books/dubbo-user-book/demos/local-stub.html            |  2 +-
 books/dubbo-user-book/demos/logger-strategy.html       |  2 +-
 books/dubbo-user-book/demos/multi-protocols.html       | 10 +++++-----
 books/dubbo-user-book/demos/multi-registry.html        | 18 +++++++++---------
 books/dubbo-user-book/demos/multi-versions.html        |  2 +-
 books/dubbo-user-book/demos/netty4.html                |  2 +-
 books/dubbo-user-book/demos/parameter-validation.html  |  2 +-
 books/dubbo-user-book/demos/preflight-check.html       |  4 ++--
 .../dubbo-user-book/demos/reference-config-cache.html  |  2 +-
 books/dubbo-user-book/demos/registry-only.html         |  2 +-
 books/dubbo-user-book/demos/result-cache.html          |  2 +-
 books/dubbo-user-book/demos/routing-rule.html          | 10 ++++++----
 books/dubbo-user-book/demos/service-container.html     |  2 +-
 books/dubbo-user-book/demos/service-downgrade.html     |  2 +-
 books/dubbo-user-book/demos/service-group.html         |  2 +-
 books/dubbo-user-book/demos/static-service.html        |  2 +-
 books/dubbo-user-book/demos/stickiness.html            |  2 +-
 books/dubbo-user-book/demos/subscribe-only.html        |  2 +-
 books/dubbo-user-book/demos/thread-model.html          |  2 +-
 books/dubbo-user-book/demos/token-authorization.html   |  2 +-
 books/dubbo-user-book/dependencies.html                |  2 +-
 books/dubbo-user-book/index.html                       |  2 +-
 books/dubbo-user-book/maturity.html                    |  2 +-
 books/dubbo-user-book/perf-test.html                   |  2 +-
 books/dubbo-user-book/preface/architecture.html        |  4 ++--
 books/dubbo-user-book/preface/background.html          |  2 +-
 books/dubbo-user-book/preface/index.html               |  2 +-
 books/dubbo-user-book/preface/requirements.html        |  2 +-
 books/dubbo-user-book/preface/usage.html               |  2 +-
 books/dubbo-user-book/quick-start.html                 | 10 +++++-----
 books/dubbo-user-book/recommend.html                   |  4 ++--
 books/dubbo-user-book/references/api.html              |  2 +-
 books/dubbo-user-book/references/maven.html            |  2 +-
 books/dubbo-user-book/references/protocol/dubbo.html   |  2 +-
 books/dubbo-user-book/references/protocol/hessian.html |  2 +-
 books/dubbo-user-book/references/protocol/http.html    |  2 +-
 .../references/protocol/introduction.html              |  2 +-
 .../dubbo-user-book/references/protocol/memcached.html |  2 +-
 books/dubbo-user-book/references/protocol/redis.html   |  4 ++--
 books/dubbo-user-book/references/protocol/rmi.html     |  2 +-
 books/dubbo-user-book/references/protocol/thrift.html  |  2 +-
 .../references/protocol/webservice.html                |  2 +-
 books/dubbo-user-book/references/qos.html              | 10 +++++-----
 .../references/registry/introduction.html              |  2 +-
 .../dubbo-user-book/references/registry/multicast.html |  2 +-
 books/dubbo-user-book/references/registry/redis.html   |  2 +-
 books/dubbo-user-book/references/registry/simple.html  |  6 +++---
 .../dubbo-user-book/references/registry/zookeeper.html |  2 +-
 books/dubbo-user-book/references/telnet.html           |  4 ++--
 .../references/xml/dubbo-application.html              |  2 +-
 .../dubbo-user-book/references/xml/dubbo-argument.html |  2 +-
 .../dubbo-user-book/references/xml/dubbo-consumer.html |  2 +-
 books/dubbo-user-book/references/xml/dubbo-method.html |  2 +-
 books/dubbo-user-book/references/xml/dubbo-module.html |  2 +-
 .../dubbo-user-book/references/xml/dubbo-monitor.html  |  2 +-
 .../references/xml/dubbo-parameter.html                |  2 +-
 .../dubbo-user-book/references/xml/dubbo-protocol.html |  2 +-
 .../dubbo-user-book/references/xml/dubbo-provider.html |  2 +-
 .../references/xml/dubbo-reference.html                |  2 +-
 .../dubbo-user-book/references/xml/dubbo-registry.html |  2 +-
 .../dubbo-user-book/references/xml/dubbo-service.html  |  2 +-
 books/dubbo-user-book/references/xml/introduction.html |  4 ++--
 books/dubbo-user-book/search_index.json                |  2 +-
 books/dubbo-user-book/simple-monitor.md                |  8 ++++----
 index.html                                             |  2 +-
 305 files changed, 386 insertions(+), 378 deletions(-)

diff --git a/books/dubbo-admin-book-en/index.html b/books/dubbo-admin-book-en/index.html
index 0707d0b..16d362b 100644
--- a/books/dubbo-admin-book-en/index.html
+++ b/books/dubbo-admin-book-en/index.html
@@ -328,7 +328,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 install manual","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consume [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 install manual","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consume [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/admin-console.html b/books/dubbo-admin-book-en/install/admin-console.html
index 76966a1..056930f 100644
--- a/books/dubbo-admin-book-en/install/admin-console.html
+++ b/books/dubbo-admin-book-en/install/admin-console.html
@@ -290,7 +290,7 @@
                                 <h1 id="install-admin-console">Install admin console</h1>
 <p>Include: route rule, dynamic configuration, service downgrade, access control, weight adjustment, load balance, etc.</p>
 <p>Install:</p>
-<pre><code class="lang-sh">wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
+<pre><code class="lang-sh">wget https://archive.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
 tar zxvf apache-tomcat-6.0.35.tar.gz
 <span class="hljs-built_in">cd</span> apache-tomcat-6.0.35
 rm -rf webapps/ROOT
@@ -362,7 +362,7 @@ dubbo.admin.guest.password=guest
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.7 install admin console","level":"1.2.7","depth":2,"next":{"title":"2 Ops manual","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"previous":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"d [...]
+            gitbook.page.hasChanged({"page":{"title":"1.7 install admin console","level":"1.2.7","depth":2,"next":{"title":"2 Ops manual","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"previous":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"d [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/consumer-demo.html b/books/dubbo-admin-book-en/install/consumer-demo.html
index 3ce9c2c..03112e8 100644
--- a/books/dubbo-admin-book-en/install/consumer-demo.html
+++ b/books/dubbo-admin-book-en/install/consumer-demo.html
@@ -343,7 +343,7 @@ change dubbo:registery to the real registery center address
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"next":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"previous":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"next":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"previous":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/introduction.html b/books/dubbo-admin-book-en/install/introduction.html
index 367e5b6..995ef51 100644
--- a/books/dubbo-admin-book-en/install/introduction.html
+++ b/books/dubbo-admin-book-en/install/introduction.html
@@ -341,7 +341,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 install manual","level":"1.2","depth":1,"next":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
+            gitbook.page.hasChanged({"page":{"title":"1 install manual","level":"1.2","depth":1,"next":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/provider-demo.html b/books/dubbo-admin-book-en/install/provider-demo.html
index 632cd61..f4abef0 100644
--- a/books/dubbo-admin-book-en/install/provider-demo.html
+++ b/books/dubbo-admin-book-en/install/provider-demo.html
@@ -343,7 +343,7 @@ change dubbo:registery to a real registery server address, zookeeper is recomman
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"next":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"previous":{"title":"1 install manual","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo. [...]
+            gitbook.page.hasChanged({"page":{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"next":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"previous":{"title":"1 install manual","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 install provider demo","level":"1.2.1","depth":2,"path":"install/provider-demo. [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/redis.html b/books/dubbo-admin-book-en/install/redis.html
index 8a4b962..7c8d995 100644
--- a/books/dubbo-admin-book-en/install/redis.html
+++ b/books/dubbo-admin-book-en/install/redis.html
@@ -294,7 +294,7 @@
 <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" target="_blank">quick start</a></p>
 <p>Redis configuration center cluster <sup><a href="#fn_2" id="reffn_2">2</a></sup> write multiple server in client side and read from a single server.</p>
 <p>Install:</p>
-<pre><code class="lang-sh">wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
+<pre><code class="lang-sh">wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/redis/redis-2.4.8.tar.gz
 tar xzf redis-2.4.8.tar.gz
 <span class="hljs-built_in">cd</span> redis-2.4.8
 make
@@ -370,7 +370,7 @@ hgetall /dubbo/com.foo.BarService/providers
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"next":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"previous":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"dir":"ltr"},"config":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"next":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"previous":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"dir":"ltr"},"config":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/simple-monitor-center.html b/books/dubbo-admin-book-en/install/simple-monitor-center.html
index d95fa38..6c830b9 100644
--- a/books/dubbo-admin-book-en/install/simple-monitor-center.html
+++ b/books/dubbo-admin-book-en/install/simple-monitor-center.html
@@ -385,7 +385,7 @@ Simple Monitor use disk to store statistics information, please focus on the lim
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"next":{"title":"1.7 install admin console","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"previous":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*", [...]
+            gitbook.page.hasChanged({"page":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"next":{"title":"1.7 install admin console","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"previous":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*", [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/simple-registry-center.html b/books/dubbo-admin-book-en/install/simple-registry-center.html
index 7bb4c62..48ad26d 100644
--- a/books/dubbo-admin-book-en/install/simple-registry-center.html
+++ b/books/dubbo-admin-book-en/install/simple-registry-center.html
@@ -378,7 +378,7 @@ help
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"next":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"previous":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","them [...]
+            gitbook.page.hasChanged({"page":{"title":"1.5 install Simple configuration center","level":"1.2.5","depth":2,"next":{"title":"1.6 install Simple monitor center","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"previous":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","them [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/install/zookeeper.html b/books/dubbo-admin-book-en/install/zookeeper.html
index 116c391..ec5242b 100644
--- a/books/dubbo-admin-book-en/install/zookeeper.html
+++ b/books/dubbo-admin-book-en/install/zookeeper.html
@@ -293,7 +293,7 @@
 <p>zookeeper register center client version: <code>dubbo-2.3.3</code> and above<sup><a href="#fn_1" id="reffn_1">1</a></sup></p>
 <p>Dubbo changes nothing of Zookeeper&apos;s server side, an original Zookeeper server is fine. All change happens while calling Zookeeper&apos;s client side</p>
 <p>install:</p>
-<pre><code class="lang-sh">wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
+<pre><code class="lang-sh">wget http://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
 tar zxvf zookeeper-3.3.3.tar.gz
 <span class="hljs-built_in">cd</span> zookeeper-3.3.3
 cp conf/zoo_sample.cfg conf/zoo.cfg
@@ -400,7 +400,7 @@ dump
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"next":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"previous":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variabl [...]
+            gitbook.page.hasChanged({"page":{"title":"1.3 install Zookeeper configuration center","level":"1.2.3","depth":2,"next":{"title":"1.4 install Redis configuration center","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"previous":{"title":"1.2 install consumer demo","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variabl [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/ops/dubbo-ops.html b/books/dubbo-admin-book-en/ops/dubbo-ops.html
index e824aa8..7c4c76b 100644
--- a/books/dubbo-admin-book-en/ops/dubbo-ops.html
+++ b/books/dubbo-admin-book-en/ops/dubbo-ops.html
@@ -342,7 +342,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"previous":{"title":"2 Ops manual","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters [...]
+            gitbook.page.hasChanged({"page":{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"previous":{"title":"2 Ops manual","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 admin-console Ops","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book-en/search_index.json b/books/dubbo-admin-book-en/search_index.json
index 1979530..14a81c5 100644
--- a/books/dubbo-admin-book-en/search_index.json
+++ b/books/dubbo-admin-book-en/search_index.json
@@ -1 +1 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["admin","admin.","book","center","dubbo","guidanc","instal","introduct","mainten","registri"],"install/introduction.html":["1","1.","127.0.0.1","224.0.0.0","239.255.255.255","add","address","address,","balance.","broadcast","broadcast,","call","center","center,","chang","conf/dubbo.properti","configur","conflict,","consum [...]
\ No newline at end of file
+{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["admin","admin.","book","center","dubbo","guidanc","instal","introduct","mainten","registri"],"install/introduction.html":["1","1.","127.0.0.1","224.0.0.0","239.255.255.255","add","address","address,","balance.","broadcast","broadcast,","call","center","center,","chang","conf/dubbo.properti","configur","conflict,","consum [...]
\ No newline at end of file
diff --git a/books/dubbo-admin-book/index.html b/books/dubbo-admin-book/index.html
index f899dde..798d7a2 100644
--- a/books/dubbo-admin-book/index.html
+++ b/books/dubbo-admin-book/index.html
@@ -327,7 +327,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 安装手册","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},{"title":"1. [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 安装手册","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},{"title":"1. [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/admin-console.html b/books/dubbo-admin-book/install/admin-console.html
index 485f7cd..0ceb022 100644
--- a/books/dubbo-admin-book/install/admin-console.html
+++ b/books/dubbo-admin-book/install/admin-console.html
@@ -292,7 +292,7 @@
                                 <h1 id="&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x5B89;&#x88C5;">&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x5B89;&#x88C5;</h1>
 <p>&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x4E3A;&#x5185;&#x90E8;&#x88C1;&#x526A;&#x7248;&#x672C;&#xFF0C;&#x5F00;&#x6E90;&#x90E8;&#x5206;&#x4E3B;&#x8981;&#x5305;&#x542B;&#xFF1A;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#xFF0C;&#x670D;&#x52A1;&#x964D;&#x7EA7;&#xFF0C;&#x8BBF;&#x95EE;&#x63A7;&#x5236;&#xFF0C;&#x6743;&#x91CD;&#x8C03;&#x6574;&#xFF0C;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#xFF0C;&#x7B49;&#x7BA1;&#x7406;&#x529F;&#x80FD;&#x3002;</p>
 <p>&#x5B89;&#x88C5;:</p>
-<pre><code class="lang-sh">wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
+<pre><code class="lang-sh">wget https://archive.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
 tar zxvf apache-tomcat-6.0.35.tar.gz
 <span class="hljs-built_in">cd</span> apache-tomcat-6.0.35
 rm -rf webapps/ROOT
@@ -368,7 +368,7 @@ dubbo.admin.guest.password=guest
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"next":{"title":"2 运维手册","level":"1.3","depth":1,"path":"ops/introduction.md","ref":"ops/introduction.md","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"previous":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]}, [...]
+            gitbook.page.hasChanged({"page":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"next":{"title":"2 运维手册","level":"1.3","depth":1,"path":"ops/introduction.md","ref":"ops/introduction.md","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"previous":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]}, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/consumer-demo.html b/books/dubbo-admin-book/install/consumer-demo.html
index 70eb014..7dd14ad 100644
--- a/books/dubbo-admin-book/install/consumer-demo.html
+++ b/books/dubbo-admin-book/install/consumer-demo.html
@@ -344,7 +344,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"next":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"previous":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
+            gitbook.page.hasChanged({"page":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"next":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"previous":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/introduction.html b/books/dubbo-admin-book/install/introduction.html
index 0670182..66b93a7 100644
--- a/books/dubbo-admin-book/install/introduction.html
+++ b/books/dubbo-admin-book/install/introduction.html
@@ -341,7 +341,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 安装手册","level":"1.2","depth":1,"next":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000 [...]
+            gitbook.page.hasChanged({"page":{"title":"1 安装手册","level":"1.2","depth":1,"next":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/provider-demo.html b/books/dubbo-admin-book/install/provider-demo.html
index 0bbc0a3..cc01dde 100644
--- a/books/dubbo-admin-book/install/provider-demo.html
+++ b/books/dubbo-admin-book/install/provider-demo.html
@@ -343,7 +343,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"next":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"previous":{"title":"1 安装手册","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]}, [...]
+            gitbook.page.hasChanged({"page":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"next":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"previous":{"title":"1 安装手册","level":"1.2","depth":1,"path":"install/introduction.md","ref":"install/introduction.md","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install/provider-demo.md","ref":"install/provider-demo.md","articles":[]}, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/redis.html b/books/dubbo-admin-book/install/redis.html
index a088aad..50a5007 100644
--- a/books/dubbo-admin-book/install/redis.html
+++ b/books/dubbo-admin-book/install/redis.html
@@ -294,7 +294,7 @@
 <p>&#x53EA;&#x9700;&#x642D;&#x4E00;&#x4E2A;&#x539F;&#x751F;&#x7684; Redis &#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5E76;&#x5C06;<a href="http://dubbo.apache.org/books/dubbo-user-book/quick-start.html" target="_blank">&#x5FEB;&#x901F;&#x542F;&#x52A8;</a>&#x4E2D; Provider &#x548C; Consumer &#x91CC;&#x7684; <code>conf/dubbo.properties</code> &#x4E2D;&#x7684; <code>dubbo.registry.addrss</code> &#x7684;&#x503C;&#x6539;&#x4E3A; <code>redis://127.0.0.1:6379</code> &#x5373;&#x53EF;&#x4F7F;&#x7528;&#x3 [...]
 <p>Redis &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x96C6;&#x7FA4; <sup><a href="#fn_2" id="reffn_2">2</a></sup> &#x91C7;&#x7528;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x540C;&#x65F6;&#x5199;&#x5165;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x8BFB;&#x53D6;&#x5355;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#x7684;&#x7B56;&#x7565;&#x5B9E;&#x73B0;&#x3002;</p>
 <p>&#x5B89;&#x88C5;:</p>
-<pre><code class="lang-sh">wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
+<pre><code class="lang-sh">wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/redis/redis-2.4.8.tar.gz
 tar xzf redis-2.4.8.tar.gz
 <span class="hljs-built_in">cd</span> redis-2.4.8
 make
@@ -370,7 +370,7 @@ hgetall /dubbo/com.foo.BarService/providers
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"next":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"previous":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"next":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"previous":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"path":"install/zookeeper.md","ref":"install/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/simple-monitor-center.html b/books/dubbo-admin-book/install/simple-monitor-center.html
index eea645c..31928de 100644
--- a/books/dubbo-admin-book/install/simple-monitor-center.html
+++ b/books/dubbo-admin-book/install/simple-monitor-center.html
@@ -385,7 +385,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"next":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"previous":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"next":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"previous":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"path":"install/simple-registry-center.md","ref":"install/simple-registry-center.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/simple-registry-center.html b/books/dubbo-admin-book/install/simple-registry-center.html
index 86c2e2b..32f5011 100644
--- a/books/dubbo-admin-book/install/simple-registry-center.html
+++ b/books/dubbo-admin-book/install/simple-registry-center.html
@@ -378,7 +378,7 @@ help
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"next":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"previous":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"h [...]
+            gitbook.page.hasChanged({"page":{"title":"1.5 Simple 注册中心安装","level":"1.2.5","depth":2,"next":{"title":"1.6 Simple 监控中心安装","level":"1.2.6","depth":2,"path":"install/simple-monitor-center.md","ref":"install/simple-monitor-center.md","articles":[]},"previous":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"h [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/install/zookeeper.html b/books/dubbo-admin-book/install/zookeeper.html
index 07cbc1d..3321d62 100644
--- a/books/dubbo-admin-book/install/zookeeper.html
+++ b/books/dubbo-admin-book/install/zookeeper.html
@@ -293,7 +293,7 @@
 <p>&#x5EFA;&#x8BAE;&#x4F7F;&#x7528; <code>dubbo-2.3.3</code> &#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x7684; zookeeper <sup><a href="#fn_1" id="reffn_1">1</a></sup> &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
 <p>Dubbo &#x672A;&#x5BF9; Zookeeper &#x670D;&#x52A1;&#x5668;&#x7AEF;&#x505A;&#x4EFB;&#x4F55;&#x4FB5;&#x5165;&#x4FEE;&#x6539;&#xFF0C;&#x53EA;&#x9700;&#x5B89;&#x88C5;&#x539F;&#x751F;&#x7684; Zookeeper &#x670D;&#x52A1;&#x5668;&#x5373;&#x53EF;&#xFF0C;&#x6240;&#x6709;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x903B;&#x8F91;&#x9002;&#x914D;&#x90FD;&#x5728;&#x8C03;&#x7528; Zookeeper &#x5BA2;&#x6237;&#x7AEF;&#x65F6;&#x5B8C;&#x6210;&#x3002;</p>
 <p>&#x5B89;&#x88C5;:</p>
-<pre><code class="lang-sh">wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
+<pre><code class="lang-sh">wget http://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
 tar zxvf zookeeper-3.3.3.tar.gz
 <span class="hljs-built_in">cd</span> zookeeper-3.3.3
 cp conf/zoo_sample.cfg conf/zoo.cfg
@@ -400,7 +400,7 @@ dump
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"next":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"previous":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
+            gitbook.page.hasChanged({"page":{"title":"1.3 Zookeeper 注册中心安装","level":"1.2.3","depth":2,"next":{"title":"1.4 Redis 注册中心安装","level":"1.2.4","depth":2,"path":"install/redis.md","ref":"install/redis.md","articles":[]},"previous":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install/consumer-demo.md","ref":"install/consumer-demo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/ops/dubbo-ops.html b/books/dubbo-admin-book/ops/dubbo-ops.html
index ebdaf54..11cd362 100644
--- a/books/dubbo-admin-book/ops/dubbo-ops.html
+++ b/books/dubbo-admin-book/ops/dubbo-ops.html
@@ -348,7 +348,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"previous":{"title":"2 运维手册","level":"1.3","depth":1,"path":"ops/introduction.md","ref":"ops/introduction.md","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"i [...]
+            gitbook.page.hasChanged({"page":{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"previous":{"title":"2 运维手册","level":"1.3","depth":1,"path":"ops/introduction.md","ref":"ops/introduction.md","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"i [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/ops/introduction.html b/books/dubbo-admin-book/ops/introduction.html
index b8a0974..70d7467 100644
--- a/books/dubbo-admin-book/ops/introduction.html
+++ b/books/dubbo-admin-book/ops/introduction.html
@@ -333,7 +333,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 运维手册","level":"1.3","depth":1,"next":{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]},"previous":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInd [...]
+            gitbook.page.hasChanged({"page":{"title":"2 运维手册","level":"1.3","depth":1,"next":{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops/dubbo-ops.md","ref":"ops/dubbo-ops.md","articles":[]},"previous":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install/admin-console.md","ref":"install/admin-console.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInd [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-admin-book/search_index.json b/books/dubbo-admin-book/search_index.json
index 8ff6477..1e86661 100644
--- a/books/dubbo-admin-book/search_index.json
+++ b/books/dubbo-admin-book/search_index.json
@@ -1 +1 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["dubbo","introduct","注册中心、管理控制台的安装和使用。","这篇文档详细讲解了"],"install/introduction.html":["1","1.","127.0.0.1,也不能配成机器的","239.255.255.255","conf/dubbo.properti","conf/dubbo.properties,将","consum","consumer,simpl","consumer,它们缺省配置为通过","consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。","consumer,来验证软负载均衡,demo","d","demo","dubbo.protocol.port"," [...]
\ No newline at end of file
+{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["dubbo","introduct","注册中心、管理控制台的安装和使用。","这篇文档详细讲解了"],"install/introduction.html":["1","1.","127.0.0.1,也不能配成机器的","239.255.255.255","conf/dubbo.properti","conf/dubbo.properties,将","consum","consumer,simpl","consumer,它们缺省配置为通过","consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。","consumer,来验证软负载均衡,demo","d","demo","dubbo.protocol.port"," [...]
\ No newline at end of file
diff --git a/books/dubbo-dev-book-en/SPI.html b/books/dubbo-dev-book-en/SPI.html
index 63e93f2..9f030e1 100644
--- a/books/dubbo-dev-book-en/SPI.html
+++ b/books/dubbo-dev-book-en/SPI.html
@@ -858,7 +858,7 @@ Wheel wheel = wheelMaker.makeWheel(url);
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3 How SPI Works","level":"1.4","depth":1,"next":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"previous":{"title":"2 Architecture","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
+            gitbook.page.hasChanged({"page":{"title":"3 How SPI Works","level":"1.4","depth":1,"next":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"previous":{"title":"2 Architecture","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/TCK.html b/books/dubbo-dev-book-en/TCK.html
index 7a9c165..dbd5268 100644
--- a/books/dubbo-dev-book-en/TCK.html
+++ b/books/dubbo-dev-book-en/TCK.html
@@ -698,7 +698,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"13 TCK","level":"1.13","depth":1,"previous":{"title":"12 Code Smell","level":"1.12","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false," [...]
+            gitbook.page.hasChanged({"page":{"title":"13 TCK","level":"1.13","depth":1,"previous":{"title":"12 Code Smell","level":"1.12","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/build.html b/books/dubbo-dev-book-en/build.html
index c997fc3..5ff0213 100644
--- a/books/dubbo-dev-book-en/build.html
+++ b/books/dubbo-dev-book-en/build.html
@@ -732,7 +732,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 How To Build","level":"1.2","depth":1,"next":{"title":"2 Architecture","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
+            gitbook.page.hasChanged({"page":{"title":"1 How To Build","level":"1.2","depth":1,"next":{"title":"2 Architecture","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/checklist.html b/books/dubbo-dev-book-en/checklist.html
index 4caa659..c1ffc4b 100644
--- a/books/dubbo-dev-book-en/checklist.html
+++ b/books/dubbo-dev-book-en/checklist.html
@@ -709,7 +709,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 Checklist","level":"1.11","depth":1,"next":{"title":"12 Code Smell","level":"1.12","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"previous":{"title":"10 Contribution","level":"1.10","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1 [...]
+            gitbook.page.hasChanged({"page":{"title":"11 Checklist","level":"1.11","depth":1,"next":{"title":"12 Code Smell","level":"1.12","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"previous":{"title":"10 Contribution","level":"1.10","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/code-smell.html b/books/dubbo-dev-book-en/code-smell.html
index 5be157a..6fea546 100644
--- a/books/dubbo-dev-book-en/code-smell.html
+++ b/books/dubbo-dev-book-en/code-smell.html
@@ -805,7 +805,7 @@ GETROUTE(script://path/file.js?type=js&amp;rule=ENCODE(function{...}))
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 Code Smell","level":"1.12","depth":1,"next":{"title":"13 TCK","level":"1.13","depth":1,"path":"TCK.md","ref":"./TCK.md","articles":[]},"previous":{"title":"11 Checklist","level":"1.11","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacte [...]
+            gitbook.page.hasChanged({"page":{"title":"12 Code Smell","level":"1.12","depth":1,"next":{"title":"13 TCK","level":"1.13","depth":1,"path":"TCK.md","ref":"./TCK.md","articles":[]},"previous":{"title":"11 Checklist","level":"1.11","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacte [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/coding.html b/books/dubbo-dev-book-en/coding.html
index f534587..4656a5a 100644
--- a/books/dubbo-dev-book-en/coding.html
+++ b/books/dubbo-dev-book-en/coding.html
@@ -747,7 +747,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 Code Style","level":"1.8","depth":1,"next":{"title":"9 Versions","level":"1.9","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"previous":{"title":"6 Contract","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
+            gitbook.page.hasChanged({"page":{"title":"7 Code Style","level":"1.8","depth":1,"next":{"title":"9 Versions","level":"1.9","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"previous":{"title":"6 Contract","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/contract.html b/books/dubbo-dev-book-en/contract.html
index c2db28f..4fcfb98 100644
--- a/books/dubbo-dev-book-en/contract.html
+++ b/books/dubbo-dev-book-en/contract.html
@@ -703,7 +703,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 Contract","level":"1.7","depth":1,"next":{"title":"7 Code Style","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"previous":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
+            gitbook.page.hasChanged({"page":{"title":"6 Contract","level":"1.7","depth":1,"next":{"title":"7 Code Style","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"previous":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/contribution.html b/books/dubbo-dev-book-en/contribution.html
index af483b7..5042c5d 100644
--- a/books/dubbo-dev-book-en/contribution.html
+++ b/books/dubbo-dev-book-en/contribution.html
@@ -1054,7 +1054,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 Contribution","level":"1.10","depth":1,"next":{"title":"11 Checklist","level":"1.11","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"previous":{"title":"9 Versions","level":"1.9","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSp [...]
+            gitbook.page.hasChanged({"page":{"title":"10 Contribution","level":"1.10","depth":1,"next":{"title":"11 Checklist","level":"1.11","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"previous":{"title":"9 Versions","level":"1.9","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSp [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/design.html b/books/dubbo-dev-book-en/design.html
index f66fcf4..1b7a1f0 100644
--- a/books/dubbo-dev-book-en/design.html
+++ b/books/dubbo-dev-book-en/design.html
@@ -772,7 +772,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 Architecture","level":"1.3","depth":1,"next":{"title":"3 How SPI Works","level":"1.4","depth":1,"path":"SPI.md","ref":"./SPI.md","articles":[]},"previous":{"title":"1 How To Build","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharact [...]
+            gitbook.page.hasChanged({"page":{"title":"2 Architecture","level":"1.3","depth":1,"next":{"title":"3 How SPI Works","level":"1.4","depth":1,"path":"SPI.md","ref":"./SPI.md","articles":[]},"previous":{"title":"1 How To Build","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharact [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/implementation.html b/books/dubbo-dev-book-en/implementation.html
index 5fe40a1..9802801 100644
--- a/books/dubbo-dev-book-en/implementation.html
+++ b/books/dubbo-dev-book-en/implementation.html
@@ -789,7 +789,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"next":{"title":"5 SPI Extensions","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},{"title":"5.3 Invo [...]
+            gitbook.page.hasChanged({"page":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"next":{"title":"5 SPI Extensions","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},{"title":"5.3 Invo [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/cache.html b/books/dubbo-dev-book-en/impls/cache.html
index d5fead9..435a861 100644
--- a/books/dubbo-dev-book-en/impls/cache.html
+++ b/books/dubbo-dev-book-en/impls/cache.html
@@ -752,7 +752,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.24 Cache","level":"1.6.24","depth":2,"next":{"title":"5.25 Validation","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"previous":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.24 Cache","level":"1.6.24","depth":2,"next":{"title":"5.25 Validation","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"previous":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/cluster.html b/books/dubbo-dev-book-en/impls/cluster.html
index cd9a642..f41df17 100644
--- a/books/dubbo-dev-book-en/impls/cluster.html
+++ b/books/dubbo-dev-book-en/impls/cluster.html
@@ -746,7 +746,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"next":{"title":"5.6 Router","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"previous":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
+            gitbook.page.hasChanged({"page":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"next":{"title":"5.6 Router","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"previous":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/compiler.html b/books/dubbo-dev-book-en/impls/compiler.html
index 4761378..6056a7d 100644
--- a/books/dubbo-dev-book-en/impls/compiler.html
+++ b/books/dubbo-dev-book-en/impls/compiler.html
@@ -728,7 +728,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"next":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"previous":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"next":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"previous":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/container.html b/books/dubbo-dev-book-en/impls/container.html
index 1dd8b5f..1d60b30 100644
--- a/books/dubbo-dev-book-en/impls/container.html
+++ b/books/dubbo-dev-book-en/impls/container.html
@@ -734,7 +734,7 @@ com.alibaba.dubbo.container.Container;
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.22 Container","level":"1.6.22","depth":2,"next":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"previous":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
+            gitbook.page.hasChanged({"page":{"title":"5.22 Container","level":"1.6.22","depth":2,"next":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"previous":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"searc [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/dispatcher.html b/books/dubbo-dev-book-en/impls/dispatcher.html
index 9cc5a97..54d481a 100644
--- a/books/dubbo-dev-book-en/impls/dispatcher.html
+++ b/books/dubbo-dev-book-en/impls/dispatcher.html
@@ -734,7 +734,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"next":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"previous":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"next":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"previous":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/exchanger.html b/books/dubbo-dev-book-en/impls/exchanger.html
index 9928d84..009c168 100644
--- a/books/dubbo-dev-book-en/impls/exchanger.html
+++ b/books/dubbo-dev-book-en/impls/exchanger.html
@@ -757,7 +757,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"next":{"title":"5.19 Networker","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"previous":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
+            gitbook.page.hasChanged({"page":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"next":{"title":"5.19 Networker","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"previous":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/exporter-listener.html b/books/dubbo-dev-book-en/impls/exporter-listener.html
index 6ff7689..9ba13f8 100644
--- a/books/dubbo-dev-book-en/impls/exporter-listener.html
+++ b/books/dubbo-dev-book-en/impls/exporter-listener.html
@@ -735,7 +735,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"next":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"previous":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"next":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"previous":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/extension-factory.html b/books/dubbo-dev-book-en/impls/extension-factory.html
index 7855f08..0eecb04 100644
--- a/books/dubbo-dev-book-en/impls/extension-factory.html
+++ b/books/dubbo-dev-book-en/impls/extension-factory.html
@@ -729,7 +729,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"next":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"previous":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}, [...]
+            gitbook.page.hasChanged({"page":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"next":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"previous":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/filter.html b/books/dubbo-dev-book-en/impls/filter.html
index cfac69e..b5e0dd3 100644
--- a/books/dubbo-dev-book-en/impls/filter.html
+++ b/books/dubbo-dev-book-en/impls/filter.html
@@ -761,7 +761,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.2 Filter","level":"1.6.2","depth":2,"next":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"previous":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
+            gitbook.page.hasChanged({"page":{"title":"5.2 Filter","level":"1.6.2","depth":2,"next":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"previous":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/introduction.html b/books/dubbo-dev-book-en/impls/introduction.html
index ecf6f5f..0b4f5d2 100644
--- a/books/dubbo-dev-book-en/impls/introduction.html
+++ b/books/dubbo-dev-book-en/impls/introduction.html
@@ -692,7 +692,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 SPI Extensions","level":"1.6","depth":1,"next":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"previous":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"5 SPI Extensions","level":"1.6","depth":1,"next":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"previous":{"title":"4 Init, Process, Protocols","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/invoker-listener.html b/books/dubbo-dev-book-en/impls/invoker-listener.html
index c1376fb..e20ba05 100644
--- a/books/dubbo-dev-book-en/impls/invoker-listener.html
+++ b/books/dubbo-dev-book-en/impls/invoker-listener.html
@@ -735,7 +735,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"next":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"previous":{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"5.3 InvokerListener","level":"1.6.3","depth":2,"next":{"title":"5.4 ExporterListener","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"previous":{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/load-balance.html b/books/dubbo-dev-book-en/impls/load-balance.html
index aba0ddf..03cd405 100644
--- a/books/dubbo-dev-book-en/impls/load-balance.html
+++ b/books/dubbo-dev-book-en/impls/load-balance.html
@@ -735,7 +735,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"next":{"title":"5.8 Merger","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"previous":{"title":"5.6 Router","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"next":{"title":"5.8 Merger","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"previous":{"title":"5.6 Router","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/logger-adapter.html b/books/dubbo-dev-book-en/impls/logger-adapter.html
index b835e88..3479998 100644
--- a/books/dubbo-dev-book-en/impls/logger-adapter.html
+++ b/books/dubbo-dev-book-en/impls/logger-adapter.html
@@ -749,7 +749,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"next":{"title":"6 Contract","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"previous":{"title":"5.25 Validation","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIn [...]
+            gitbook.page.hasChanged({"page":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"next":{"title":"6 Contract","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"previous":{"title":"5.25 Validation","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIn [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/merger.html b/books/dubbo-dev-book-en/impls/merger.html
index c355550..9c1dd31 100644
--- a/books/dubbo-dev-book-en/impls/merger.html
+++ b/books/dubbo-dev-book-en/impls/merger.html
@@ -731,7 +731,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.8 Merger","level":"1.6.8","depth":2,"next":{"title":"5.9 Registry","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"previous":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
+            gitbook.page.hasChanged({"page":{"title":"5.8 Merger","level":"1.6.8","depth":2,"next":{"title":"5.9 Registry","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"previous":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/monitor.html b/books/dubbo-dev-book-en/impls/monitor.html
index 2e492cf..5d2d9f3 100644
--- a/books/dubbo-dev-book-en/impls/monitor.html
+++ b/books/dubbo-dev-book-en/impls/monitor.html
@@ -744,7 +744,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"next":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"previous":{"title":"5.9 Registry","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"next":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"previous":{"title":"5.9 Registry","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/networker.html b/books/dubbo-dev-book-en/impls/networker.html
index 484172d..845a68d 100644
--- a/books/dubbo-dev-book-en/impls/networker.html
+++ b/books/dubbo-dev-book-en/impls/networker.html
@@ -731,7 +731,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.19 Networker","level":"1.6.19","depth":2,"next":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"previous":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"5.19 Networker","level":"1.6.19","depth":2,"next":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"previous":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/page.html b/books/dubbo-dev-book-en/impls/page.html
index 3eaceae..de25346 100644
--- a/books/dubbo-dev-book-en/impls/page.html
+++ b/books/dubbo-dev-book-en/impls/page.html
@@ -733,7 +733,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"next":{"title":"5.24 Cache","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"previous":{"title":"5.22 Container","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"m [...]
+            gitbook.page.hasChanged({"page":{"title":"5.23 PageHandler","level":"1.6.23","depth":2,"next":{"title":"5.24 Cache","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"previous":{"title":"5.22 Container","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"m [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/protocol.html b/books/dubbo-dev-book-en/impls/protocol.html
index e5d8fd9..f9e13e1 100644
--- a/books/dubbo-dev-book-en/impls/protocol.html
+++ b/books/dubbo-dev-book-en/impls/protocol.html
@@ -816,7 +816,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"next":{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"previous":{"title":"5 SPI Extensions","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 Filte [...]
+            gitbook.page.hasChanged({"page":{"title":"5.1 Protocol","level":"1.6.1","depth":2,"next":{"title":"5.2 Filter","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"previous":{"title":"5 SPI Extensions","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 Protocol","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 Filte [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/proxy-factory.html b/books/dubbo-dev-book-en/impls/proxy-factory.html
index f69b1eb..847f12e 100644
--- a/books/dubbo-dev-book-en/impls/proxy-factory.html
+++ b/books/dubbo-dev-book-en/impls/proxy-factory.html
@@ -737,7 +737,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"next":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"previous":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hig [...]
+            gitbook.page.hasChanged({"page":{"title":"5.12 ProxyFactory","level":"1.6.12","depth":2,"next":{"title":"5.13 Compiler","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"previous":{"title":"5.11 ExtensionFactory","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hig [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/registry.html b/books/dubbo-dev-book-en/impls/registry.html
index a50a825..7230700 100644
--- a/books/dubbo-dev-book-en/impls/registry.html
+++ b/books/dubbo-dev-book-en/impls/registry.html
@@ -866,7 +866,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.9 Registry","level":"1.6.9","depth":2,"next":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"previous":{"title":"5.8 Merger","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSiz [...]
+            gitbook.page.hasChanged({"page":{"title":"5.9 Registry","level":"1.6.9","depth":2,"next":{"title":"5.10 Monitor","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"previous":{"title":"5.8 Merger","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSiz [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/remoting.html b/books/dubbo-dev-book-en/impls/remoting.html
index f7a5d18..1a35e5d 100644
--- a/books/dubbo-dev-book-en/impls/remoting.html
+++ b/books/dubbo-dev-book-en/impls/remoting.html
@@ -790,7 +790,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"next":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"previous":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"next":{"title":"5.18 Exchanger","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"previous":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/router.html b/books/dubbo-dev-book-en/impls/router.html
index bac27a6..97a1fbd 100644
--- a/books/dubbo-dev-book-en/impls/router.html
+++ b/books/dubbo-dev-book-en/impls/router.html
@@ -732,7 +732,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.6 Router","level":"1.6.6","depth":2,"next":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"previous":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.6 Router","level":"1.6.6","depth":2,"next":{"title":"5.7 LoadBalance","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"previous":{"title":"5.5 Cluster","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/serialize.html b/books/dubbo-dev-book-en/impls/serialize.html
index 3367d43..f55b147 100644
--- a/books/dubbo-dev-book-en/impls/serialize.html
+++ b/books/dubbo-dev-book-en/impls/serialize.html
@@ -746,7 +746,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"next":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"previous":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"next":{"title":"5.17 Remoting","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"previous":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/status-checker.html b/books/dubbo-dev-book-en/impls/status-checker.html
index 7e39073..b59b26e 100644
--- a/books/dubbo-dev-book-en/impls/status-checker.html
+++ b/books/dubbo-dev-book-en/impls/status-checker.html
@@ -736,7 +736,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"next":{"title":"5.22 Container","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"previous":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highligh [...]
+            gitbook.page.hasChanged({"page":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"next":{"title":"5.22 Container","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"previous":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highligh [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/telnet-handler.html b/books/dubbo-dev-book-en/impls/telnet-handler.html
index 8f6074f..288b164 100644
--- a/books/dubbo-dev-book-en/impls/telnet-handler.html
+++ b/books/dubbo-dev-book-en/impls/telnet-handler.html
@@ -746,7 +746,7 @@ dubbo&gt; xxx args
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"next":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"previous":{"title":"5.19 Networker","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highligh [...]
+            gitbook.page.hasChanged({"page":{"title":"5.20 TelnetHandler","level":"1.6.20","depth":2,"next":{"title":"5.21 StatusChecker","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"previous":{"title":"5.19 Networker","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highligh [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/threadpool.html b/books/dubbo-dev-book-en/impls/threadpool.html
index 5b2f300..92dc3e8 100644
--- a/books/dubbo-dev-book-en/impls/threadpool.html
+++ b/books/dubbo-dev-book-en/impls/threadpool.html
@@ -732,7 +732,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"next":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"previous":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
+            gitbook.page.hasChanged({"page":{"title":"5.15 Threadpool","level":"1.6.15","depth":2,"next":{"title":"5.16 Serialization","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"previous":{"title":"5.14 Dispatcher","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/impls/validation.html b/books/dubbo-dev-book-en/impls/validation.html
index a51a6f9..8f4c6d3 100644
--- a/books/dubbo-dev-book-en/impls/validation.html
+++ b/books/dubbo-dev-book-en/impls/validation.html
@@ -742,7 +742,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.25 Validation","level":"1.6.25","depth":2,"next":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"previous":{"title":"5.24 Cache","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.25 Validation","level":"1.6.25","depth":2,"next":{"title":"5.26 LoggerAdapter","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"previous":{"title":"5.24 Cache","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/index.html b/books/dubbo-dev-book-en/index.html
index 129bfc1..1ed6309 100644
--- a/books/dubbo-dev-book-en/index.html
+++ b/books/dubbo-dev-book-en/index.html
@@ -686,7 +686,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 How To Build","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 How To Build","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book-en/release.html b/books/dubbo-dev-book-en/release.html
index b42e944..f3c1ee5 100644
--- a/books/dubbo-dev-book-en/release.html
+++ b/books/dubbo-dev-book-en/release.html
@@ -722,7 +722,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 Versions","level":"1.9","depth":1,"next":{"title":"10 Contribution","level":"1.10","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"previous":{"title":"7 Code Style","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignor [...]
+            gitbook.page.hasChanged({"page":{"title":"9 Versions","level":"1.9","depth":1,"next":{"title":"10 Contribution","level":"1.10","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"previous":{"title":"7 Code Style","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignor [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/SPI.html b/books/dubbo-dev-book/SPI.html
index 175d612..efb24d5 100644
--- a/books/dubbo-dev-book/SPI.html
+++ b/books/dubbo-dev-book/SPI.html
@@ -968,7 +968,7 @@ Wheel wheel = wheelMaker.makeWheel(url);
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3 扩展点加载","level":"1.4","depth":1,"next":{"title":"4 实现细节","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"previous":{"title":"2 框架设计","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharact [...]
+            gitbook.page.hasChanged({"page":{"title":"3 扩展点加载","level":"1.4","depth":1,"next":{"title":"4 实现细节","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"previous":{"title":"2 框架设计","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharact [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/TCK.html b/books/dubbo-dev-book/TCK.html
index 87e90ad..c721be4 100644
--- a/books/dubbo-dev-book/TCK.html
+++ b/books/dubbo-dev-book/TCK.html
@@ -808,7 +808,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"13 技术兼容性测试","level":"1.14","depth":1,"previous":{"title":"12 坏味道","level":"1.13","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk" [...]
+            gitbook.page.hasChanged({"page":{"title":"13 技术兼容性测试","level":"1.14","depth":1,"previous":{"title":"12 坏味道","level":"1.13","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/build.html b/books/dubbo-dev-book/build.html
index 2089a92..e8b4e85 100644
--- a/books/dubbo-dev-book/build.html
+++ b/books/dubbo-dev-book/build.html
@@ -846,7 +846,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 源码构建","level":"1.2","depth":1,"next":{"title":"2 框架设计","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false}," [...]
+            gitbook.page.hasChanged({"page":{"title":"1 源码构建","level":"1.2","depth":1,"next":{"title":"2 框架设计","level":"1.3","depth":1,"path":"design.md","ref":"./design.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/checklist.html b/books/dubbo-dev-book/checklist.html
index 48fff13..6a00f57 100644
--- a/books/dubbo-dev-book/checklist.html
+++ b/books/dubbo-dev-book/checklist.html
@@ -827,7 +827,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 检查列表","level":"1.12","depth":1,"next":{"title":"12 坏味道","level":"1.13","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"previous":{"title":"10 贡献","level":"1.11","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialC [...]
+            gitbook.page.hasChanged({"page":{"title":"11 检查列表","level":"1.12","depth":1,"next":{"title":"12 坏味道","level":"1.13","depth":1,"path":"code-smell.md","ref":"./code-smell.md","articles":[]},"previous":{"title":"10 贡献","level":"1.11","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialC [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/code-smell.html b/books/dubbo-dev-book/code-smell.html
index 9110eca..d9b9a38 100644
--- a/books/dubbo-dev-book/code-smell.html
+++ b/books/dubbo-dev-book/code-smell.html
@@ -915,7 +915,7 @@ public class &lt;&#x6269;&#x5C55;&#x70B9;&#x63A5;&#x53E3;&#x540D;&gt;$Adpative i
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 坏味道","level":"1.13","depth":1,"next":{"title":"13 技术兼容性测试","level":"1.14","depth":1,"path":"TCK.md","ref":"./TCK.md","articles":[]},"previous":{"title":"11 检查列表","level":"1.12","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":fals [...]
+            gitbook.page.hasChanged({"page":{"title":"12 坏味道","level":"1.13","depth":1,"next":{"title":"13 技术兼容性测试","level":"1.14","depth":1,"path":"TCK.md","ref":"./TCK.md","articles":[]},"previous":{"title":"11 检查列表","level":"1.12","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":fals [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/coding.html b/books/dubbo-dev-book/coding.html
index c8d6cfa..f847caf 100644
--- a/books/dubbo-dev-book/coding.html
+++ b/books/dubbo-dev-book/coding.html
@@ -857,7 +857,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 编码约定","level":"1.8","depth":1,"next":{"title":"8 设计原则","level":"1.9","depth":1,"path":"principals/introduction.md","ref":"./principals/introduction.md","articles":[{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","art [...]
+            gitbook.page.hasChanged({"page":{"title":"7 编码约定","level":"1.8","depth":1,"next":{"title":"8 设计原则","level":"1.9","depth":1,"path":"principals/introduction.md","ref":"./principals/introduction.md","articles":[{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","art [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/contract.html b/books/dubbo-dev-book/contract.html
index e687b79..54161af 100644
--- a/books/dubbo-dev-book/contract.html
+++ b/books/dubbo-dev-book/contract.html
@@ -813,7 +813,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 公共契约","level":"1.7","depth":1,"next":{"title":"7 编码约定","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"previous":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"i [...]
+            gitbook.page.hasChanged({"page":{"title":"6 公共契约","level":"1.7","depth":1,"next":{"title":"7 编码约定","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"previous":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"i [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/contribution.html b/books/dubbo-dev-book/contribution.html
index 2cee512..5117296 100644
--- a/books/dubbo-dev-book/contribution.html
+++ b/books/dubbo-dev-book/contribution.html
@@ -1120,7 +1120,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 贡献","level":"1.11","depth":1,"next":{"title":"11 检查列表","level":"1.12","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"previous":{"title":"9 版本管理","level":"1.10","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":f [...]
+            gitbook.page.hasChanged({"page":{"title":"10 贡献","level":"1.11","depth":1,"next":{"title":"11 检查列表","level":"1.12","depth":1,"path":"checklist.md","ref":"./checklist.md","articles":[]},"previous":{"title":"9 版本管理","level":"1.10","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":f [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/design.html b/books/dubbo-dev-book/design.html
index 3a75cff..f0168be 100644
--- a/books/dubbo-dev-book/design.html
+++ b/books/dubbo-dev-book/design.html
@@ -882,7 +882,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 框架设计","level":"1.3","depth":1,"next":{"title":"3 扩展点加载","level":"1.4","depth":1,"path":"SPI.md","ref":"./SPI.md","articles":[]},"previous":{"title":"1 源码构建","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"2 框架设计","level":"1.3","depth":1,"next":{"title":"3 扩展点加载","level":"1.4","depth":1,"path":"SPI.md","ref":"./SPI.md","articles":[]},"previous":{"title":"1 源码构建","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/implementation.html b/books/dubbo-dev-book/implementation.html
index 0261f84..87b7774 100644
--- a/books/dubbo-dev-book/implementation.html
+++ b/books/dubbo-dev-book/implementation.html
@@ -900,7 +900,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4 实现细节","level":"1.5","depth":1,"next":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2, [...]
+            gitbook.page.hasChanged({"page":{"title":"4 实现细节","level":"1.5","depth":1,"next":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/cache.html b/books/dubbo-dev-book/impls/cache.html
index 8aefb22..21e1557 100644
--- a/books/dubbo-dev-book/impls/cache.html
+++ b/books/dubbo-dev-book/impls/cache.html
@@ -861,7 +861,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"next":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"previous":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"next":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"previous":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/cluster.html b/books/dubbo-dev-book/impls/cluster.html
index 181a004..2f31ad4 100644
--- a/books/dubbo-dev-book/impls/cluster.html
+++ b/books/dubbo-dev-book/impls/cluster.html
@@ -856,7 +856,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"next":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"previous":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"next":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"previous":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/compiler.html b/books/dubbo-dev-book/impls/compiler.html
index a19fa25..3e59279 100644
--- a/books/dubbo-dev-book/impls/compiler.html
+++ b/books/dubbo-dev-book/impls/compiler.html
@@ -838,7 +838,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"next":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"previous":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{}, [...]
+            gitbook.page.hasChanged({"page":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"next":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"previous":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{}, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/container.html b/books/dubbo-dev-book/impls/container.html
index b7a8d69..df89d2c 100644
--- a/books/dubbo-dev-book/impls/container.html
+++ b/books/dubbo-dev-book/impls/container.html
@@ -844,7 +844,7 @@ com.alibaba.dubbo.container.Container;
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"next":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"previous":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxI [...]
+            gitbook.page.hasChanged({"page":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"next":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"path":"impls/page.md","ref":"./impls/page.md","articles":[]},"previous":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxI [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/dispatcher.html b/books/dubbo-dev-book/impls/dispatcher.html
index 3960fee..1505b57 100644
--- a/books/dubbo-dev-book/impls/dispatcher.html
+++ b/books/dubbo-dev-book/impls/dispatcher.html
@@ -844,7 +844,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"next":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"previous":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"next":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"previous":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/exchanger.html b/books/dubbo-dev-book/impls/exchanger.html
index 331fb83..f856d62 100644
--- a/books/dubbo-dev-book/impls/exchanger.html
+++ b/books/dubbo-dev-book/impls/exchanger.html
@@ -867,7 +867,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"next":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"previous":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxI [...]
+            gitbook.page.hasChanged({"page":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"next":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"previous":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxI [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/exporter-listener.html b/books/dubbo-dev-book/impls/exporter-listener.html
index 7c23689..edbabce 100644
--- a/books/dubbo-dev-book/impls/exporter-listener.html
+++ b/books/dubbo-dev-book/impls/exporter-listener.html
@@ -845,7 +845,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"next":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"previous":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"next":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"previous":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/extension-factory.html b/books/dubbo-dev-book/impls/extension-factory.html
index f0b4263..53477b2 100644
--- a/books/dubbo-dev-book/impls/extension-factory.html
+++ b/books/dubbo-dev-book/impls/extension-factory.html
@@ -839,7 +839,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"next":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"previous":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
+            gitbook.page.hasChanged({"page":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"next":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"path":"impls/proxy-factory.md","ref":"./impls/proxy-factory.md","articles":[]},"previous":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/filter.html b/books/dubbo-dev-book/impls/filter.html
index cb0a022..cf0b552 100644
--- a/books/dubbo-dev-book/impls/filter.html
+++ b/books/dubbo-dev-book/impls/filter.html
@@ -871,7 +871,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"next":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"previous":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"next":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"path":"impls/invoker-listener.md","ref":"./impls/invoker-listener.md","articles":[]},"previous":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/introduction.html b/books/dubbo-dev-book/impls/introduction.html
index fd03165..d644efb 100644
--- a/books/dubbo-dev-book/impls/introduction.html
+++ b/books/dubbo-dev-book/impls/introduction.html
@@ -802,7 +802,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"next":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"previous":{"title":"4 实现细节","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100000 [...]
+            gitbook.page.hasChanged({"page":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"next":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},"previous":{"title":"4 实现细节","level":"1.5","depth":1,"path":"implementation.md","ref":"./implementation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100000 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/invoker-listener.html b/books/dubbo-dev-book/impls/invoker-listener.html
index 03710bb..76ceaf6 100644
--- a/books/dubbo-dev-book/impls/invoker-listener.html
+++ b/books/dubbo-dev-book/impls/invoker-listener.html
@@ -844,7 +844,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"next":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"previous":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"5.3 引用监听扩展","level":"1.6.3","depth":2,"next":{"title":"5.4 暴露监听扩展","level":"1.6.4","depth":2,"path":"impls/exporter-listener.md","ref":"./impls/exporter-listener.md","articles":[]},"previous":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/load-balance.html b/books/dubbo-dev-book/impls/load-balance.html
index c73bc78..ee08cd1 100644
--- a/books/dubbo-dev-book/impls/load-balance.html
+++ b/books/dubbo-dev-book/impls/load-balance.html
@@ -845,7 +845,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"next":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"previous":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100000 [...]
+            gitbook.page.hasChanged({"page":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"next":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"previous":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"path":"impls/router.md","ref":"./impls/router.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100000 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/logger-adapter.html b/books/dubbo-dev-book/impls/logger-adapter.html
index 41f7f46..597dd96 100644
--- a/books/dubbo-dev-book/impls/logger-adapter.html
+++ b/books/dubbo-dev-book/impls/logger-adapter.html
@@ -859,7 +859,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"next":{"title":"6 公共契约","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"previous":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000, [...]
+            gitbook.page.hasChanged({"page":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"next":{"title":"6 公共契约","level":"1.7","depth":1,"path":"contract.md","ref":"./contract.md","articles":[]},"previous":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"path":"impls/validation.md","ref":"./impls/validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000, [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/merger.html b/books/dubbo-dev-book/impls/merger.html
index 5da53ab..664770b 100644
--- a/books/dubbo-dev-book/impls/merger.html
+++ b/books/dubbo-dev-book/impls/merger.html
@@ -841,7 +841,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"next":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"previous":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"next":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"previous":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/monitor.html b/books/dubbo-dev-book/impls/monitor.html
index 9951599..c2860da 100644
--- a/books/dubbo-dev-book/impls/monitor.html
+++ b/books/dubbo-dev-book/impls/monitor.html
@@ -854,7 +854,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"next":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"previous":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"next":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"previous":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"path":"impls/registry.md","ref":"./impls/registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/networker.html b/books/dubbo-dev-book/impls/networker.html
index add18d8..5a6c805 100644
--- a/books/dubbo-dev-book/impls/networker.html
+++ b/books/dubbo-dev-book/impls/networker.html
@@ -841,7 +841,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"next":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"previous":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"next":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"previous":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/page.html b/books/dubbo-dev-book/impls/page.html
index 0868330..a5948a9 100644
--- a/books/dubbo-dev-book/impls/page.html
+++ b/books/dubbo-dev-book/impls/page.html
@@ -843,7 +843,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"next":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"previous":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.23 页面扩展","level":"1.6.23","depth":2,"next":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"previous":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/protocol.html b/books/dubbo-dev-book/impls/protocol.html
index fddbcf9..731e6d7 100644
--- a/books/dubbo-dev-book/impls/protocol.html
+++ b/books/dubbo-dev-book/impls/protocol.html
@@ -927,7 +927,7 @@ src
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"next":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"previous":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 调用拦截扩展","level":"1. [...]
+            gitbook.page.hasChanged({"page":{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"next":{"title":"5.2 调用拦截扩展","level":"1.6.2","depth":2,"path":"impls/filter.md","ref":"./impls/filter.md","articles":[]},"previous":{"title":"5 SPI 扩展实现","level":"1.6","depth":1,"path":"impls/introduction.md","ref":"./impls/introduction.md","articles":[{"title":"5.1 协议扩展","level":"1.6.1","depth":2,"path":"impls/protocol.md","ref":"./impls/protocol.md","articles":[]},{"title":"5.2 调用拦截扩展","level":"1. [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/proxy-factory.html b/books/dubbo-dev-book/impls/proxy-factory.html
index 410e8f1..e4d95bc 100644
--- a/books/dubbo-dev-book/impls/proxy-factory.html
+++ b/books/dubbo-dev-book/impls/proxy-factory.html
@@ -847,7 +847,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"next":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"previous":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"5.12 动态代理扩展","level":"1.6.12","depth":2,"next":{"title":"5.13 编译器扩展","level":"1.6.13","depth":2,"path":"impls/compiler.md","ref":"./impls/compiler.md","articles":[]},"previous":{"title":"5.11 扩展点加载扩展","level":"1.6.11","depth":2,"path":"impls/extension-factory.md","ref":"./impls/extension-factory.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/registry.html b/books/dubbo-dev-book/impls/registry.html
index 0a6793a..ec446a3 100644
--- a/books/dubbo-dev-book/impls/registry.html
+++ b/books/dubbo-dev-book/impls/registry.html
@@ -974,7 +974,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"next":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"previous":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
+            gitbook.page.hasChanged({"page":{"title":"5.9 注册中心扩展","level":"1.6.9","depth":2,"next":{"title":"5.10 监控中心扩展","level":"1.6.10","depth":2,"path":"impls/monitor.md","ref":"./impls/monitor.md","articles":[]},"previous":{"title":"5.8 合并结果扩展","level":"1.6.8","depth":2,"path":"impls/merger.md","ref":"./impls/merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/remoting.html b/books/dubbo-dev-book/impls/remoting.html
index e8bb098..5bc4736 100644
--- a/books/dubbo-dev-book/impls/remoting.html
+++ b/books/dubbo-dev-book/impls/remoting.html
@@ -900,7 +900,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"next":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"previous":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"m [...]
+            gitbook.page.hasChanged({"page":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"next":{"title":"5.18 信息交换扩展","level":"1.6.18","depth":2,"path":"impls/exchanger.md","ref":"./impls/exchanger.md","articles":[]},"previous":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"m [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/router.html b/books/dubbo-dev-book/impls/router.html
index 90ba907..1015858 100644
--- a/books/dubbo-dev-book/impls/router.html
+++ b/books/dubbo-dev-book/impls/router.html
@@ -842,7 +842,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"next":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"previous":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndex [...]
+            gitbook.page.hasChanged({"page":{"title":"5.6 路由扩展","level":"1.6.6","depth":2,"next":{"title":"5.7 负载均衡扩展","level":"1.6.7","depth":2,"path":"impls/load-balance.md","ref":"./impls/load-balance.md","articles":[]},"previous":{"title":"5.5 集群扩展","level":"1.6.5","depth":2,"path":"impls/cluster.md","ref":"./impls/cluster.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndex [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/serialize.html b/books/dubbo-dev-book/impls/serialize.html
index fbbb1a4..11d382a 100644
--- a/books/dubbo-dev-book/impls/serialize.html
+++ b/books/dubbo-dev-book/impls/serialize.html
@@ -856,7 +856,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"next":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"previous":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"next":{"title":"5.17 网络传输扩展","level":"1.6.17","depth":2,"path":"impls/remoting.md","ref":"./impls/remoting.md","articles":[]},"previous":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"path":"impls/threadpool.md","ref":"./impls/threadpool.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/status-checker.html b/books/dubbo-dev-book/impls/status-checker.html
index 737591f..3ee31f2 100644
--- a/books/dubbo-dev-book/impls/status-checker.html
+++ b/books/dubbo-dev-book/impls/status-checker.html
@@ -846,7 +846,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"next":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"previous":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"next":{"title":"5.22 容器扩展","level":"1.6.22","depth":2,"path":"impls/container.md","ref":"./impls/container.md","articles":[]},"previous":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"path":"impls/telnet-handler.md","ref":"./impls/telnet-handler.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/telnet-handler.html b/books/dubbo-dev-book/impls/telnet-handler.html
index d8706e6..6675a13 100644
--- a/books/dubbo-dev-book/impls/telnet-handler.html
+++ b/books/dubbo-dev-book/impls/telnet-handler.html
@@ -856,7 +856,7 @@ dubbo&gt; xxx args
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"next":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"previous":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.20 Telnet 命令扩展","level":"1.6.20","depth":2,"next":{"title":"5.21 状态检查扩展","level":"1.6.21","depth":2,"path":"impls/status-checker.md","ref":"./impls/status-checker.md","articles":[]},"previous":{"title":"5.19 组网扩展","level":"1.6.19","depth":2,"path":"impls/networker.md","ref":"./impls/networker.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/threadpool.html b/books/dubbo-dev-book/impls/threadpool.html
index 18adea9..50663cf 100644
--- a/books/dubbo-dev-book/impls/threadpool.html
+++ b/books/dubbo-dev-book/impls/threadpool.html
@@ -842,7 +842,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"next":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"previous":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.15 线程池扩展","level":"1.6.15","depth":2,"next":{"title":"5.16 序列化扩展","level":"1.6.16","depth":2,"path":"impls/serialize.md","ref":"./impls/serialize.md","articles":[]},"previous":{"title":"5.14 消息派发扩展","level":"1.6.14","depth":2,"path":"impls/dispatcher.md","ref":"./impls/dispatcher.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/impls/validation.html b/books/dubbo-dev-book/impls/validation.html
index 38f34de..e811743 100644
--- a/books/dubbo-dev-book/impls/validation.html
+++ b/books/dubbo-dev-book/impls/validation.html
@@ -852,7 +852,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"next":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"previous":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"5.25 验证扩展","level":"1.6.25","depth":2,"next":{"title":"5.26 日志适配扩展","level":"1.6.26","depth":2,"path":"impls/logger-adapter.md","ref":"./impls/logger-adapter.md","articles":[]},"previous":{"title":"5.24 缓存扩展","level":"1.6.24","depth":2,"path":"impls/cache.md","ref":"./impls/cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/index.html b/books/dubbo-dev-book/index.html
index 734c856..b518690 100644
--- a/books/dubbo-dev-book/index.html
+++ b/books/dubbo-dev-book/index.html
@@ -795,7 +795,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 源码构建","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":[ [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 源码构建","level":"1.2","depth":1,"path":"build.md","ref":"./build.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":[ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/code-detail.html b/books/dubbo-dev-book/principals/code-detail.html
index 4645c60..de5cc45 100644
--- a/books/dubbo-dev-book/principals/code-detail.html
+++ b/books/dubbo-dev-book/principals/code-detail.html
@@ -821,7 +821,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"next":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","articles":[]},"previous":{"title":"8 设计原则","level":"1.9","depth":1,"path":"principals/introduction.md","ref":"./principals/introduction.md","articles":[{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code [...]
+            gitbook.page.hasChanged({"page":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"next":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","articles":[]},"previous":{"title":"8 设计原则","level":"1.9","depth":1,"path":"principals/introduction.md","ref":"./principals/introduction.md","articles":[{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/configuration.html b/books/dubbo-dev-book/principals/configuration.html
index 39bc6b7..fb05200 100644
--- a/books/dubbo-dev-book/principals/configuration.html
+++ b/books/dubbo-dev-book/principals/configuration.html
@@ -853,7 +853,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"next":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"path":"principals/robustness.md","ref":"./principals/robustness.md","articles":[]},"previous":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"path":"principals/expansibility.md","ref":"./principals/expansibility.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"high [...]
+            gitbook.page.hasChanged({"page":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"next":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"path":"principals/robustness.md","ref":"./principals/robustness.md","articles":[]},"previous":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"path":"principals/expansibility.md","ref":"./principals/expansibility.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"high [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/dummy.html b/books/dubbo-dev-book/principals/dummy.html
index 4d0d492..fa54d31 100644
--- a/books/dubbo-dev-book/principals/dummy.html
+++ b/books/dubbo-dev-book/principals/dummy.html
@@ -978,7 +978,7 @@ DUMP_DIR=<span class="hljs-variable">$DUMP_ROOT</span>/dump-<span class="hljs-va
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"next":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"path":"principals/extension.md","ref":"./principals/extension.md","articles":[]},"previous":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"path":"principals/robustness.md","ref":"./principals/robustness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
+            gitbook.page.hasChanged({"page":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"next":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"path":"principals/extension.md","ref":"./principals/extension.md","articles":[]},"previous":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"path":"principals/robustness.md","ref":"./principals/robustness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/expansibility.html b/books/dubbo-dev-book/principals/expansibility.html
index 9fc854f..14dd201 100644
--- a/books/dubbo-dev-book/principals/expansibility.html
+++ b/books/dubbo-dev-book/principals/expansibility.html
@@ -811,7 +811,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"next":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"path":"principals/configuration.md","ref":"./principals/configuration.md","articles":[]},"previous":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"next":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"path":"principals/configuration.md","ref":"./principals/configuration.md","articles":[]},"previous":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"path":"principals/general-knowledge.md","ref":"./principals/general-knowledge.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/extension.html b/books/dubbo-dev-book/principals/extension.html
index 53b088a..ac40026 100644
--- a/books/dubbo-dev-book/principals/extension.html
+++ b/books/dubbo-dev-book/principals/extension.html
@@ -886,7 +886,7 @@ createExporter(URL url);
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"next":{"title":"9 版本管理","level":"1.10","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"previous":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"path":"principals/dummy.md","ref":"./principals/dummy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"igno [...]
+            gitbook.page.hasChanged({"page":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"next":{"title":"9 版本管理","level":"1.10","depth":1,"path":"release.md","ref":"./release.md","articles":[]},"previous":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"path":"principals/dummy.md","ref":"./principals/dummy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"igno [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/general-knowledge.html b/books/dubbo-dev-book/principals/general-knowledge.html
index 83e508e..0a8769e 100644
--- a/books/dubbo-dev-book/principals/general-knowledge.html
+++ b/books/dubbo-dev-book/principals/general-knowledge.html
@@ -836,7 +836,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"next":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"path":"principals/expansibility.md","ref":"./principals/expansibility.md","articles":[]},"previous":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.2 一些设计上的基本常识","level":"1.9.2","depth":2,"next":{"title":"8.3 谈谈扩充式扩展与增量式扩展","level":"1.9.3","depth":2,"path":"principals/expansibility.md","ref":"./principals/expansibility.md","articles":[]},"previous":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/introduction.html b/books/dubbo-dev-book/principals/introduction.html
index 994f06f..76e7fac 100644
--- a/books/dubbo-dev-book/principals/introduction.html
+++ b/books/dubbo-dev-book/principals/introduction.html
@@ -802,7 +802,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8 设计原则","level":"1.9","depth":1,"next":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},"previous":{"title":"7 编码约定","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000," [...]
+            gitbook.page.hasChanged({"page":{"title":"8 设计原则","level":"1.9","depth":1,"next":{"title":"8.1 魔鬼在细节","level":"1.9.1","depth":2,"path":"principals/code-detail.md","ref":"./principals/code-detail.md","articles":[]},"previous":{"title":"7 编码约定","level":"1.8","depth":1,"path":"coding.md","ref":"./coding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/principals/robustness.html b/books/dubbo-dev-book/principals/robustness.html
index 51fdeba..da8a23d 100644
--- a/books/dubbo-dev-book/principals/robustness.html
+++ b/books/dubbo-dev-book/principals/robustness.html
@@ -849,7 +849,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"next":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"path":"principals/dummy.md","ref":"./principals/dummy.md","articles":[]},"previous":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"path":"principals/configuration.md","ref":"./principals/configuration.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.5 设计实现的健壮性","level":"1.9.5","depth":2,"next":{"title":"8.6 防痴呆设计","level":"1.9.6","depth":2,"path":"principals/dummy.md","ref":"./principals/dummy.md","articles":[]},"previous":{"title":"8.4 配置设计","level":"1.9.4","depth":2,"path":"principals/configuration.md","ref":"./principals/configuration.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-dev-book/release.html b/books/dubbo-dev-book/release.html
index c6088c0..a5b8ebf 100644
--- a/books/dubbo-dev-book/release.html
+++ b/books/dubbo-dev-book/release.html
@@ -832,7 +832,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 版本管理","level":"1.10","depth":1,"next":{"title":"10 贡献","level":"1.11","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"previous":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"path":"principals/extension.md","ref":"./principals/extension.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
+            gitbook.page.hasChanged({"page":{"title":"9 版本管理","level":"1.10","depth":1,"next":{"title":"10 贡献","level":"1.11","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"previous":{"title":"8.7 扩展点重构","level":"1.9.7","depth":2,"path":"principals/extension.md","ref":"./principals/extension.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/benchmark-tool.md b/books/dubbo-user-book-en/benchmark-tool.md
index e74d781..b64112e 100644
--- a/books/dubbo-user-book-en/benchmark-tool.md
+++ b/books/dubbo-user-book-en/benchmark-tool.md
@@ -1,6 +1,8 @@
 # Beanchmark testing tool installer
 
-Download the [benchmark installer](http://code.alibabatech.com/wiki/download/attachments/7669075/dubbo.benchmark-2.0.14.tar.gz),and unzip it 
+* download: git clone https://github.com/apache/incubator-dubbo.git  
+* compile benchmark: cd incubator-dubbo/dubbo-test/dubbo-test-benchmark; mvn clean install  
+* uncompress benchmark: incubator-dubbo/dubbo-test/dubbo-test-benchmark/target/dubbo-test-benchmark-2.6.2-SNAPSHOT.tar.gz 
 
 Read ReadMe.txt (the contents are as follows, in the compressed package.)
 
diff --git a/books/dubbo-user-book-en/best-practice.html b/books/dubbo-user-book-en/best-practice.html
index 394de16..42904ab 100644
--- a/books/dubbo-user-book-en/best-practice.html
+++ b/books/dubbo-user-book-en/best-practice.html
@@ -1467,7 +1467,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"13 Servitization best practice","level":"1.14","depth":1,"next":{"title":"14 Recommended usage","level":"1.15","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"previous":{"title":"12 maven plugins","level":"1.13","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
+            gitbook.page.hasChanged({"page":{"title":"13 Servitization best practice","level":"1.14","depth":1,"next":{"title":"14 Recommended usage","level":"1.15","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"previous":{"title":"12 maven plugins","level":"1.13","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sea [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/capacity-plan.html b/books/dubbo-user-book-en/capacity-plan.html
index 3024b19..4914e7a 100644
--- a/books/dubbo-user-book-en/capacity-plan.html
+++ b/books/dubbo-user-book-en/capacity-plan.html
@@ -1451,7 +1451,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"15 Capacity plan","level":"1.16","depth":1,"next":{"title":"16 Performance testing reports","level":"1.17","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"previous":{"title":"14 Recommended usage","level":"1.15","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
+            gitbook.page.hasChanged({"page":{"title":"15 Capacity plan","level":"1.16","depth":1,"next":{"title":"16 Performance testing reports","level":"1.17","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"previous":{"title":"14 Recommended usage","level":"1.15","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/configuration/annotation.html b/books/dubbo-user-book-en/configuration/annotation.html
index 1736d0b..28cedeb 100644
--- a/books/dubbo-user-book-en/configuration/annotation.html
+++ b/books/dubbo-user-book-en/configuration/annotation.html
@@ -1521,7 +1521,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"next":{"title":"6 Demos","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolere [...]
+            gitbook.page.hasChanged({"page":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"next":{"title":"6 Demos","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolere [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/configuration/api.html b/books/dubbo-user-book-en/configuration/api.html
index c8c7407..68ee533 100644
--- a/books/dubbo-user-book-en/configuration/api.html
+++ b/books/dubbo-user-book-en/configuration/api.html
@@ -1540,7 +1540,7 @@ reference.setUrl(<span class="hljs-string">&quot;dubbo://10.20.130.230:20880/com
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.3 API configuration","level":"1.6.3","depth":2,"next":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"previous":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"5.3 API configuration","level":"1.6.3","depth":2,"next":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"previous":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/configuration/index.html b/books/dubbo-user-book-en/configuration/index.html
index 7d0e574..fb3e1bb 100644
--- a/books/dubbo-user-book-en/configuration/index.html
+++ b/books/dubbo-user-book-en/configuration/index.html
@@ -1436,7 +1436,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 Configuration","level":"1.6","depth":1,"next":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"previous":{"title":"4 maturality","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"5 Configuration","level":"1.6","depth":1,"next":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"previous":{"title":"4 maturality","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/configuration/properties.html b/books/dubbo-user-book-en/configuration/properties.html
index 36e6899..eac6ba3 100644
--- a/books/dubbo-user-book-en/configuration/properties.html
+++ b/books/dubbo-user-book-en/configuration/properties.html
@@ -1466,7 +1466,7 @@ dubbo.registry.address=10.20.153.10:9090
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"next":{"title":"5.3 API configuration","level":"1.6.3","depth":2,"path":"configuration/api.md","ref":"./configuration/api.md","articles":[]},"previous":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
+            gitbook.page.hasChanged({"page":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"next":{"title":"5.3 API configuration","level":"1.6.3","depth":2,"path":"configuration/api.md","ref":"./configuration/api.md","articles":[]},"previous":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/configuration/xml.html b/books/dubbo-user-book-en/configuration/xml.html
index f999e99..d698de7 100644
--- a/books/dubbo-user-book-en/configuration/xml.html
+++ b/books/dubbo-user-book-en/configuration/xml.html
@@ -1398,8 +1398,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>  
@@ -1415,9 +1415,9 @@
 <p>Or: </p>
 <pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
     <span class="hljs-attr">xmlns:p</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/p&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;jms&quot;</span> <span class="hljs-attr">p:queue</span>=<span class="hljs-string">&quot;your_queue&quot;</span> /&gt;</span>  
 <span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
 </code></pre>
@@ -1543,7 +1543,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"next":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"previous":{"title":"5 Configuration","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md [...]
+            gitbook.page.hasChanged({"page":{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"next":{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"previous":{"title":"5 Configuration","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/coveragence.html b/books/dubbo-user-book-en/coveragence.html
index 54bcc0f..8415556 100644
--- a/books/dubbo-user-book-en/coveragence.html
+++ b/books/dubbo-user-book-en/coveragence.html
@@ -1441,7 +1441,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"17 Test coverage report","level":"1.18","depth":1,"previous":{"title":"16 Performance testing reports","level":"1.17","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"w [...]
+            gitbook.page.hasChanged({"page":{"title":"17 Test coverage report","level":"1.18","depth":1,"previous":{"title":"16 Performance testing reports","level":"1.17","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"w [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/accesslog.html b/books/dubbo-user-book-en/demos/accesslog.html
index fe8c0f3..de50ea5 100644
--- a/books/dubbo-user-book-en/demos/accesslog.html
+++ b/books/dubbo-user-book-en/demos/accesslog.html
@@ -1479,7 +1479,7 @@ Now I will show you how to config the access log.</p>
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"next":{"title":"6.40 Service container","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"previous":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"p [...]
+            gitbook.page.hasChanged({"page":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"next":{"title":"6.40 Service container","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"previous":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"p [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/async-call.html b/books/dubbo-user-book-en/demos/async-call.html
index c4a4803..77bfc83 100644
--- a/books/dubbo-user-book-en/demos/async-call.html
+++ b/books/dubbo-user-book-en/demos/async-call.html
@@ -1479,7 +1479,7 @@ Bar bar = barFuture.get();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"next":{"title":"6.22 Local call","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"previous":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"next":{"title":"6.22 Local call","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"previous":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/attachment.html b/books/dubbo-user-book-en/demos/attachment.html
index d43a333..e8e19d1 100644
--- a/books/dubbo-user-book-en/demos/attachment.html
+++ b/books/dubbo-user-book-en/demos/attachment.html
@@ -1453,7 +1453,7 @@ xxxService.xxx(); <span class="hljs-comment">// remote call</span>
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"next":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"previous":{"title":"6.19 Context","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"next":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"previous":{"title":"6.19 Context","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/callback-parameter.html b/books/dubbo-user-book-en/demos/callback-parameter.html
index 5c245ee..f63df0e 100644
--- a/books/dubbo-user-book-en/demos/callback-parameter.html
+++ b/books/dubbo-user-book-en/demos/callback-parameter.html
@@ -1526,7 +1526,7 @@ callbackService.addListener(<span class="hljs-string">&quot;http://10.20.160.198
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"next":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"previous":{"title":"6.22 Local call","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hi [...]
+            gitbook.page.hasChanged({"page":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"next":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"previous":{"title":"6.22 Local call","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/concurrency-control.html b/books/dubbo-user-book-en/demos/concurrency-control.html
index f2c4162..bc3943d 100644
--- a/books/dubbo-user-book-en/demos/concurrency-control.html
+++ b/books/dubbo-user-book-en/demos/concurrency-control.html
@@ -1481,7 +1481,7 @@ Limit the <code>sayHello</code> method of <code>com.foo.BarService</code> to no
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"next":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"previous":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plu [...]
+            gitbook.page.hasChanged({"page":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"next":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"previous":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plu [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/config-connections.html b/books/dubbo-user-book-en/demos/config-connections.html
index 284a2f4..c995bc5 100644
--- a/books/dubbo-user-book-en/demos/config-connections.html
+++ b/books/dubbo-user-book-en/demos/config-connections.html
@@ -1455,7 +1455,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"next":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"previous":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plug [...]
+            gitbook.page.hasChanged({"page":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"next":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"previous":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plug [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/config-rule.html b/books/dubbo-user-book-en/demos/config-rule.html
index 95f2c9f..f85b7ea 100644
--- a/books/dubbo-user-book-en/demos/config-rule.html
+++ b/books/dubbo-user-book-en/demos/config-rule.html
@@ -1468,7 +1468,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"next":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"path":"demos/service-donwngrade.md","ref":"./demos/service-donwngrade.md","articles":[]},"previous":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[], [...]
+            gitbook.page.hasChanged({"page":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"next":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"path":"demos/service-donwngrade.md","ref":"./demos/service-donwngrade.md","articles":[]},"previous":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[], [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/context.html b/books/dubbo-user-book-en/demos/context.html
index 58b8eed..713552c 100644
--- a/books/dubbo-user-book-en/demos/context.html
+++ b/books/dubbo-user-book-en/demos/context.html
@@ -1465,7 +1465,7 @@ yyyService.yyy();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.19 Context","level":"1.7.19","depth":2,"next":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"previous":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"s [...]
+            gitbook.page.hasChanged({"page":{"title":"6.19 Context","level":"1.7.19","depth":2,"next":{"title":"6.20 Attachment","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"previous":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"s [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/delay-publish.html b/books/dubbo-user-book-en/demos/delay-publish.html
index 2555e09..af96633 100644
--- a/books/dubbo-user-book-en/demos/delay-publish.html
+++ b/books/dubbo-user-book-en/demos/delay-publish.html
@@ -1465,7 +1465,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"next":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"previous":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
+            gitbook.page.hasChanged({"page":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"next":{"title":"6.28 Concurrency control","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"previous":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/distributed-transaction.html b/books/dubbo-user-book-en/demos/distributed-transaction.html
index 7c0f056..a37cb9c 100644
--- a/books/dubbo-user-book-en/demos/distributed-transaction.html
+++ b/books/dubbo-user-book-en/demos/distributed-transaction.html
@@ -1439,7 +1439,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"next":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"previous":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"next":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"previous":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/dump.html b/books/dubbo-user-book-en/demos/dump.html
index b27a98e..efa1238 100644
--- a/books/dubbo-user-book-en/demos/dump.html
+++ b/books/dubbo-user-book-en/demos/dump.html
@@ -1450,7 +1450,7 @@ dubbo.application.dump.directory=/tmp
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"next":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"path":"demos/netty4.md","ref":"./demos/netty4.md","articles":[]},"previous":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"next":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"path":"demos/netty4.md","ref":"./demos/netty4.md","articles":[]},"previous":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/echo-service.html b/books/dubbo-user-book-en/demos/echo-service.html
index a5b627e..a4b90b1 100644
--- a/books/dubbo-user-book-en/demos/echo-service.html
+++ b/books/dubbo-user-book-en/demos/echo-service.html
@@ -1452,7 +1452,7 @@ String status = echoService.$echo(<span class="hljs-string">&quot;OK&quot;</span
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"next":{"title":"6.19 Context","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"previous":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"next":{"title":"6.19 Context","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"previous":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/events-notify.html b/books/dubbo-user-book-en/demos/events-notify.html
index 394d2bc..229dbca 100644
--- a/books/dubbo-user-book-en/demos/events-notify.html
+++ b/books/dubbo-user-book-en/demos/events-notify.html
@@ -1507,7 +1507,7 @@ Assert.assertEquals(requestId, notify.ret.get(requestId).getId());
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"next":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"previous":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCo [...]
+            gitbook.page.hasChanged({"page":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"next":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"previous":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCo [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/explicit-target.html b/books/dubbo-user-book-en/demos/explicit-target.html
index f4c9f39..7604211 100644
--- a/books/dubbo-user-book-en/demos/explicit-target.html
+++ b/books/dubbo-user-book-en/demos/explicit-target.html
@@ -1454,7 +1454,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"next":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"previous":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"next":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"previous":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/fault-tolerent-strategy.html b/books/dubbo-user-book-en/demos/fault-tolerent-strategy.html
index 2f1c3ab..f3e581a 100644
--- a/books/dubbo-user-book-en/demos/fault-tolerent-strategy.html
+++ b/books/dubbo-user-book-en/demos/fault-tolerent-strategy.html
@@ -1478,7 +1478,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"next":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"previous":{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"next":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"previous":{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/generic-reference.html b/books/dubbo-user-book-en/demos/generic-reference.html
index 05eac2f..a7091ba 100644
--- a/books/dubbo-user-book-en/demos/generic-reference.html
+++ b/books/dubbo-user-book-en/demos/generic-reference.html
@@ -1511,7 +1511,7 @@ map.put(<span class="hljs-string">&quot;password&quot;</span>, <span class="hljs
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"next":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"previous":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsC [...]
+            gitbook.page.hasChanged({"page":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"next":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"previous":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsC [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/generic-service.html b/books/dubbo-user-book-en/demos/generic-service.html
index ad23d46..96f598e 100644
--- a/books/dubbo-user-book-en/demos/generic-service.html
+++ b/books/dubbo-user-book-en/demos/generic-service.html
@@ -1469,7 +1469,7 @@ service.export();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"next":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"previous":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
+            gitbook.page.hasChanged({"page":{"title":"6.17 Generic service","level":"1.7.17","depth":2,"next":{"title":"6.18 Echo service","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"previous":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/graceful-shutdown.html b/books/dubbo-user-book-en/demos/graceful-shutdown.html
index 2816a6c..1923dca 100644
--- a/books/dubbo-user-book-en/demos/graceful-shutdown.html
+++ b/books/dubbo-user-book-en/demos/graceful-shutdown.html
@@ -1456,7 +1456,7 @@ dubbo.service.shutdown.wait=15000
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"next":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"previous":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"path":"demos/service-donwngrade.md","ref":"./demos/service-donwngrade.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"next":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"previous":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"path":"demos/service-donwngrade.md","ref":"./demos/service-donwngrade.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/group-merger.html b/books/dubbo-user-book-en/demos/group-merger.html
index a237486..de70c77 100644
--- a/books/dubbo-user-book-en/demos/group-merger.html
+++ b/books/dubbo-user-book-en/demos/group-merger.html
@@ -1471,7 +1471,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"next":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"previous":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"next":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"previous":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/hostname-binding.html b/books/dubbo-user-book-en/demos/hostname-binding.html
index 27f838d..788bffc 100644
--- a/books/dubbo-user-book-en/demos/hostname-binding.html
+++ b/books/dubbo-user-book-en/demos/hostname-binding.html
@@ -1508,7 +1508,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"next":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"previous":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugin [...]
+            gitbook.page.hasChanged({"page":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"next":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"previous":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugin [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/index.html b/books/dubbo-user-book-en/demos/index.html
index 4ac5418..5b00faa 100644
--- a/books/dubbo-user-book-en/demos/index.html
+++ b/books/dubbo-user-book-en/demos/index.html
@@ -1436,7 +1436,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 Demos","level":"1.7","depth":1,"next":{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"previous":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
+            gitbook.page.hasChanged({"page":{"title":"6 Demos","level":"1.7","depth":1,"next":{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"previous":{"title":"5.4 Annotation configuration","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/lazy-connect.html b/books/dubbo-user-book-en/demos/lazy-connect.html
index ab5553b..cd9c10a 100644
--- a/books/dubbo-user-book-en/demos/lazy-connect.html
+++ b/books/dubbo-user-book-en/demos/lazy-connect.html
@@ -1442,7 +1442,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"next":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"previous":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"next":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"previous":{"title":"6.29 Connections limitation","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/loadbalance.html b/books/dubbo-user-book-en/demos/loadbalance.html
index 7f90d5e..e365e84 100644
--- a/books/dubbo-user-book-en/demos/loadbalance.html
+++ b/books/dubbo-user-book-en/demos/loadbalance.html
@@ -1480,7 +1480,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"next":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"previous":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"next":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"previous":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/local-call.html b/books/dubbo-user-book-en/demos/local-call.html
index 96b148c..dfceefd 100644
--- a/books/dubbo-user-book-en/demos/local-call.html
+++ b/books/dubbo-user-book-en/demos/local-call.html
@@ -1460,7 +1460,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.22 Local call","level":"1.7.22","depth":2,"next":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"previous":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"6.22 Local call","level":"1.7.22","depth":2,"next":{"title":"6.23 Callback parameter","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"previous":{"title":"6.21 Asynchronous call","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/local-mock.html b/books/dubbo-user-book-en/demos/local-mock.html
index 04a50d1..c82ca0e 100644
--- a/books/dubbo-user-book-en/demos/local-mock.html
+++ b/books/dubbo-user-book-en/demos/local-mock.html
@@ -1469,7 +1469,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"next":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"previous":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"next":{"title":"6.27 Delay publish","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"previous":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/local-stub.html b/books/dubbo-user-book-en/demos/local-stub.html
index 13e8501..15a355a 100644
--- a/books/dubbo-user-book-en/demos/local-stub.html
+++ b/books/dubbo-user-book-en/demos/local-stub.html
@@ -1472,7 +1472,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"next":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"previous":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.25 Local stub","level":"1.7.25","depth":2,"next":{"title":"6.26 Local mock","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"previous":{"title":"6.24 Events notify","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/logger-strategy.html b/books/dubbo-user-book-en/demos/logger-strategy.html
index 06a3d22..b8543a6 100644
--- a/books/dubbo-user-book-en/demos/logger-strategy.html
+++ b/books/dubbo-user-book-en/demos/logger-strategy.html
@@ -1454,7 +1454,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"next":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"previous":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.38 Logger strategy","level":"1.7.38","depth":2,"next":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"previous":{"title":"6.37 Hostname binding ","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/multi-protocols.html b/books/dubbo-user-book-en/demos/multi-protocols.html
index 7d6149b..71e84ac 100644
--- a/books/dubbo-user-book-en/demos/multi-protocols.html
+++ b/books/dubbo-user-book-en/demos/multi-protocols.html
@@ -1399,8 +1399,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</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">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- multiple protocols --&gt;</span>
@@ -1416,8 +1416,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</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">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- multiple protocols--&gt;</span>
@@ -1473,7 +1473,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"next":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"previous":{"title":"6.8 Static service","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCo [...]
+            gitbook.page.hasChanged({"page":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"next":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"previous":{"title":"6.8 Static service","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCo [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/multi-registry.html b/books/dubbo-user-book-en/demos/multi-registry.html
index b79bf36..a010fd0 100644
--- a/books/dubbo-user-book-en/demos/multi-registry.html
+++ b/books/dubbo-user-book-en/demos/multi-registry.html
@@ -1399,8 +1399,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- Multi registries --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hangzhouRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1414,8 +1414,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- Multi registries --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1431,8 +1431,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- Multi registries --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1447,8 +1447,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- The vertical separation means that multiple registries are connected at the same time. Multiple cluster addresses of the same registry are separated by commas --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090|10.20.154.177:9010&quot;</span> /&gt;</span>
@@ -1502,7 +1502,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"next":{"title":"6.11 Service group","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"previous":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsC [...]
+            gitbook.page.hasChanged({"page":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"next":{"title":"6.11 Service group","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"previous":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsC [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/multi-versions.html b/books/dubbo-user-book-en/demos/multi-versions.html
index db22ff0..a5850e9 100644
--- a/books/dubbo-user-book-en/demos/multi-versions.html
+++ b/books/dubbo-user-book-en/demos/multi-versions.html
@@ -1461,7 +1461,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"next":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"previous":{"title":"6.11 Service group","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"next":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"previous":{"title":"6.11 Service group","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/netty4.html b/books/dubbo-user-book-en/demos/netty4.html
index d42bcd3..02bb0e5 100644
--- a/books/dubbo-user-book-en/demos/netty4.html
+++ b/books/dubbo-user-book-en/demos/netty4.html
@@ -1464,7 +1464,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"next":{"title":"7 API introduction","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"previous":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"next":{"title":"7 API introduction","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"previous":{"title":"6.43 Dumping thread stack automatically","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/parameter-validation.html b/books/dubbo-user-book-en/demos/parameter-validation.html
index 296fe52..4d0fe93 100644
--- a/books/dubbo-user-book-en/demos/parameter-validation.html
+++ b/books/dubbo-user-book-en/demos/parameter-validation.html
@@ -1594,7 +1594,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"next":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"previous":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"next":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"previous":{"title":"6.13 Group merger","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/preflight-check.html b/books/dubbo-user-book-en/demos/preflight-check.html
index 6edff20..f5912d2 100644
--- a/books/dubbo-user-book-en/demos/preflight-check.html
+++ b/books/dubbo-user-book-en/demos/preflight-check.html
@@ -1467,7 +1467,7 @@ java -Ddubbo.registry.check = <span class="hljs-literal">false</span>
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.1 Start check","level":"1.7.1","depth":2,"next":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"previous":{"title":"6 Demos","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/prefli [...]
+            gitbook.page.hasChanged({"page":{"title":"6.1 Start check","level":"1.7.1","depth":2,"next":{"title":"6.2 Fault-tolerent strategy","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"previous":{"title":"6 Demos","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 Start check","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/prefli [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/reference-config-cache.html b/books/dubbo-user-book-en/demos/reference-config-cache.html
index 4369848..31c74fe 100644
--- a/books/dubbo-user-book-en/demos/reference-config-cache.html
+++ b/books/dubbo-user-book-en/demos/reference-config-cache.html
@@ -1459,7 +1459,7 @@ ReferenceConfigCache cache = ReferenceConfigCache.getCache(keyGenerator );
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"next":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"previous":{"title":"6.40 Service container","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"de [...]
+            gitbook.page.hasChanged({"page":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"next":{"title":"6.42 Distributed transaction","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"previous":{"title":"6.40 Service container","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"de [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/registry-only.html b/books/dubbo-user-book-en/demos/registry-only.html
index b5696d5..409eaae 100644
--- a/books/dubbo-user-book-en/demos/registry-only.html
+++ b/books/dubbo-user-book-en/demos/registry-only.html
@@ -1447,7 +1447,7 @@ At this time, the service provider registers service to another registrar, but t
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"next":{"title":"6.8 Static service","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"previous":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"next":{"title":"6.8 Static service","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"previous":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/result-cache.html b/books/dubbo-user-book-en/demos/result-cache.html
index 69dddf2..95682ea 100644
--- a/books/dubbo-user-book-en/demos/result-cache.html
+++ b/books/dubbo-user-book-en/demos/result-cache.html
@@ -1458,7 +1458,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"next":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"previous":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.15 Result cache","level":"1.7.15","depth":2,"next":{"title":"6.16 Generic reference","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"previous":{"title":"6.14 Parameter validation","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/routing-rule.html b/books/dubbo-user-book-en/demos/routing-rule.html
index f70e94b..151a18d 100644
--- a/books/dubbo-user-book-en/demos/routing-rule.html
+++ b/books/dubbo-user-book-en/demos/routing-rule.html
@@ -1405,6 +1405,8 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
 <li><code>condition://</code> It indicates the type of routing rules, supports routing rules and script routing rules, and can be extended. <strong>Required</strong>&#x3002;</li>
 <li><code>0.0.0.0</code> It indicates that all IP addresses are valid. If you want to take effect for only one IP address, fill in the IP address. <strong>Required</strong>&#x3002;</li>
 <li><code>com.foo.BarService</code> It indicates that the specified service is effective. <strong>Required</strong>&#x3002;</li>
+<li><code>group=foo</code> It indicates that the specified service in specified group is effective. When absent, the specified service which dosen&apos;t configure group is effective.</li>
+<li><code>version=1.0</code>It indicates that the specified service in specified version is effective. When absent, the specified service which dosen&apos;t configure version is effective.</li>
 <li><code>category=routers</code> It indicates that the data is a dynamic configuration type. <strong>Required</strong>&#x3002;</li>
 <li><code>dynamic=false</code> It indicates that it is persistent data. When the registrant exits, the data is still stored in the registry. <strong>Required</strong>&#x3002;</li>
 <li><code>enabled=true</code> It indicates whether this routing rules is effective. Option, and default effective.</li>
@@ -1474,9 +1476,9 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
 </ol>
 <h2 id="script-routing-rules">Script routing rules</h2>
 <p>Script routing rules <sup><a href="#fn_4" id="reffn_4">4</a></sup> support all scripts of JDK script engine. such as: javascript, jruby, groovy, etc. Configure the script type by <code>type=javascript</code>, the default is javascript.</p>
-<pre><code>&quot;script://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;function route(invokers) { ... } (invokers)&quot;)
+<pre><code>&quot;script://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;(function route(invokers) { ... } (invokers))&quot;)
 </code></pre><p>Routing rules that base on script engine is as follow&#xFF1A;</p>
-<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">route</span>(<span class="hljs-params">invokers</span>) </span>{
+<pre><code class="lang-javascript">(<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">route</span>(<span class="hljs-params">invokers</span>) </span>{
     <span class="hljs-keyword">var</span> result = <span class="hljs-keyword">new</span> java.util.ArrayList(invokers.size());
     <span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i &lt; invokers.size(); i ++) {
         <span class="hljs-keyword">if</span> (<span class="hljs-string">&quot;10.20.153.10&quot;</span>.equals(invokers.get(i).getUrl().getHost())) {
@@ -1484,7 +1486,7 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
         }
     }
     <span class="hljs-keyword">return</span> result;
-} (invokers); <span class="hljs-comment">// Indicates that the method is executed immediately</span>
+} (invokers)); <span class="hljs-comment">// Indicates that the method is executed immediately</span>
 </code></pre>
 <blockquote id="fn_1">
 <sup>1</sup>. Support since <code>2.2.0</code>   <a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
@@ -1541,7 +1543,7 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"next":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"previous":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
+            gitbook.page.hasChanged({"page":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"next":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"previous":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/service-container.html b/books/dubbo-user-book-en/demos/service-container.html
index 9f32377..61f7270 100644
--- a/books/dubbo-user-book-en/demos/service-container.html
+++ b/books/dubbo-user-book-en/demos/service-container.html
@@ -1479,7 +1479,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.40 Service container","level":"1.7.40","depth":2,"next":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"previous":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.40 Service container","level":"1.7.40","depth":2,"next":{"title":"6.41 Reference config cache","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"previous":{"title":"6.39 Accesslog","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/service-donwngrade.html b/books/dubbo-user-book-en/demos/service-donwngrade.html
index b7a6619..bb9aa43 100644
--- a/books/dubbo-user-book-en/demos/service-donwngrade.html
+++ b/books/dubbo-user-book-en/demos/service-donwngrade.html
@@ -1451,7 +1451,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"next":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"previous":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
+            gitbook.page.hasChanged({"page":{"title":"6.35 Service downgrade","level":"1.7.35","depth":2,"next":{"title":"6.36 Graceful shutdown","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"previous":{"title":"6.34 Configuration rule","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/service-group.html b/books/dubbo-user-book-en/demos/service-group.html
index 4941b7f..024b304 100644
--- a/books/dubbo-user-book-en/demos/service-group.html
+++ b/books/dubbo-user-book-en/demos/service-group.html
@@ -1451,7 +1451,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.11 Service group","level":"1.7.11","depth":2,"next":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"previous":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugins [...]
+            gitbook.page.hasChanged({"page":{"title":"6.11 Service group","level":"1.7.11","depth":2,"next":{"title":"6.12 Multi-versions","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"previous":{"title":"6.10 Multi-registries","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugins [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/static-service.html b/books/dubbo-user-book-en/demos/static-service.html
index 971cd61..3247498 100644
--- a/books/dubbo-user-book-en/demos/static-service.html
+++ b/books/dubbo-user-book-en/demos/static-service.html
@@ -1453,7 +1453,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.8 Static service","level":"1.7.8","depth":2,"next":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"previous":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.8 Static service","level":"1.7.8","depth":2,"next":{"title":"6.9 Multi-protocols","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"previous":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/stickiness.html b/books/dubbo-user-book-en/demos/stickiness.html
index 106ed90..69aa442 100644
--- a/books/dubbo-user-book-en/demos/stickiness.html
+++ b/books/dubbo-user-book-en/demos/stickiness.html
@@ -1440,7 +1440,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"next":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"previous":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugi [...]
+            gitbook.page.hasChanged({"page":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"next":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"previous":{"title":"6.30 Lazy connect","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/subscribe-only.html b/books/dubbo-user-book-en/demos/subscribe-only.html
index 1a62f8f..8859bc6 100644
--- a/books/dubbo-user-book-en/demos/subscribe-only.html
+++ b/books/dubbo-user-book-en/demos/subscribe-only.html
@@ -1445,7 +1445,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"next":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"previous":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plug [...]
+            gitbook.page.hasChanged({"page":{"title":"6.6 Subscribe only","level":"1.7.6","depth":2,"next":{"title":"6.7 Registry only","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"previous":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plug [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/thread-model.html b/books/dubbo-user-book-en/demos/thread-model.html
index c4ebc3b..0141983 100644
--- a/books/dubbo-user-book-en/demos/thread-model.html
+++ b/books/dubbo-user-book-en/demos/thread-model.html
@@ -1460,7 +1460,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"next":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"previous":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
+            gitbook.page.hasChanged({"page":{"title":"6.4 Thread model","level":"1.7.4","depth":2,"next":{"title":"6.5 Connecting certain provider straightly","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"previous":{"title":"6.3 Load balance","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/demos/token-authorization.html b/books/dubbo-user-book-en/demos/token-authorization.html
index fb4a056..a5038b5 100644
--- a/books/dubbo-user-book-en/demos/token-authorization.html
+++ b/books/dubbo-user-book-en/demos/token-authorization.html
@@ -1462,7 +1462,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"next":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"previous":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
+            gitbook.page.hasChanged({"page":{"title":"6.32 Token authorization","level":"1.7.32","depth":2,"next":{"title":"6.33 Routing rule","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"previous":{"title":"6.31 Stickness connections","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsCon [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/dependencies.html b/books/dubbo-user-book-en/dependencies.html
index a1ecbc3..5b81fa8 100644
--- a/books/dubbo-user-book-en/dependencies.html
+++ b/books/dubbo-user-book-en/dependencies.html
@@ -1499,7 +1499,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3 Dependencies","level":"1.4","depth":1,"next":{"title":"4 maturality","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"previous":{"title":"2 Quick start","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ig [...]
+            gitbook.page.hasChanged({"page":{"title":"3 Dependencies","level":"1.4","depth":1,"next":{"title":"4 maturality","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"previous":{"title":"2 Quick start","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ig [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/index.html b/books/dubbo-user-book-en/index.html
index a152fdf..91efbe1 100644
--- a/books/dubbo-user-book-en/index.html
+++ b/books/dubbo-user-book-en/index.html
@@ -1431,7 +1431,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 Preface","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},{"title":"1.3 Arc [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 Preface","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},{"title":"1.3 Arc [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/maturity.html b/books/dubbo-user-book-en/maturity.html
index 1d354d3..73f02e4 100644
--- a/books/dubbo-user-book-en/maturity.html
+++ b/books/dubbo-user-book-en/maturity.html
@@ -1985,7 +1985,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4 maturality","level":"1.5","depth":1,"next":{"title":"5 Configuration","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/prop [...]
+            gitbook.page.hasChanged({"page":{"title":"4 maturality","level":"1.5","depth":1,"next":{"title":"5 Configuration","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML configuration","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"title":"5.2 Properties configuration","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/prop [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/perf-test.html b/books/dubbo-user-book-en/perf-test.html
index 3b064ca..fe1e74e 100644
--- a/books/dubbo-user-book-en/perf-test.html
+++ b/books/dubbo-user-book-en/perf-test.html
@@ -1767,7 +1767,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"16 Performance testing reports","level":"1.17","depth":1,"next":{"title":"17 Test coverage report","level":"1.18","depth":1,"path":"coveragence.md","ref":"./coveragence.md","articles":[]},"previous":{"title":"15 Capacity plan","level":"1.16","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
+            gitbook.page.hasChanged({"page":{"title":"16 Performance testing reports","level":"1.17","depth":1,"next":{"title":"17 Test coverage report","level":"1.18","depth":1,"path":"coveragence.md","ref":"./coveragence.md","articles":[]},"previous":{"title":"15 Capacity plan","level":"1.16","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/preface/architecture.html b/books/dubbo-user-book-en/preface/architecture.html
index 8a86e28..ffe1079 100644
--- a/books/dubbo-user-book-en/preface/architecture.html
+++ b/books/dubbo-user-book-en/preface/architecture.html
@@ -1541,7 +1541,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"next":{"title":"1.4 Usage","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"previous":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"next":{"title":"1.4 Usage","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"previous":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/preface/background.html b/books/dubbo-user-book-en/preface/background.html
index 1324857..f8e7e16 100644
--- a/books/dubbo-user-book-en/preface/background.html
+++ b/books/dubbo-user-book-en/preface/background.html
@@ -1446,7 +1446,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 Background","level":"1.2.1","depth":2,"next":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"previous":{"title":"1 Preface","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{" [...]
+            gitbook.page.hasChanged({"page":{"title":"1.1 Background","level":"1.2.1","depth":2,"next":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"previous":{"title":"1 Preface","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/preface/index.html b/books/dubbo-user-book-en/preface/index.html
index 57dcdf3..06c0f20 100644
--- a/books/dubbo-user-book-en/preface/index.html
+++ b/books/dubbo-user-book-en/preface/index.html
@@ -1436,7 +1436,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 Preface","level":"1.2","depth":1,"next":{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":10000 [...]
+            gitbook.page.hasChanged({"page":{"title":"1 Preface","level":"1.2","depth":1,"next":{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":10000 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/preface/requirements.html b/books/dubbo-user-book-en/preface/requirements.html
index 48d4f37..a37e95c 100644
--- a/books/dubbo-user-book-en/preface/requirements.html
+++ b/books/dubbo-user-book-en/preface/requirements.html
@@ -1442,7 +1442,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"next":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"previous":{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
+            gitbook.page.hasChanged({"page":{"title":"1.2 Requirements","level":"1.2.2","depth":2,"next":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"previous":{"title":"1.1 Background","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/preface/usage.html b/books/dubbo-user-book-en/preface/usage.html
index efc18f3..cfd6afb 100644
--- a/books/dubbo-user-book-en/preface/usage.html
+++ b/books/dubbo-user-book-en/preface/usage.html
@@ -1463,7 +1463,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 Usage","level":"1.2.4","depth":2,"next":{"title":"2 Quick start","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"previous":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
+            gitbook.page.hasChanged({"page":{"title":"1.4 Usage","level":"1.2.4","depth":2,"next":{"title":"2 Quick start","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"previous":{"title":"1.3 Architecture","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/quick-start.html b/books/dubbo-user-book-en/quick-start.html
index 97503ce..5ead475 100644
--- a/books/dubbo-user-book-en/quick-start.html
+++ b/books/dubbo-user-book-en/quick-start.html
@@ -1423,8 +1423,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
 
     <span class="hljs-comment">&lt;!-- Provider application information for computing dependencies --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>
@@ -1461,8 +1461,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
 
     <span class="hljs-comment">&lt;!-- Consumer application names, used to calculate dependencies,not matching conditions, do not be the same as the provider --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;consumer-of-helloworld-app&quot;</span>  /&gt;</span>
@@ -1541,7 +1541,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 Quick start","level":"1.3","depth":1,"next":{"title":"3 Dependencies","level":"1.4","depth":1,"path":"dependencies.md","ref":"./dependencies.md","articles":[]},"previous":{"title":"1.4 Usage","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
+            gitbook.page.hasChanged({"page":{"title":"2 Quick start","level":"1.3","depth":1,"next":{"title":"3 Dependencies","level":"1.4","depth":1,"path":"dependencies.md","ref":"./dependencies.md","articles":[]},"previous":{"title":"1.4 Usage","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/recommend.html b/books/dubbo-user-book-en/recommend.html
index ca72dc8..07da6ce 100644
--- a/books/dubbo-user-book-en/recommend.html
+++ b/books/dubbo-user-book-en/recommend.html
@@ -1565,7 +1565,7 @@ Configurated in  <code>dubbo:method</code>(method level configuration) , then th
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"14 Recommended usage","level":"1.15","depth":1,"next":{"title":"15 Capacity plan","level":"1.16","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"previous":{"title":"13 Servitization best practice","level":"1.14","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"s [...]
+            gitbook.page.hasChanged({"page":{"title":"14 Recommended usage","level":"1.15","depth":1,"next":{"title":"15 Capacity plan","level":"1.16","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"previous":{"title":"13 Servitization best practice","level":"1.14","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"s [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/api.html b/books/dubbo-user-book-en/references/api.html
index ab67f90..061be9f 100644
--- a/books/dubbo-user-book-en/references/api.html
+++ b/books/dubbo-user-book-en/references/api.html
@@ -1470,7 +1470,7 @@ com.alibaba.dubbo.rpc.service.GenericException
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 API introduction","level":"1.8","depth":1,"next":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"refer [...]
+            gitbook.page.hasChanged({"page":{"title":"7 API introduction","level":"1.8","depth":1,"next":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"refer [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/maven.html b/books/dubbo-user-book-en/references/maven.html
index 8fb5be5..47f6bd5 100644
--- a/books/dubbo-user-book-en/references/maven.html
+++ b/books/dubbo-user-book-en/references/maven.html
@@ -1447,7 +1447,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 maven plugins","level":"1.13","depth":1,"next":{"title":"13 Servitization best practice","level":"1.14","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"previous":{"title":"11 Telnet command","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
+            gitbook.page.hasChanged({"page":{"title":"12 maven plugins","level":"1.13","depth":1,"next":{"title":"13 Servitization best practice","level":"1.14","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"previous":{"title":"11 Telnet command","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/dubbo.html b/books/dubbo-user-book-en/references/protocol/dubbo.html
index 72a4708..f127548 100644
--- a/books/dubbo-user-book-en/references/protocol/dubbo.html
+++ b/books/dubbo-user-book-en/references/protocol/dubbo.html
@@ -1532,7 +1532,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"next":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"previous":{"title":"9 Protocol introduction","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/d [...]
+            gitbook.page.hasChanged({"page":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"next":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"previous":{"title":"9 Protocol introduction","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/d [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/hessian.html b/books/dubbo-user-book-en/references/protocol/hessian.html
index 0fe4309..ec7cdd8 100644
--- a/books/dubbo-user-book-en/references/protocol/hessian.html
+++ b/books/dubbo-user-book-en/references/protocol/hessian.html
@@ -1481,7 +1481,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"next":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"previous":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"next":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"previous":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/http.html b/books/dubbo-user-book-en/references/protocol/http.html
index c3665bc..533811d 100644
--- a/books/dubbo-user-book-en/references/protocol/http.html
+++ b/books/dubbo-user-book-en/references/protocol/http.html
@@ -1477,7 +1477,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.4 http://","level":"1.10.4","depth":2,"next":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"previous":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"pl [...]
+            gitbook.page.hasChanged({"page":{"title":"9.4 http://","level":"1.10.4","depth":2,"next":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"previous":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"pl [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/introduction.html b/books/dubbo-user-book-en/references/protocol/introduction.html
index 834c532..068063f 100644
--- a/books/dubbo-user-book-en/references/protocol/introduction.html
+++ b/books/dubbo-user-book-en/references/protocol/introduction.html
@@ -1437,7 +1437,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 Protocol introduction","level":"1.10","depth":1,"next":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"previous":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
+            gitbook.page.hasChanged({"page":{"title":"9 Protocol introduction","level":"1.10","depth":1,"next":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"previous":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/memcached.html b/books/dubbo-user-book-en/references/protocol/memcached.html
index 43ac48d..f3f691a 100644
--- a/books/dubbo-user-book-en/references/protocol/memcached.html
+++ b/books/dubbo-user-book-en/references/protocol/memcached.html
@@ -1456,7 +1456,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"next":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"previous":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pl [...]
+            gitbook.page.hasChanged({"page":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"next":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"previous":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pl [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/redis.html b/books/dubbo-user-book-en/references/protocol/redis.html
index 500cb15..4afd6a3 100644
--- a/books/dubbo-user-book-en/references/protocol/redis.html
+++ b/books/dubbo-user-book-en/references/protocol/redis.html
@@ -1456,7 +1456,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;redis://10.20.153.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.8 redis://","level":"1.10.8","depth":2,"next":{"title":"10 registry introduction","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"p [...]
+            gitbook.page.hasChanged({"page":{"title":"9.8 redis://","level":"1.10.8","depth":2,"next":{"title":"10 registry introduction","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"p [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/rmi.html b/books/dubbo-user-book-en/references/protocol/rmi.html
index f640176..f9ff9a9 100644
--- a/books/dubbo-user-book-en/references/protocol/rmi.html
+++ b/books/dubbo-user-book-en/references/protocol/rmi.html
@@ -1489,7 +1489,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"next":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"previous":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
+            gitbook.page.hasChanged({"page":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"next":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"previous":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/thrift.html b/books/dubbo-user-book-en/references/protocol/thrift.html
index 1b9516b..0a0bdc0 100644
--- a/books/dubbo-user-book-en/references/protocol/thrift.html
+++ b/books/dubbo-user-book-en/references/protocol/thrift.html
@@ -1454,7 +1454,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"next":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"path":"references/protocol/memcached.md","ref":"./references/protocol/memcached.md","articles":[]},"previous":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
+            gitbook.page.hasChanged({"page":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"next":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"path":"references/protocol/memcached.md","ref":"./references/protocol/memcached.md","articles":[]},"previous":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/protocol/webservice.html b/books/dubbo-user-book-en/references/protocol/webservice.html
index 5dcaf5f..0f04294 100644
--- a/books/dubbo-user-book-en/references/protocol/webservice.html
+++ b/books/dubbo-user-book-en/references/protocol/webservice.html
@@ -1509,7 +1509,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"next":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"previous":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
+            gitbook.page.hasChanged({"page":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"next":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"previous":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/registry/introduction.html b/books/dubbo-user-book-en/references/registry/introduction.html
index c77842a..451d752 100644
--- a/books/dubbo-user-book-en/references/registry/introduction.html
+++ b/books/dubbo-user-book-en/references/registry/introduction.html
@@ -1437,7 +1437,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 registry introduction","level":"1.11","depth":1,"next":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"previous":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
+            gitbook.page.hasChanged({"page":{"title":"10 registry introduction","level":"1.11","depth":1,"next":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"previous":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/registry/multicast.html b/books/dubbo-user-book-en/references/registry/multicast.html
index e1484e1..114ef43 100644
--- a/books/dubbo-user-book-en/references/registry/multicast.html
+++ b/books/dubbo-user-book-en/references/registry/multicast.html
@@ -1459,7 +1459,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"next":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"previous":{"title":"10 registry introduction","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast registry","level" [...]
+            gitbook.page.hasChanged({"page":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"next":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"previous":{"title":"10 registry introduction","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast registry","level" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/registry/redis.html b/books/dubbo-user-book-en/references/registry/redis.html
index 9e7d734..1fa5cf3 100644
--- a/books/dubbo-user-book-en/references/registry/redis.html
+++ b/books/dubbo-user-book-en/references/registry/redis.html
@@ -1495,7 +1495,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"next":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"previous":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","v [...]
+            gitbook.page.hasChanged({"page":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"next":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"previous":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","v [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/registry/simple.html b/books/dubbo-user-book-en/references/registry/simple.html
index 119da7f..84847df 100644
--- a/books/dubbo-user-book-en/references/registry/simple.html
+++ b/books/dubbo-user-book-en/references/registry/simple.html
@@ -1399,8 +1399,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-comment">&lt;!-- application info configuration --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;simple-registry&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- service protocol configuration --&gt;</span>
@@ -1468,7 +1468,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"next":{"title":"11 Telnet command","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"previous":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugins [...]
+            gitbook.page.hasChanged({"page":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"next":{"title":"11 Telnet command","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"previous":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugins [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/registry/zookeeper.html b/books/dubbo-user-book-en/references/registry/zookeeper.html
index 7615bd3..4cdec7f 100644
--- a/books/dubbo-user-book-en/references/registry/zookeeper.html
+++ b/books/dubbo-user-book-en/references/registry/zookeeper.html
@@ -1528,7 +1528,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"next":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"previous":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default"," [...]
+            gitbook.page.hasChanged({"page":{"title":"10.2 Zookeeper registry","level":"1.11.2","depth":2,"next":{"title":"10.3 Redis registry","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"previous":{"title":"10.1 Multicast registry","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default"," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/telnet.html b/books/dubbo-user-book-en/references/telnet.html
index 74c946c..3d524e9 100644
--- a/books/dubbo-user-book-en/references/telnet.html
+++ b/books/dubbo-user-book-en/references/telnet.html
@@ -1513,7 +1513,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 Telnet command","level":"1.12","depth":1,"next":{"title":"12 maven plugins","level":"1.13","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"previous":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfi [...]
+            gitbook.page.hasChanged({"page":{"title":"11 Telnet command","level":"1.12","depth":1,"next":{"title":"12 maven plugins","level":"1.13","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"previous":{"title":"10.4 Simple registry","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-application.html b/books/dubbo-user-book-en/references/xml/dubbo-application.html
index e9bac3a..62935b0 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-application.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-application.html
@@ -1577,7 +1577,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"next":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"previous":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"next":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"previous":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-argument.html b/books/dubbo-user-book-en/references/xml/dubbo-argument.html
index 22eeefe..8c005a5 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-argument.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-argument.html
@@ -1531,7 +1531,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"next":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"previous":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"next":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"previous":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-consumer.html b/books/dubbo-user-book-en/references/xml/dubbo-consumer.html
index 53595b1..cf5fa49 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-consumer.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-consumer.html
@@ -1677,7 +1677,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"next":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"previous":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"next":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"previous":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-method.html b/books/dubbo-user-book-en/references/xml/dubbo-method.html
index be10c4d..bef3db5 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-method.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-method.html
@@ -1662,7 +1662,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"next":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"path":"references/xml/dubbo-argument.md","ref":"./references/xml/dubbo-argument.md","articles":[]},"previous":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","vari [...]
+            gitbook.page.hasChanged({"page":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"next":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"path":"references/xml/dubbo-argument.md","ref":"./references/xml/dubbo-argument.md","articles":[]},"previous":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","vari [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-module.html b/books/dubbo-user-book-en/references/xml/dubbo-module.html
index caccb2e..d0ddb8e 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-module.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-module.html
@@ -1537,7 +1537,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"next":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"previous":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default", [...]
+            gitbook.page.hasChanged({"page":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"next":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"previous":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default", [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-monitor.html b/books/dubbo-user-book-en/references/xml/dubbo-monitor.html
index 064c8dc..a706f0f 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-monitor.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-monitor.html
@@ -1517,7 +1517,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"next":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"previous":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"next":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"previous":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-parameter.html b/books/dubbo-user-book-en/references/xml/dubbo-parameter.html
index 840d985..e44db55 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-parameter.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-parameter.html
@@ -1525,7 +1525,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"next":{"title":"9 Protocol introduction","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"next":{"title":"9 Protocol introduction","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-protocol.html b/books/dubbo-user-book-en/references/xml/dubbo-protocol.html
index 71aff3a..da572ae 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-protocol.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-protocol.html
@@ -1737,7 +1737,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"next":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"previous":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"next":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"previous":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-provider.html b/books/dubbo-user-book-en/references/xml/dubbo-provider.html
index ec3fcf1..e2423d3 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-provider.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-provider.html
@@ -1937,7 +1937,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"next":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"previous":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"next":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"previous":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-reference.html b/books/dubbo-user-book-en/references/xml/dubbo-reference.html
index 57732af..50401cc 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-reference.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-reference.html
@@ -1767,7 +1767,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"next":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"previous":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
+            gitbook.page.hasChanged({"page":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"next":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"previous":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-registry.html b/books/dubbo-user-book-en/references/xml/dubbo-registry.html
index 3e94cb9..933b590 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-registry.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-registry.html
@@ -1637,7 +1637,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"next":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"previous":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
+            gitbook.page.hasChanged({"page":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"next":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"previous":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/dubbo-service.html b/books/dubbo-user-book-en/references/xml/dubbo-service.html
index df92d0e..13167f9 100644
--- a/books/dubbo-user-book-en/references/xml/dubbo-service.html
+++ b/books/dubbo-user-book-en/references/xml/dubbo-service.html
@@ -1797,7 +1797,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"next":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"previous":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"next":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"previous":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/references/xml/introduction.html b/books/dubbo-user-book-en/references/xml/introduction.html
index 94d46ea..baeaf4c 100644
--- a/books/dubbo-user-book-en/references/xml/introduction.html
+++ b/books/dubbo-user-book-en/references/xml/introduction.html
@@ -1402,7 +1402,7 @@
 <li>All properties will transform into URL <sup><a href="#fn_3" id="reffn_3">3</a></sup>  which is generated by provider. The url will be subscribed by consumers through registry. Please see the <code>Corresponding URL parameter</code> in the table below for each property.</li>
 </ul>
 <blockquote id="fn_1">
-<sup>1</sup>. XML Schema: <a href="http://code.alibabatech.com/schema/dubbo/dubbo.xsd" target="_blank">http://code.alibabatech.com/schema/dubbo/dubbo.xsd</a><a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
+<sup>1</sup>. XML Schema: <a href="http://dubbo.apache.org/schema/dubbo/dubbo.xsd" target="_blank">http://dubbo.apache.org/schema/dubbo/dubbo.xsd</a><a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
 </blockquote>
 <blockquote id="fn_2">
 <sup>2</sup>. Notice: These three properties, group, interface, and version determine a service. All other properties are used for service governance or performance optimize.<a href="#reffn_2" title="Jump back to footnote [2] in the text."> &#x21A9;</a>
@@ -1453,7 +1453,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"next":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"previous":{"title":"7 API introduction","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
+            gitbook.page.hasChanged({"page":{"title":"8 Schema configuration introduction","level":"1.9","depth":1,"next":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"previous":{"title":"7 API introduction","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book-en/search_index.json b/books/dubbo-user-book-en/search_index.json
index d6d7fc4..25d8dec 100644
--- a/books/dubbo-user-book-en/search_index.json
+++ b/books/dubbo-user-book-en/search_index.json
@@ -1 +1 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["book","cookbook,","cover","dubbo","featur","framework.","introduct","user"],"preface/":["1","introduct","prefac"],"preface/background.html":["(mvc)","(orm)","(rpc)","(soa),","1.1","acceler","access","ad","add","applic","application,","applications,","applications.","architectur","architecture(monolithic)","architecture." [...]
\ No newline at end of file
+{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["book","cookbook,","cover","dubbo","featur","framework.","introduct","user"],"preface/":["1","introduct","prefac"],"preface/background.html":["(mvc)","(orm)","(rpc)","(soa),","1.1","acceler","access","ad","add","applic","application,","applications,","applications.","architectur","architecture(monolithic)","architecture." [...]
\ No newline at end of file
diff --git a/books/dubbo-user-book-en/simple-monitor.md b/books/dubbo-user-book-en/simple-monitor.md
index 0ca3e6a..0ef2b68 100644
--- a/books/dubbo-user-book-en/simple-monitor.md
+++ b/books/dubbo-user-book-en/simple-monitor.md
@@ -7,8 +7,8 @@
       ```xml
       <beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
+      xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
        
       <!-- configuration of current application -->
       <dubbo:application name="simple-monitor" />
@@ -45,8 +45,8 @@
     ```xml   
     <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
+    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
      
     <!-- configuration of current application -->
     <dubbo:application name="simple-monitor" />
diff --git a/books/dubbo-user-book/benchmark-tool.md b/books/dubbo-user-book/benchmark-tool.md
index f2b530c..fe741aa 100644
--- a/books/dubbo-user-book/benchmark-tool.md
+++ b/books/dubbo-user-book/benchmark-tool.md
@@ -1,6 +1,8 @@
 # 基准测试工具包
 
-下载 [benchmark压缩包](http://code.alibabatech.com/wiki/download/attachments/7669075/dubbo.benchmark-2.0.14.tar.gz),并解压 
+* 下载源码: git clone https://github.com/apache/incubator-dubbo.git  
+* 编译benchmark: cd incubator-dubbo/dubbo-test/dubbo-test-benchmark; mvn clean install  
+* 解压 benchmark压缩包: incubator-dubbo/dubbo-test/dubbo-test-benchmark/target/dubbo-test-benchmark-2.6.2-SNAPSHOT.tar.gz 
 
 阅读ReadMe.txt(内容如下,请以压缩包内的为准)
 
diff --git a/books/dubbo-user-book/best-practice.html b/books/dubbo-user-book/best-practice.html
index 3fd74f4..be869d3 100644
--- a/books/dubbo-user-book/best-practice.html
+++ b/books/dubbo-user-book/best-practice.html
@@ -1480,7 +1480,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"next":{"title":"15 推荐用法","level":"1.16","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"previous":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100 [...]
+            gitbook.page.hasChanged({"page":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"next":{"title":"15 推荐用法","level":"1.16","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"previous":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":100 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/capacity-plan.html b/books/dubbo-user-book/capacity-plan.html
index 9a69c5c..59348c9 100644
--- a/books/dubbo-user-book/capacity-plan.html
+++ b/books/dubbo-user-book/capacity-plan.html
@@ -1464,7 +1464,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"16 容量规划","level":"1.17","depth":1,"next":{"title":"17 性能测试报告","level":"1.18","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"previous":{"title":"15 推荐用法","level":"1.16","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
+            gitbook.page.hasChanged({"page":{"title":"16 容量规划","level":"1.17","depth":1,"next":{"title":"17 性能测试报告","level":"1.18","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"previous":{"title":"15 推荐用法","level":"1.16","depth":1,"path":"recommend.md","ref":"./recommend.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialChar [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/configuration/annotation.html b/books/dubbo-user-book/configuration/annotation.html
index f2b0f9c..ce9ea23 100644
--- a/books/dubbo-user-book/configuration/annotation.html
+++ b/books/dubbo-user-book/configuration/annotation.html
@@ -1534,7 +1534,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"next":{"title":"6 示例","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},{"title":"6.3 负载均 [...]
+            gitbook.page.hasChanged({"page":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"next":{"title":"6 示例","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},{"title":"6.3 负载均 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/configuration/api.html b/books/dubbo-user-book/configuration/api.html
index 13fd330..908e37e 100644
--- a/books/dubbo-user-book/configuration/api.html
+++ b/books/dubbo-user-book/configuration/api.html
@@ -1555,7 +1555,7 @@ reference.setUrl(<span class="hljs-string">&quot;dubbo://10.20.130.230:20880/com
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.3 API 配置","level":"1.6.3","depth":2,"next":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"previous":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
+            gitbook.page.hasChanged({"page":{"title":"5.3 API 配置","level":"1.6.3","depth":2,"next":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"previous":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/configuration/index.html b/books/dubbo-user-book/configuration/index.html
index 9ec7a5b..3036fae 100644
--- a/books/dubbo-user-book/configuration/index.html
+++ b/books/dubbo-user-book/configuration/index.html
@@ -1449,7 +1449,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 配置","level":"1.6","depth":1,"next":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"previous":{"title":"4 成熟度","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSp [...]
+            gitbook.page.hasChanged({"page":{"title":"5 配置","level":"1.6","depth":1,"next":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"previous":{"title":"4 成熟度","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSp [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/configuration/properties.html b/books/dubbo-user-book/configuration/properties.html
index 21369fb..5aeda00 100644
--- a/books/dubbo-user-book/configuration/properties.html
+++ b/books/dubbo-user-book/configuration/properties.html
@@ -1478,7 +1478,7 @@ dubbo.registry.address=10.20.153.10:9090
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"next":{"title":"5.3 API 配置","level":"1.6.3","depth":2,"path":"configuration/api.md","ref":"./configuration/api.md","articles":[]},"previous":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"next":{"title":"5.3 API 配置","level":"1.6.3","depth":2,"path":"configuration/api.md","ref":"./configuration/api.md","articles":[]},"previous":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/configuration/xml.html b/books/dubbo-user-book/configuration/xml.html
index ea973bb..1b9df01 100644
--- a/books/dubbo-user-book/configuration/xml.html
+++ b/books/dubbo-user-book/configuration/xml.html
@@ -1411,8 +1411,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>  
@@ -1428,9 +1428,9 @@
 <p>&#x6216;&#xFF1A; <sup><a href="#fn_1" id="reffn_1">1</a></sup></p>
 <pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
     <span class="hljs-attr">xmlns:p</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/p&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;jms&quot;</span> <span class="hljs-attr">p:queue</span>=<span class="hljs-string">&quot;your_queue&quot;</span> /&gt;</span>  
 <span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
 </code></pre>
@@ -1561,7 +1561,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"next":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"previous":{"title":"5 配置","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"tit [...]
+            gitbook.page.hasChanged({"page":{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"next":{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},"previous":{"title":"5 配置","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"tit [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/coveragence.html b/books/dubbo-user-book/coveragence.html
index 7c53894..5d699c2 100644
--- a/books/dubbo-user-book/coveragence.html
+++ b/books/dubbo-user-book/coveragence.html
@@ -1449,7 +1449,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"18 测试覆盖率报告","level":"1.19","depth":1,"previous":{"title":"17 性能测试报告","level":"1.18","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk [...]
+            gitbook.page.hasChanged({"page":{"title":"18 测试覆盖率报告","level":"1.19","depth":1,"previous":{"title":"17 性能测试报告","level":"1.18","depth":1,"path":"perf-test.md","ref":"./perf-test.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/accesslog.html b/books/dubbo-user-book/demos/accesslog.html
index 177e7a4..f308862 100644
--- a/books/dubbo-user-book/demos/accesslog.html
+++ b/books/dubbo-user-book/demos/accesslog.html
@@ -1456,7 +1456,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"next":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"previous":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"next":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"previous":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/async-call.html b/books/dubbo-user-book/demos/async-call.html
index c861595..0ccbe8c 100644
--- a/books/dubbo-user-book/demos/async-call.html
+++ b/books/dubbo-user-book/demos/async-call.html
@@ -1495,7 +1495,7 @@ Bar bar = barFuture.get();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"next":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"previous":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"next":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"previous":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/attachment.html b/books/dubbo-user-book/demos/attachment.html
index f6099d4..90dce85 100644
--- a/books/dubbo-user-book/demos/attachment.html
+++ b/books/dubbo-user-book/demos/attachment.html
@@ -1469,7 +1469,7 @@ xxxService.xxx(); // &#x8FDC;&#x7A0B;&#x8C03;&#x7528;
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"next":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"previous":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
+            gitbook.page.hasChanged({"page":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"next":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"previous":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/callback-parameter.html b/books/dubbo-user-book/demos/callback-parameter.html
index 91f298e..598ac87 100644
--- a/books/dubbo-user-book/demos/callback-parameter.html
+++ b/books/dubbo-user-book/demos/callback-parameter.html
@@ -1541,7 +1541,7 @@ callbackService.addListener(<span class="hljs-string">&quot;http://10.20.160.198
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"next":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"previous":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"next":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"previous":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"path":"demos/local-call.md","ref":"./demos/local-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/concurrency-control.html b/books/dubbo-user-book/demos/concurrency-control.html
index 14c790d..56b57f0 100644
--- a/books/dubbo-user-book/demos/concurrency-control.html
+++ b/books/dubbo-user-book/demos/concurrency-control.html
@@ -1486,7 +1486,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"next":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"previous":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"next":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"previous":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/config-connections.html b/books/dubbo-user-book/demos/config-connections.html
index 0cf5508..9844109 100644
--- a/books/dubbo-user-book/demos/config-connections.html
+++ b/books/dubbo-user-book/demos/config-connections.html
@@ -1470,7 +1470,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"next":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"previous":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"next":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"previous":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/config-rule.html b/books/dubbo-user-book/demos/config-rule.html
index b02bf9b..1118e6e 100644
--- a/books/dubbo-user-book/demos/config-rule.html
+++ b/books/dubbo-user-book/demos/config-rule.html
@@ -1483,7 +1483,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"next":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"path":"demos/service-downgrade.md","ref":"./demos/service-downgrade.md","articles":[]},"previous":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
+            gitbook.page.hasChanged({"page":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"next":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"path":"demos/service-downgrade.md","ref":"./demos/service-downgrade.md","articles":[]},"previous":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/context.html b/books/dubbo-user-book/demos/context.html
index c58e956..4a29de5 100644
--- a/books/dubbo-user-book/demos/context.html
+++ b/books/dubbo-user-book/demos/context.html
@@ -1480,7 +1480,7 @@ yyyService.yyy();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"next":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"previous":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"next":{"title":"6.20 隐式参数","level":"1.7.20","depth":2,"path":"demos/attachment.md","ref":"./demos/attachment.md","articles":[]},"previous":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/delay-publish.html b/books/dubbo-user-book/demos/delay-publish.html
index a79182c..3f6da02 100644
--- a/books/dubbo-user-book/demos/delay-publish.html
+++ b/books/dubbo-user-book/demos/delay-publish.html
@@ -1478,7 +1478,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"next":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"previous":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
+            gitbook.page.hasChanged({"page":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"next":{"title":"6.28 并发控制","level":"1.7.28","depth":2,"path":"demos/concurrency-control.md","ref":"./demos/concurrency-control.md","articles":[]},"previous":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/distributed-transaction.html b/books/dubbo-user-book/demos/distributed-transaction.html
index a0ba57a..1c004d2 100644
--- a/books/dubbo-user-book/demos/distributed-transaction.html
+++ b/books/dubbo-user-book/demos/distributed-transaction.html
@@ -1455,7 +1455,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"next":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"previous":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"high [...]
+            gitbook.page.hasChanged({"page":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"next":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"previous":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"high [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/dump.html b/books/dubbo-user-book/demos/dump.html
index 8d3b8cf..928cef3 100644
--- a/books/dubbo-user-book/demos/dump.html
+++ b/books/dubbo-user-book/demos/dump.html
@@ -1462,7 +1462,7 @@ dubbo.application.dump.directory=/tmp
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"next":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"path":"demos/netty4.md","ref":"./demos/netty4.md","articles":[]},"previous":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"next":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"path":"demos/netty4.md","ref":"./demos/netty4.md","articles":[]},"previous":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/echo-service.html b/books/dubbo-user-book/demos/echo-service.html
index c3d9aa4..882c9e1 100644
--- a/books/dubbo-user-book/demos/echo-service.html
+++ b/books/dubbo-user-book/demos/echo-service.html
@@ -1465,7 +1465,7 @@ String status = echoService.$echo(<span class="hljs-string">&quot;OK&quot;</span
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"next":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"previous":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"next":{"title":"6.19 上下文信息","level":"1.7.19","depth":2,"path":"demos/context.md","ref":"./demos/context.md","articles":[]},"previous":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/events-notify.html b/books/dubbo-user-book/demos/events-notify.html
index f0bab8d..fb38f3b 100644
--- a/books/dubbo-user-book/demos/events-notify.html
+++ b/books/dubbo-user-book/demos/events-notify.html
@@ -1525,7 +1525,7 @@ Assert.assertEquals(requestId, notify.ret.get(requestId).getId());
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"next":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"previous":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"next":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"previous":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/explicit-target.html b/books/dubbo-user-book/demos/explicit-target.html
index aa7ea6d..2ba8b8f 100644
--- a/books/dubbo-user-book/demos/explicit-target.html
+++ b/books/dubbo-user-book/demos/explicit-target.html
@@ -1476,7 +1476,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"next":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"previous":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"next":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"previous":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/fault-tolerent-strategy.html b/books/dubbo-user-book/demos/fault-tolerent-strategy.html
index c4c25db..9995a34 100644
--- a/books/dubbo-user-book/demos/fault-tolerent-strategy.html
+++ b/books/dubbo-user-book/demos/fault-tolerent-strategy.html
@@ -1497,7 +1497,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"next":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"previous":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
+            gitbook.page.hasChanged({"page":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"next":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"previous":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/generic-reference.html b/books/dubbo-user-book/demos/generic-reference.html
index df91df9..991ff1c 100644
--- a/books/dubbo-user-book/demos/generic-reference.html
+++ b/books/dubbo-user-book/demos/generic-reference.html
@@ -1524,7 +1524,7 @@ map.put(<span class="hljs-string">&quot;password&quot;</span>, <span class="hljs
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"next":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"previous":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"next":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"path":"demos/generic-service.md","ref":"./demos/generic-service.md","articles":[]},"previous":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/generic-service.html b/books/dubbo-user-book/demos/generic-service.html
index 24849dc..a0aa3bb 100644
--- a/books/dubbo-user-book/demos/generic-service.html
+++ b/books/dubbo-user-book/demos/generic-service.html
@@ -1482,7 +1482,7 @@ service.export();
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"next":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"previous":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
+            gitbook.page.hasChanged({"page":{"title":"6.17 泛化实现","level":"1.7.17","depth":2,"next":{"title":"6.18 回声测试","level":"1.7.18","depth":2,"path":"demos/echo-service.md","ref":"./demos/echo-service.md","articles":[]},"previous":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"sear [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/graceful-shutdown.html b/books/dubbo-user-book/demos/graceful-shutdown.html
index 01ec6d0..f8564d5 100644
--- a/books/dubbo-user-book/demos/graceful-shutdown.html
+++ b/books/dubbo-user-book/demos/graceful-shutdown.html
@@ -1469,7 +1469,7 @@ dubbo.service.shutdown.wait=15000
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"next":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"previous":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"path":"demos/service-downgrade.md","ref":"./demos/service-downgrade.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"next":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"previous":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"path":"demos/service-downgrade.md","ref":"./demos/service-downgrade.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/group-merger.html b/books/dubbo-user-book/demos/group-merger.html
index 25f00f9..7c57969 100644
--- a/books/dubbo-user-book/demos/group-merger.html
+++ b/books/dubbo-user-book/demos/group-merger.html
@@ -1484,7 +1484,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"next":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"previous":{"title":"6.12 多版本","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"next":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"previous":{"title":"6.12 多版本","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/hostname-binding.html b/books/dubbo-user-book/demos/hostname-binding.html
index dc03945..7c96607 100644
--- a/books/dubbo-user-book/demos/hostname-binding.html
+++ b/books/dubbo-user-book/demos/hostname-binding.html
@@ -1521,7 +1521,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"next":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"previous":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"next":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"path":"demos/logger-strategy.md","ref":"./demos/logger-strategy.md","articles":[]},"previous":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/index.html b/books/dubbo-user-book/demos/index.html
index 4af14a2..c46d115 100644
--- a/books/dubbo-user-book/demos/index.html
+++ b/books/dubbo-user-book/demos/index.html
@@ -1449,7 +1449,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 示例","level":"1.7","depth":1,"next":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"previous":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
+            gitbook.page.hasChanged({"page":{"title":"6 示例","level":"1.7","depth":1,"next":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},"previous":{"title":"5.4 注解配置","level":"1.6.4","depth":2,"path":"configuration/annotation.md","ref":"./configuration/annotation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/lazy-connect.html b/books/dubbo-user-book/demos/lazy-connect.html
index 78df76d..51281eb 100644
--- a/books/dubbo-user-book/demos/lazy-connect.html
+++ b/books/dubbo-user-book/demos/lazy-connect.html
@@ -1455,7 +1455,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"next":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"previous":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"next":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"previous":{"title":"6.29 连接控制","level":"1.7.29","depth":2,"path":"demos/config-connections.md","ref":"./demos/config-connections.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/loadbalance.html b/books/dubbo-user-book/demos/loadbalance.html
index 1efa2f3..af4c1e2 100644
--- a/books/dubbo-user-book/demos/loadbalance.html
+++ b/books/dubbo-user-book/demos/loadbalance.html
@@ -1492,7 +1492,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"next":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"previous":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"next":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"path":"demos/thread-model.md","ref":"./demos/thread-model.md","articles":[]},"previous":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/local-call.html b/books/dubbo-user-book/demos/local-call.html
index a1caacd..54e4e35 100644
--- a/books/dubbo-user-book/demos/local-call.html
+++ b/books/dubbo-user-book/demos/local-call.html
@@ -1473,7 +1473,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"next":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"previous":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.22 本地调用","level":"1.7.22","depth":2,"next":{"title":"6.23 参数回调","level":"1.7.23","depth":2,"path":"demos/callback-parameter.md","ref":"./demos/callback-parameter.md","articles":[]},"previous":{"title":"6.21 异步调用","level":"1.7.21","depth":2,"path":"demos/async-call.md","ref":"./demos/async-call.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/local-mock.html b/books/dubbo-user-book/demos/local-mock.html
index fcba665..f77523e 100644
--- a/books/dubbo-user-book/demos/local-mock.html
+++ b/books/dubbo-user-book/demos/local-mock.html
@@ -1482,7 +1482,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"next":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"previous":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"next":{"title":"6.27 延迟暴露","level":"1.7.27","depth":2,"path":"demos/delay-publish.md","ref":"./demos/delay-publish.md","articles":[]},"previous":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"path":"demos/local-stub.md","ref":"./demos/local-stub.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/local-stub.html b/books/dubbo-user-book/demos/local-stub.html
index 19399a1..bc4574f 100644
--- a/books/dubbo-user-book/demos/local-stub.html
+++ b/books/dubbo-user-book/demos/local-stub.html
@@ -1484,7 +1484,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"next":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"previous":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
+            gitbook.page.hasChanged({"page":{"title":"6.25 本地存根","level":"1.7.25","depth":2,"next":{"title":"6.26 本地伪装","level":"1.7.26","depth":2,"path":"demos/local-mock.md","ref":"./demos/local-mock.md","articles":[]},"previous":{"title":"6.24 事件通知","level":"1.7.24","depth":2,"path":"demos/events-notify.md","ref":"./demos/events-notify.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/logger-strategy.html b/books/dubbo-user-book/demos/logger-strategy.html
index be754c1..255ecf0 100644
--- a/books/dubbo-user-book/demos/logger-strategy.html
+++ b/books/dubbo-user-book/demos/logger-strategy.html
@@ -1466,7 +1466,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"next":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"previous":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.38 日志适配","level":"1.7.38","depth":2,"next":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"previous":{"title":"6.37 主机绑定","level":"1.7.37","depth":2,"path":"demos/hostname-binding.md","ref":"./demos/hostname-binding.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/multi-protocols.html b/books/dubbo-user-book/demos/multi-protocols.html
index 774d47e..8210f87 100644
--- a/books/dubbo-user-book/demos/multi-protocols.html
+++ b/books/dubbo-user-book/demos/multi-protocols.html
@@ -1412,8 +1412,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span> 
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span> 
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</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">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
@@ -1430,8 +1430,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</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">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
@@ -1487,7 +1487,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.9 多协议","level":"1.7.9","depth":2,"next":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"previous":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"6.9 多协议","level":"1.7.9","depth":2,"next":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"previous":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/multi-registry.html b/books/dubbo-user-book/demos/multi-registry.html
index 2f5f35f..8cb0d16 100644
--- a/books/dubbo-user-book/demos/multi-registry.html
+++ b/books/dubbo-user-book/demos/multi-registry.html
@@ -1412,8 +1412,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hangzhouRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1427,8 +1427,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1444,8 +1444,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
@@ -1460,8 +1460,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF0C;&#x7AD6;&#x53F7;&#x5206;&#x9694;&#x8868;&#x793A;&#x540C;&#x65F6;&#x8FDE;&#x63A5;&#x591A;&#x4E2A;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x540C;&#x4E00;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x591A;&#x4E2A;&#x96C6;&#x7FA4;&#x5730;&#x5740;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090|10.20.154.177:9010&quot;</span> /&gt;</span>
@@ -1515,7 +1515,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"next":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"previous":{"title":"6.9 多协议","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"next":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"previous":{"title":"6.9 多协议","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/multi-versions.html b/books/dubbo-user-book/demos/multi-versions.html
index 1fb29cf..ab00c63 100644
--- a/books/dubbo-user-book/demos/multi-versions.html
+++ b/books/dubbo-user-book/demos/multi-versions.html
@@ -1474,7 +1474,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.12 多版本","level":"1.7.12","depth":2,"next":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"previous":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"l [...]
+            gitbook.page.hasChanged({"page":{"title":"6.12 多版本","level":"1.7.12","depth":2,"next":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"previous":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"path":"demos/service-group.md","ref":"./demos/service-group.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"l [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/netty4.html b/books/dubbo-user-book/demos/netty4.html
index dae0bc7..5fe5a2d 100644
--- a/books/dubbo-user-book/demos/netty4.html
+++ b/books/dubbo-user-book/demos/netty4.html
@@ -1477,7 +1477,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"next":{"title":"7 API 参考手册","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"previous":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.44 Netty4","level":"1.7.44","depth":2,"next":{"title":"7 API 参考手册","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"previous":{"title":"6.43 线程栈自动dump","level":"1.7.43","depth":2,"path":"demos/dump.md","ref":"./demos/dump.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/parameter-validation.html b/books/dubbo-user-book/demos/parameter-validation.html
index 79734db..2dfa6bd 100644
--- a/books/dubbo-user-book/demos/parameter-validation.html
+++ b/books/dubbo-user-book/demos/parameter-validation.html
@@ -1607,7 +1607,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"next":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"previous":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
+            gitbook.page.hasChanged({"page":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"next":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"path":"demos/result-cache.md","ref":"./demos/result-cache.md","articles":[]},"previous":{"title":"6.13 分组聚合","level":"1.7.13","depth":2,"path":"demos/group-merger.md","ref":"./demos/group-merger.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/preflight-check.html b/books/dubbo-user-book/demos/preflight-check.html
index b186bdd..dca5021 100644
--- a/books/dubbo-user-book/demos/preflight-check.html
+++ b/books/dubbo-user-book/demos/preflight-check.html
@@ -1406,7 +1406,7 @@
                                 <section class="normal markdown-section">
                                 
                                 <h1 id="&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;">&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;</h1>
-<p>Dubbo &#x7F3A;&#x7701;&#x4F1A;&#x5728;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#x4F9D;&#x8D56;&#x7684;&#x670D;&#x52A1;&#x662F;&#x5426;&#x53EF;&#x7528;&#xFF0C;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#x4F1A;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x963B;&#x6B62; Spring &#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E0A;&#x7EBF;&#x65F6;&#xFF0C;&#x80FD;&#x53CA;&#x65E9;&#x53D1;&#x73B0;&#x95EE;&#x9898;&#xFF0C;&#x9ED8;&#x8BA4;  <code>check=&quot;true&quot;</code>&#x3002;  </p>
+<p>Dubbo &#x7F3A;&#x7701;&#x4F1A;&#x5728;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#x4F9D;&#x8D56;&#x7684;&#x670D;&#x52A1;&#x662F;&#x5426;&#x53EF;&#x7528;&#xFF0C;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#x4F1A;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x963B;&#x6B62; Spring &#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E0A;&#x7EBF;&#x65F6;&#xFF0C;&#x80FD;&#x53CA;&#x65E9;&#x53D1;&#x73B0;&#x95EE;&#x9898;&#xFF0C;&#x9ED8;&#x8BA4;  <code>check=&quot;true&quot;</code>&#x3002;  </p>
 <p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>check=&quot;false&quot;</code> &#x5173;&#x95ED;&#x68C0;&#x67E5;&#xFF0C;&#x6BD4;&#x5982;&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#xFF0C;&#x6709;&#x4E9B;&#x670D;&#x52A1;&#x4E0D;&#x5173;&#x5FC3;&#xFF0C;&#x6216;&#x8005;&#x51FA;&#x73B0;&#x4E86;&#x5FAA;&#x73AF;&#x4F9D;&#x8D56;&#xFF0C;&#x5FC5;&#x987B;&#x6709;&#x4E00;&#x65B9;&#x5148;&#x542F;&#x52A8;&#x3002;</p>
 <p>&#x53E6;&#x5916;&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x7684; Spring &#x5BB9;&#x5668;&#x662F;&#x61D2;&#x52A0;&#x8F7D;&#x7684;&#xFF0C;&#x6216;&#x8005;&#x901A;&#x8FC7; API &#x7F16;&#x7A0B;&#x5EF6;&#x8FDF;&#x5F15;&#x7528;&#x670D;&#x52A1;&#xFF0C;&#x8BF7;&#x5173;&#x95ED; check&#xFF0C;&#x5426;&#x5219;&#x670D;&#x52A1;&#x4E34;&#x65F6;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#xFF0C;&#x4F1A;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x62FF;&#x5230; null &#x5F15;&#x7528;&#xFF0C;&#x5982;&#x679C; <code>check=&qu [...]
 <h2 id="&#x793A;&#x4F8B;">&#x793A;&#x4F8B;</h2>
@@ -1479,7 +1479,7 @@ java -Ddubbo.registry.check=<span class="hljs-literal">false</span>
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"next":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"previous":{"title":"6 示例","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"tit [...]
+            gitbook.page.hasChanged({"page":{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"next":{"title":"6.2 集群容错","level":"1.7.2","depth":2,"path":"demos/fault-tolerent-strategy.md","ref":"./demos/fault-tolerent-strategy.md","articles":[]},"previous":{"title":"6 示例","level":"1.7","depth":1,"path":"demos/index.md","ref":"./demos/index.md","articles":[{"title":"6.1 启动时检查","level":"1.7.1","depth":2,"path":"demos/preflight-check.md","ref":"./demos/preflight-check.md","articles":[]},{"tit [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/reference-config-cache.html b/books/dubbo-user-book/demos/reference-config-cache.html
index aab827f..6aac9b6 100644
--- a/books/dubbo-user-book/demos/reference-config-cache.html
+++ b/books/dubbo-user-book/demos/reference-config-cache.html
@@ -1472,7 +1472,7 @@ ReferenceConfigCache cache = ReferenceConfigCache.getCache(keyGenerator );
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"next":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"previous":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
+            gitbook.page.hasChanged({"page":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"next":{"title":"6.42 分布式事务","level":"1.7.42","depth":2,"path":"demos/distributed-transaction.md","ref":"./demos/distributed-transaction.md","articles":[]},"previous":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"path":"demos/service-container.md","ref":"./demos/service-container.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[] [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/registry-only.html b/books/dubbo-user-book/demos/registry-only.html
index 093e5d8..675cb11 100644
--- a/books/dubbo-user-book/demos/registry-only.html
+++ b/books/dubbo-user-book/demos/registry-only.html
@@ -1458,7 +1458,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.7 只注册","level":"1.7.7","depth":2,"next":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"previous":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
+            gitbook.page.hasChanged({"page":{"title":"6.7 只注册","level":"1.7.7","depth":2,"next":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"path":"demos/static-service.md","ref":"./demos/static-service.md","articles":[]},"previous":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"path":"demos/subscribe-only.md","ref":"./demos/subscribe-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/result-cache.html b/books/dubbo-user-book/demos/result-cache.html
index 4ec0153..e6fbb08 100644
--- a/books/dubbo-user-book/demos/result-cache.html
+++ b/books/dubbo-user-book/demos/result-cache.html
@@ -1471,7 +1471,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"next":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"previous":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hig [...]
+            gitbook.page.hasChanged({"page":{"title":"6.15 结果缓存","level":"1.7.15","depth":2,"next":{"title":"6.16 泛化引用","level":"1.7.16","depth":2,"path":"demos/generic-reference.md","ref":"./demos/generic-reference.md","articles":[]},"previous":{"title":"6.14 参数验证","level":"1.7.14","depth":2,"path":"demos/parameter-validation.md","ref":"./demos/parameter-validation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"hig [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/routing-rule.html b/books/dubbo-user-book/demos/routing-rule.html
index 8c87395..3265979 100644
--- a/books/dubbo-user-book/demos/routing-rule.html
+++ b/books/dubbo-user-book/demos/routing-rule.html
@@ -1418,6 +1418,8 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
 <li><code>condition://</code> &#x8868;&#x793A;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x652F;&#x6301;&#x6761;&#x4EF6;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x548C;&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x53EF;&#x6269;&#x5C55;&#xFF0C;<strong>&#x5FC5;&#x586B;</strong>&#x3002;</li>
 <li><code>0.0.0.0</code> &#x8868;&#x793A;&#x5BF9;&#x6240;&#x6709; IP &#x5730;&#x5740;&#x751F;&#x6548;&#xFF0C;&#x5982;&#x679C;&#x53EA;&#x60F3;&#x5BF9;&#x67D0;&#x4E2A; IP &#x7684;&#x751F;&#x6548;&#xFF0C;&#x8BF7;&#x586B;&#x5165;&#x5177;&#x4F53; IP&#xFF0C;<strong>&#x5FC5;&#x586B;</strong>&#x3002;</li>
 <li><code>com.foo.BarService</code> &#x8868;&#x793A;&#x53EA;&#x5BF9;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x751F;&#x6548;&#xFF0C;<strong>&#x5FC5;&#x586B;</strong>&#x3002;</li>
+<li><code>group=foo</code> &#x5BF9;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x7684;&#x6307;&#x5B9A;group&#x751F;&#x6548;&#xFF0C;&#x4E0D;&#x586B;&#x8868;&#x793A;&#x5BF9;&#x672A;&#x914D;&#x7F6E;group&#x7684;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x751F;&#x6548;</li>
+<li><code>version=1.0</code>&#x5BF9;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x7684;&#x6307;&#x5B9A;version&#x751F;&#x6548;&#xFF0C;&#x4E0D;&#x586B;&#x8868;&#x793A;&#x5BF9;&#x672A;&#x914D;&#x7F6E;version&#x7684;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x751F;&#x6548;</li>
 <li><code>category=routers</code> &#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x7C7B;&#x578B;&#xFF0C;<strong>&#x5FC5;&#x586B;</strong>&#x3002;</li>
 <li><code>dynamic=false</code> &#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x6301;&#x4E45;&#x6570;&#x636E;&#xFF0C;&#x5F53;&#x6CE8;&#x518C;&#x65B9;&#x9000;&#x51FA;&#x65F6;&#xFF0C;&#x6570;&#x636E;&#x4F9D;&#x7136;&#x4FDD;&#x5B58;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;<strong>&#x5FC5;&#x586B;</strong>&#x3002;</li>
 <li><code>enabled=true</code> &#x8986;&#x76D6;&#x89C4;&#x5219;&#x662F;&#x5426;&#x751F;&#x6548;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x751F;&#x6548;&#x3002;</li>
@@ -1487,9 +1489,9 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
 </ol>
 <h2 id="&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;">&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;</h2>
 <p>&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219; <sup><a href="#fn_4" id="reffn_4">4</a></sup> &#x652F;&#x6301; JDK &#x811A;&#x672C;&#x5F15;&#x64CE;&#x7684;&#x6240;&#x6709;&#x811A;&#x672C;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;javascript, jruby, groovy &#x7B49;&#xFF0C;&#x901A;&#x8FC7; <code>type=javascript</code> &#x53C2;&#x6570;&#x8BBE;&#x7F6E;&#x811A;&#x672C;&#x7C7B;&#x578B;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A; javascript&#x3002;</p>
-<pre><code>&quot;script://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;function route(invokers) { ... } (invokers)&quot;)
+<pre><code>&quot;script://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;&#xFF08;function route(invokers) { ... } (invokers)&#xFF09;&quot;)
 </code></pre><p>&#x57FA;&#x4E8E;&#x811A;&#x672C;&#x5F15;&#x64CE;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">route</span>(<span class="hljs-params">invokers</span>) </span>{
+<pre><code class="lang-javascript">&#xFF08;<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">route</span>(<span class="hljs-params">invokers</span>) </span>{
     <span class="hljs-keyword">var</span> result = <span class="hljs-keyword">new</span> java.util.ArrayList(invokers.size());
     <span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i &lt; invokers.size(); i ++) {
         <span class="hljs-keyword">if</span> (<span class="hljs-string">&quot;10.20.153.10&quot;</span>.equals(invokers.get(i).getUrl().getHost())) {
@@ -1497,7 +1499,7 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
         }
     }
     <span class="hljs-keyword">return</span> result;
-} (invokers); <span class="hljs-comment">// &#x8868;&#x793A;&#x7ACB;&#x5373;&#x6267;&#x884C;&#x65B9;&#x6CD5;</span>
+} (invokers)&#xFF09;; <span class="hljs-comment">// &#x8868;&#x793A;&#x7ACB;&#x5373;&#x6267;&#x884C;&#x65B9;&#x6CD5;</span>
 </code></pre>
 <blockquote id="fn_1">
 <sup>1</sup>. <code>2.2.0</code> &#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;<a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
@@ -1554,7 +1556,7 @@ registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?categ
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"next":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"previous":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
+            gitbook.page.hasChanged({"page":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"next":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"previous":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"se [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/service-container.html b/books/dubbo-user-book/demos/service-container.html
index 89d6fc4..7fedc76 100644
--- a/books/dubbo-user-book/demos/service-container.html
+++ b/books/dubbo-user-book/demos/service-container.html
@@ -1493,7 +1493,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"next":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"previous":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"6.40 服务容器","level":"1.7.40","depth":2,"next":{"title":"6.41 Reference Config 缓存","level":"1.7.41","depth":2,"path":"demos/reference-config-cache.md","ref":"./demos/reference-config-cache.md","articles":[]},"previous":{"title":"6.39 访问日志","level":"1.7.39","depth":2,"path":"demos/accesslog.md","ref":"./demos/accesslog.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/service-downgrade.html b/books/dubbo-user-book/demos/service-downgrade.html
index 82647db..fdc7e24 100644
--- a/books/dubbo-user-book/demos/service-downgrade.html
+++ b/books/dubbo-user-book/demos/service-downgrade.html
@@ -1463,7 +1463,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"next":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"previous":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.35 服务降级","level":"1.7.35","depth":2,"next":{"title":"6.36 优雅停机","level":"1.7.36","depth":2,"path":"demos/graceful-shutdown.md","ref":"./demos/graceful-shutdown.md","articles":[]},"previous":{"title":"6.34 配置规则","level":"1.7.34","depth":2,"path":"demos/config-rule.md","ref":"./demos/config-rule.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/service-group.html b/books/dubbo-user-book/demos/service-group.html
index 87af2fa..3fbdecb 100644
--- a/books/dubbo-user-book/demos/service-group.html
+++ b/books/dubbo-user-book/demos/service-group.html
@@ -1464,7 +1464,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"next":{"title":"6.12 多版本","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"previous":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
+            gitbook.page.hasChanged({"page":{"title":"6.11 服务分组","level":"1.7.11","depth":2,"next":{"title":"6.12 多版本","level":"1.7.12","depth":2,"path":"demos/multi-versions.md","ref":"./demos/multi-versions.md","articles":[]},"previous":{"title":"6.10 多注册中心","level":"1.7.10","depth":2,"path":"demos/multi-registry.md","ref":"./demos/multi-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/static-service.html b/books/dubbo-user-book/demos/static-service.html
index 3fdd94c..0aa53ba 100644
--- a/books/dubbo-user-book/demos/static-service.html
+++ b/books/dubbo-user-book/demos/static-service.html
@@ -1464,7 +1464,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"next":{"title":"6.9 多协议","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"previous":{"title":"6.7 只注册","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
+            gitbook.page.hasChanged({"page":{"title":"6.8 静态服务","level":"1.7.8","depth":2,"next":{"title":"6.9 多协议","level":"1.7.9","depth":2,"path":"demos/multi-protocols.md","ref":"./demos/multi-protocols.md","articles":[]},"previous":{"title":"6.7 只注册","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lu [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/stickiness.html b/books/dubbo-user-book/demos/stickiness.html
index 8696c31..d2444f7 100644
--- a/books/dubbo-user-book/demos/stickiness.html
+++ b/books/dubbo-user-book/demos/stickiness.html
@@ -1453,7 +1453,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"next":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"previous":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
+            gitbook.page.hasChanged({"page":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"next":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"path":"demos/token-authorization.md","ref":"./demos/token-authorization.md","articles":[]},"previous":{"title":"6.30 延迟连接","level":"1.7.30","depth":2,"path":"demos/lazy-connect.md","ref":"./demos/lazy-connect.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{}," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/subscribe-only.html b/books/dubbo-user-book/demos/subscribe-only.html
index 85c6a90..ed80553 100644
--- a/books/dubbo-user-book/demos/subscribe-only.html
+++ b/books/dubbo-user-book/demos/subscribe-only.html
@@ -1458,7 +1458,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"next":{"title":"6.7 只注册","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"previous":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"l [...]
+            gitbook.page.hasChanged({"page":{"title":"6.6 只订阅","level":"1.7.6","depth":2,"next":{"title":"6.7 只注册","level":"1.7.7","depth":2,"path":"demos/registry-only.md","ref":"./demos/registry-only.md","articles":[]},"previous":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"l [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/thread-model.html b/books/dubbo-user-book/demos/thread-model.html
index 56a91e5..2edca80 100644
--- a/books/dubbo-user-book/demos/thread-model.html
+++ b/books/dubbo-user-book/demos/thread-model.html
@@ -1471,7 +1471,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"next":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"previous":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
+            gitbook.page.hasChanged({"page":{"title":"6.4 线程模型","level":"1.7.4","depth":2,"next":{"title":"6.5 直连提供者","level":"1.7.5","depth":2,"path":"demos/explicit-target.md","ref":"./demos/explicit-target.md","articles":[]},"previous":{"title":"6.3 负载均衡","level":"1.7.3","depth":2,"path":"demos/loadbalance.md","ref":"./demos/loadbalance.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lun [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/demos/token-authorization.html b/books/dubbo-user-book/demos/token-authorization.html
index 858e317..0f06569 100644
--- a/books/dubbo-user-book/demos/token-authorization.html
+++ b/books/dubbo-user-book/demos/token-authorization.html
@@ -1475,7 +1475,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"next":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"previous":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
+            gitbook.page.hasChanged({"page":{"title":"6.32 令牌验证","level":"1.7.32","depth":2,"next":{"title":"6.33 路由规则","level":"1.7.33","depth":2,"path":"demos/routing-rule.md","ref":"./demos/routing-rule.md","articles":[]},"previous":{"title":"6.31 粘滞连接","level":"1.7.31","depth":2,"path":"demos/stickiness.md","ref":"./demos/stickiness.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/dependencies.html b/books/dubbo-user-book/dependencies.html
index a180b6d..b39ad1d 100644
--- a/books/dubbo-user-book/dependencies.html
+++ b/books/dubbo-user-book/dependencies.html
@@ -1512,7 +1512,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3 依赖","level":"1.4","depth":1,"next":{"title":"4 成熟度","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"previous":{"title":"2 快速启动","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":f [...]
+            gitbook.page.hasChanged({"page":{"title":"3 依赖","level":"1.4","depth":1,"next":{"title":"4 成熟度","level":"1.5","depth":1,"path":"maturity.md","ref":"./maturity.md","articles":[]},"previous":{"title":"2 快速启动","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":f [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/index.html b/books/dubbo-user-book/index.html
index 8a6c661..053f046 100644
--- a/books/dubbo-user-book/index.html
+++ b/books/dubbo-user-book/index.html
@@ -1444,7 +1444,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 入门","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},{"title":"1.3 架构","level":"1.2.3","depth [...]
+            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 入门","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},{"title":"1.3 架构","level":"1.2.3","depth [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/maturity.html b/books/dubbo-user-book/maturity.html
index 3631abc..5ecad6d 100644
--- a/books/dubbo-user-book/maturity.html
+++ b/books/dubbo-user-book/maturity.html
@@ -1998,7 +1998,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4 成熟度","level":"1.5","depth":1,"next":{"title":"5 配置","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},{"title":"5.3 API 配置"," [...]
+            gitbook.page.hasChanged({"page":{"title":"4 成熟度","level":"1.5","depth":1,"next":{"title":"5 配置","level":"1.6","depth":1,"path":"configuration/index.md","ref":"./configuration/index.md","articles":[{"title":"5.1 XML 配置","level":"1.6.1","depth":2,"path":"configuration/xml.md","ref":"./configuration/xml.md","articles":[]},{"title":"5.2 属性配置","level":"1.6.2","depth":2,"path":"configuration/properties.md","ref":"./configuration/properties.md","articles":[]},{"title":"5.3 API 配置"," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/perf-test.html b/books/dubbo-user-book/perf-test.html
index 44cce26..5b92f54 100644
--- a/books/dubbo-user-book/perf-test.html
+++ b/books/dubbo-user-book/perf-test.html
@@ -1795,7 +1795,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"17 性能测试报告","level":"1.18","depth":1,"next":{"title":"18 测试覆盖率报告","level":"1.19","depth":1,"path":"coveragence.md","ref":"./coveragence.md","articles":[]},"previous":{"title":"16 容量规划","level":"1.17","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ig [...]
+            gitbook.page.hasChanged({"page":{"title":"17 性能测试报告","level":"1.18","depth":1,"next":{"title":"18 测试覆盖率报告","level":"1.19","depth":1,"path":"coveragence.md","ref":"./coveragence.md","articles":[]},"previous":{"title":"16 容量规划","level":"1.17","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ig [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/preface/architecture.html b/books/dubbo-user-book/preface/architecture.html
index 91b1321..25d809a 100644
--- a/books/dubbo-user-book/preface/architecture.html
+++ b/books/dubbo-user-book/preface/architecture.html
@@ -1459,7 +1459,7 @@
 <li>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x548C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5168;&#x90E8;&#x5B95;&#x673A;&#xFF0C;&#x4E0D;&#x5F71;&#x54CD;&#x5DF2;&#x8FD0;&#x884C;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x5728;&#x672C;&#x5730;&#x7F13;&#x5B58;&#x4E86;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;</li>
 <li>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x548C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x90FD;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF0C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x53EF;&#x4EE5;&#x76F4;&#x8FDE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;</li>
 </ul>
-<h2 id="&#x5065;&#x72B6;&#x6027;">&#x5065;&#x72B6;&#x6027;</h2>
+<h2 id="&#x5065;&#x58EE;&#x6027;">&#x5065;&#x58EE;&#x6027;</h2>
 <ul>
 <li>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5B95;&#x6389;&#x4E0D;&#x5F71;&#x54CD;&#x4F7F;&#x7528;&#xFF0C;&#x53EA;&#x662F;&#x4E22;&#x5931;&#x90E8;&#x5206;&#x91C7;&#x6837;&#x6570;&#x636E;</li>
 <li>&#x6570;&#x636E;&#x5E93;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4ECD;&#x80FD;&#x901A;&#x8FC7;&#x7F13;&#x5B58;&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x5217;&#x8868;&#x67E5;&#x8BE2;&#xFF0C;&#x4F46;&#x4E0D;&#x80FD;&#x6CE8;&#x518C;&#x65B0;&#x670D;&#x52A1;</li>
@@ -1554,7 +1554,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 架构","level":"1.2.3","depth":2,"next":{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"previous":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize [...]
+            gitbook.page.hasChanged({"page":{"title":"1.3 架构","level":"1.2.3","depth":2,"next":{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"previous":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/preface/background.html b/books/dubbo-user-book/preface/background.html
index d98ca31..1b1bf18 100644
--- a/books/dubbo-user-book/preface/background.html
+++ b/books/dubbo-user-book/preface/background.html
@@ -1459,7 +1459,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 背景","level":"1.2.1","depth":2,"next":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"previous":{"title":"1 入门","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2" [...]
+            gitbook.page.hasChanged({"page":{"title":"1.1 背景","level":"1.2.1","depth":2,"next":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"./preface/requirements.md","articles":[]},"previous":{"title":"1 入门","level":"1.2","depth":1,"path":"preface/index.md","ref":"./preface/index.md","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/preface/index.html b/books/dubbo-user-book/preface/index.html
index 86a3055..7b02908 100644
--- a/books/dubbo-user-book/preface/index.html
+++ b/books/dubbo-user-book/preface/index.html
@@ -1449,7 +1449,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 入门","level":"1.2","depth":1,"next":{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpe [...]
+            gitbook.page.hasChanged({"page":{"title":"1 入门","level":"1.2","depth":1,"next":{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpe [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/preface/requirements.html b/books/dubbo-user-book/preface/requirements.html
index 4a2fa31..afc34a6 100644
--- a/books/dubbo-user-book/preface/requirements.html
+++ b/books/dubbo-user-book/preface/requirements.html
@@ -1455,7 +1455,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 需求","level":"1.2.2","depth":2,"next":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"previous":{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
+            gitbook.page.hasChanged({"page":{"title":"1.2 需求","level":"1.2.2","depth":2,"next":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"previous":{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"./preface/background.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"ma [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/preface/usage.html b/books/dubbo-user-book/preface/usage.html
index fda7f77..feb4b6b 100644
--- a/books/dubbo-user-book/preface/usage.html
+++ b/books/dubbo-user-book/preface/usage.html
@@ -1476,7 +1476,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 用法","level":"1.2.4","depth":2,"next":{"title":"2 快速启动","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"previous":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000 [...]
+            gitbook.page.hasChanged({"page":{"title":"1.4 用法","level":"1.2.4","depth":2,"next":{"title":"2 快速启动","level":"1.3","depth":1,"path":"quick-start.md","ref":"./quick-start.md","articles":[]},"previous":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architecture.md","ref":"./preface/architecture.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000 [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/quick-start.html b/books/dubbo-user-book/quick-start.html
index 5601b46..1404943 100644
--- a/books/dubbo-user-book/quick-start.html
+++ b/books/dubbo-user-book/quick-start.html
@@ -1436,8 +1436,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
 
     <span class="hljs-comment">&lt;!-- &#x63D0;&#x4F9B;&#x65B9;&#x5E94;&#x7528;&#x4FE1;&#x606F;&#xFF0C;&#x7528;&#x4E8E;&#x8BA1;&#x7B97;&#x4F9D;&#x8D56;&#x5173;&#x7CFB; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>
@@ -1474,8 +1474,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://dubbo.apache.org/schema/dubbo        http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
 
     <span class="hljs-comment">&lt;!-- &#x6D88;&#x8D39;&#x65B9;&#x5E94;&#x7528;&#x540D;&#xFF0C;&#x7528;&#x4E8E;&#x8BA1;&#x7B97;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x4E0D;&#x662F;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x4E0D;&#x8981;&#x4E0E;&#x63D0;&#x4F9B;&#x65B9;&#x4E00;&#x6837; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;consumer-of-helloworld-app&quot;</span>  /&gt;</span>
@@ -1554,7 +1554,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 快速启动","level":"1.3","depth":1,"next":{"title":"3 依赖","level":"1.4","depth":1,"path":"dependencies.md","ref":"./dependencies.md","articles":[]},"previous":{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpeci [...]
+            gitbook.page.hasChanged({"page":{"title":"2 快速启动","level":"1.3","depth":1,"next":{"title":"3 依赖","level":"1.4","depth":1,"path":"dependencies.md","ref":"./dependencies.md","articles":[]},"previous":{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"./preface/usage.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpeci [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/recommend.html b/books/dubbo-user-book/recommend.html
index 1757225..158cd8b 100644
--- a/books/dubbo-user-book/recommend.html
+++ b/books/dubbo-user-book/recommend.html
@@ -1519,7 +1519,7 @@
 </li>
 </ol>
 <blockquote id="fn_1">
-<sup>1</sup>. &#x914D;&#x7F6E;&#x7684;&#x8986;&#x76D6;&#x89C4;&#x5219;&#xFF1A;1) &#x65B9;&#x6CD5;&#x7EA7;&#x914D;&#x7F6E;&#x522B;&#x4F18;&#x4E8E;&#x63A5;&#x53E3;&#x7EA7;&#x522B;&#xFF0C;&#x5373;&#x5C0F; Scope &#x4F18;&#x5148; 2) Consumer &#x7AEF;&#x914D;&#x7F6E;&#x4F18;&#x4E8E; Provider &#x914D;&#x7F6E;&#xFF0C;&#x4F18;&#x4E8E;&#x5168;&#x5C40;&#x914D;&#x7F6E;&#xFF0C;&#x6700;&#x540E;&#x662F;Dubbo &#x786C;&#x7F16;&#x7801;&#x7684;&#x914D;&#x7F6E;&#x503C;&#xFF08;<a href="configuration/properti [...]
+<sup>1</sup>. &#x914D;&#x7F6E;&#x7684;&#x8986;&#x76D6;&#x89C4;&#x5219;&#xFF1A;1) &#x65B9;&#x6CD5;&#x7EA7;&#x522B;&#x914D;&#x7F6E;&#x4F18;&#x4E8E;&#x63A5;&#x53E3;&#x7EA7;&#x522B;&#xFF0C;&#x5373;&#x5C0F; Scope &#x4F18;&#x5148; 2) Consumer &#x7AEF;&#x914D;&#x7F6E;&#x4F18;&#x4E8E; Provider &#x914D;&#x7F6E;&#xFF0C;&#x4F18;&#x4E8E;&#x5168;&#x5C40;&#x914D;&#x7F6E;&#xFF0C;&#x6700;&#x540E;&#x662F;Dubbo &#x786C;&#x7F16;&#x7801;&#x7684;&#x914D;&#x7F6E;&#x503C;&#xFF08;<a href="configuration/properti [...]
 </blockquote>
 <blockquote id="fn_2">
 <sup>2</sup>. &#x8868;&#x793A;&#x52A0;&#x4E0A;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4F1A;&#x8C03;&#x7528; 3 &#x6B21;<a href="#reffn_2" title="Jump back to footnote [2] in the text."> &#x21A9;</a>
@@ -1576,7 +1576,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"15 推荐用法","level":"1.16","depth":1,"next":{"title":"16 容量规划","level":"1.17","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"previous":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000," [...]
+            gitbook.page.hasChanged({"page":{"title":"15 推荐用法","level":"1.16","depth":1,"next":{"title":"16 容量规划","level":"1.17","depth":1,"path":"capacity-plan.md","ref":"./capacity-plan.md","articles":[]},"previous":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000," [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/api.html b/books/dubbo-user-book/references/api.html
index c9823bd..033cd08 100644
--- a/books/dubbo-user-book/references/api.html
+++ b/books/dubbo-user-book/references/api.html
@@ -1483,7 +1483,7 @@ com.alibaba.dubbo.rpc.service.GenericException
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 API 参考手册","level":"1.8","depth":1,"next":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md [...]
+            gitbook.page.hasChanged({"page":{"title":"7 API 参考手册","level":"1.8","depth":1,"next":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/maven.html b/books/dubbo-user-book/references/maven.html
index a2840fa..51cafb9 100644
--- a/books/dubbo-user-book/references/maven.html
+++ b/books/dubbo-user-book/references/maven.html
@@ -1460,7 +1460,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"next":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"previous":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"path":"references/qos.md","ref":"./references/qos.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
+            gitbook.page.hasChanged({"page":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"next":{"title":"14 服务化最佳实践","level":"1.15","depth":1,"path":"best-practice.md","ref":"./best-practice.md","articles":[]},"previous":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"path":"references/qos.md","ref":"./references/qos.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxInde [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/dubbo.html b/books/dubbo-user-book/references/protocol/dubbo.html
index 13211fb..ff82030 100644
--- a/books/dubbo-user-book/references/protocol/dubbo.html
+++ b/books/dubbo-user-book/references/protocol/dubbo.html
@@ -1563,7 +1563,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"next":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"previous":{"title":"9 协议参考手册","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref": [...]
+            gitbook.page.hasChanged({"page":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"next":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"previous":{"title":"9 协议参考手册","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref": [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/hessian.html b/books/dubbo-user-book/references/protocol/hessian.html
index e9ecc91..5adac84 100644
--- a/books/dubbo-user-book/references/protocol/hessian.html
+++ b/books/dubbo-user-book/references/protocol/hessian.html
@@ -1497,7 +1497,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"next":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"previous":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
+            gitbook.page.hasChanged({"page":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"next":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"previous":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":"./references/protocol/rmi.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/http.html b/books/dubbo-user-book/references/protocol/http.html
index d64bce6..c894f87 100644
--- a/books/dubbo-user-book/references/protocol/http.html
+++ b/books/dubbo-user-book/references/protocol/http.html
@@ -1493,7 +1493,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.4 http://","level":"1.10.4","depth":2,"next":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"previous":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"pl [...]
+            gitbook.page.hasChanged({"page":{"title":"9.4 http://","level":"1.10.4","depth":2,"next":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"previous":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"pl [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/introduction.html b/books/dubbo-user-book/references/protocol/introduction.html
index bdd66e2..dcfded6 100644
--- a/books/dubbo-user-book/references/protocol/introduction.html
+++ b/books/dubbo-user-book/references/protocol/introduction.html
@@ -1450,7 +1450,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 协议参考手册","level":"1.10","depth":1,"next":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"previous":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
+            gitbook.page.hasChanged({"page":{"title":"9 协议参考手册","level":"1.10","depth":1,"next":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"previous":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/memcached.html b/books/dubbo-user-book/references/protocol/memcached.html
index 1ed5fcb..f5552ea 100644
--- a/books/dubbo-user-book/references/protocol/memcached.html
+++ b/books/dubbo-user-book/references/protocol/memcached.html
@@ -1481,7 +1481,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"next":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"previous":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pl [...]
+            gitbook.page.hasChanged({"page":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"next":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"previous":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pl [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/redis.html b/books/dubbo-user-book/references/protocol/redis.html
index b78a122..7d89ebb 100644
--- a/books/dubbo-user-book/references/protocol/redis.html
+++ b/books/dubbo-user-book/references/protocol/redis.html
@@ -1424,7 +1424,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;redis://10.20.153.
 </code></pre>
 <p>&#x65B9;&#x6CD5;&#x540D;&#x5EFA;&#x8BAE;&#x548C; redis &#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x76F8;&#x540C;&#xFF0C;&#x5373;&#xFF1A;get(key), set(key, value), delet(key)&#x3002;</p>
 <p>&#x5982;&#x679C;&#x65B9;&#x6CD5;&#x540D;&#x548C; redis &#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x914D;&#x7F6E;&#x6620;&#x5C04;&#x5173;&#x7CFB; <sup><a href="#fn_4" id="reffn_4">4</a></sup>&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.CacheService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;memcached://10.20.153.10:11211&quot;</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">&quot;putFoo&quot;</span [...]
+<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.CacheService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;redis://10.20.153.10:6379&quot;</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">&quot;putFoo&quot;</span> <sp [...]
 </code></pre>
 <blockquote id="fn_1">
 <sup>1</sup>. <a href="http://redis.io" target="_blank">Redis</a> &#x662F;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684; KV &#x5B58;&#x50A8;&#x670D;&#x52A1;&#x5668;<a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
@@ -1481,7 +1481,7 @@ registry.register(URL.valueOf(<span class="hljs-string">&quot;redis://10.20.153.
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.8 redis://","level":"1.10.8","depth":2,"next":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/regi [...]
+            gitbook.page.hasChanged({"page":{"title":"9.8 redis://","level":"1.10.8","depth":2,"next":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/regi [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/rmi.html b/books/dubbo-user-book/references/protocol/rmi.html
index f474b7e..3f4affa 100644
--- a/books/dubbo-user-book/references/protocol/rmi.html
+++ b/books/dubbo-user-book/references/protocol/rmi.html
@@ -1512,7 +1512,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"next":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"previous":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
+            gitbook.page.hasChanged({"page":{"title":"9.2 rmi//","level":"1.10.2","depth":2,"next":{"title":"9.3 hessian://","level":"1.10.3","depth":2,"path":"references/protocol/hessian.md","ref":"./references/protocol/hessian.md","articles":[]},"previous":{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plugin [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/thrift.html b/books/dubbo-user-book/references/protocol/thrift.html
index df02835..4a8323c 100644
--- a/books/dubbo-user-book/references/protocol/thrift.html
+++ b/books/dubbo-user-book/references/protocol/thrift.html
@@ -1477,7 +1477,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"next":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"path":"references/protocol/memcached.md","ref":"./references/protocol/memcached.md","articles":[]},"previous":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
+            gitbook.page.hasChanged({"page":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"next":{"title":"9.7 memcached://","level":"1.10.7","depth":2,"path":"references/protocol/memcached.md","ref":"./references/protocol/memcached.md","articles":[]},"previous":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"path":"references/protocol/webservice.md","ref":"./references/protocol/webservice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/protocol/webservice.html b/books/dubbo-user-book/references/protocol/webservice.html
index 01c40f7..4b1af6f 100644
--- a/books/dubbo-user-book/references/protocol/webservice.html
+++ b/books/dubbo-user-book/references/protocol/webservice.html
@@ -1528,7 +1528,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"next":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"previous":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
+            gitbook.page.hasChanged({"page":{"title":"9.5 webservice://","level":"1.10.5","depth":2,"next":{"title":"9.6 thrift://","level":"1.10.6","depth":2,"path":"references/protocol/thrift.md","ref":"./references/protocol/thrift.md","articles":[]},"previous":{"title":"9.4 http://","level":"1.10.4","depth":2,"path":"references/protocol/http.md","ref":"./references/protocol/http.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"plug [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/qos.html b/books/dubbo-user-book/references/qos.html
index 419f98c..6d56c00 100644
--- a/books/dubbo-user-book/references/qos.html
+++ b/books/dubbo-user-book/references/qos.html
@@ -1409,14 +1409,14 @@
 <p>dubbo 2.5.8 &#x65B0;&#x7248;&#x672C;&#x91CD;&#x6784;&#x4E86; telnet &#x6A21;&#x5757;&#xFF0C;&#x63D0;&#x4F9B;&#x4E86;&#x65B0;&#x7684; telnet &#x547D;&#x4EE4;&#x652F;&#x6301;&#x3002;</p>
 <h3 id="&#x7AEF;&#x53E3;">&#x7AEF;&#x53E3;</h3>
 <p>&#x65B0;&#x7248;&#x672C;&#x7684; telnet &#x7AEF;&#x53E3; &#x4E0E; dubbo &#x534F;&#x8BAE;&#x7684;&#x7AEF;&#x53E3;&#x662F;&#x4E0D;&#x540C;&#x7684;&#x7AEF;&#x53E3;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A; <code>22222</code>&#xFF0C;&#x53EF;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x6587;&#x4EF6;<code>dubbo.properties</code> &#x4FEE;&#x6539;:</p>
-<pre><code>dubbo.qos.port=33333
+<pre><code>dubbo.application.qos.port=33333
 </code></pre><p>&#x6216;&#x8005;&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; JVM &#x53C2;&#x6570;:</p>
-<pre><code>-Ddubbo.qos.port=33333
+<pre><code>-Ddubbo.application.qos.port=33333
 </code></pre><h3 id="&#x5B89;&#x5168;">&#x5B89;&#x5168;</h3>
 <p>&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;dubbo &#x63A5;&#x6536;&#x4EFB;&#x4F55;&#x4E3B;&#x673A;&#x53D1;&#x8D77;&#x7684;&#x547D;&#x4EE4;&#xFF0C;&#x53EF;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x6587;&#x4EF6;<code>dubbo.properties</code> &#x4FEE;&#x6539;:</p>
-<pre><code>dubbo.qos.accept.foreign.ip=false
+<pre><code>dubbo.application.qos.accept.foreign.ip=false
 </code></pre><p>&#x6216;&#x8005;&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; JVM &#x53C2;&#x6570;:</p>
-<pre><code>-Ddubbo.qos.accept.foreign.ip=false
+<pre><code>-Ddubbo.application.qos.accept.foreign.ip=false
 </code></pre><p>&#x62D2;&#x7EDD;&#x8FDC;&#x7AEF;&#x4E3B;&#x673A;&#x53D1;&#x51FA;&#x7684;&#x547D;&#x4EE4;&#xFF0C;&#x53EA;&#x5141;&#x8BB8;&#x670D;&#x52A1;&#x672C;&#x673A;&#x6267;&#x884C;</p>
 <h3 id="telnet-&#x4E0E;-http-&#x534F;&#x8BAE;">telnet &#x4E0E; http &#x534F;&#x8BAE;</h3>
 <p>telnet &#x6A21;&#x5757;&#x73B0;&#x5728;&#x540C;&#x65F6;&#x652F;&#x6301; http &#x534F;&#x8BAE;&#x548C; telnet &#x534F;&#x8BAE;&#xFF0C;&#x65B9;&#x4FBF;&#x5404;&#x79CD;&#x60C5;&#x51B5;&#x7684;&#x4F7F;&#x7528;</p>
@@ -1554,7 +1554,7 @@ dubbo&gt;
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"next":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"previous":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"next":{"title":"13 maven 插件参考手册","level":"1.14","depth":1,"path":"references/maven.md","ref":"./references/maven.md","articles":[]},"previous":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/registry/introduction.html b/books/dubbo-user-book/references/registry/introduction.html
index b0b0557..f311b5f 100644
--- a/books/dubbo-user-book/references/registry/introduction.html
+++ b/books/dubbo-user-book/references/registry/introduction.html
@@ -1450,7 +1450,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"next":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"previous":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
+            gitbook.page.hasChanged({"page":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"next":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"previous":{"title":"9.8 redis://","level":"1.10.8","depth":2,"path":"references/protocol/redis.md","ref":"./references/protocol/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/registry/multicast.html b/books/dubbo-user-book/references/registry/multicast.html
index c53613a..d05afbc 100644
--- a/books/dubbo-user-book/references/registry/multicast.html
+++ b/books/dubbo-user-book/references/registry/multicast.html
@@ -1472,7 +1472,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"next":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"previous":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path [...]
+            gitbook.page.hasChanged({"page":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"next":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"previous":{"title":"10 注册中心参考手册","level":"1.11","depth":1,"path":"references/registry/introduction.md","ref":"./references/registry/introduction.md","articles":[{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/registry/redis.html b/books/dubbo-user-book/references/registry/redis.html
index bd2d083..03fa19e 100644
--- a/books/dubbo-user-book/references/registry/redis.html
+++ b/books/dubbo-user-book/references/registry/redis.html
@@ -1508,7 +1508,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"next":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"previous":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{} [...]
+            gitbook.page.hasChanged({"page":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"next":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"previous":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"path":"references/registry/zookeeper.md","ref":"./references/registry/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{} [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/registry/simple.html b/books/dubbo-user-book/references/registry/simple.html
index 576bdb4..7065b5f 100644
--- a/books/dubbo-user-book/references/registry/simple.html
+++ b/books/dubbo-user-book/references/registry/simple.html
@@ -1412,8 +1412,8 @@
 <pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
 <span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
     <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
+    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://dubbo.apache.org/schema/dubbo&quot;</span>
+    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x5F53;&#x524D;&#x5E94;&#x7528;&#x4FE1;&#x606F;&#x914D;&#x7F6E; --&gt;</span>
     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;simple-registry&quot;</span> /&gt;</span>
     <span class="hljs-comment">&lt;!-- &#x66B4;&#x9732;&#x670D;&#x52A1;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
@@ -1481,7 +1481,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"next":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"previous":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"next":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"path":"references/telnet.md","ref":"./references/telnet.md","articles":[]},"previous":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/registry/zookeeper.html b/books/dubbo-user-book/references/registry/zookeeper.html
index 3458ca7..83ba25a 100644
--- a/books/dubbo-user-book/references/registry/zookeeper.html
+++ b/books/dubbo-user-book/references/registry/zookeeper.html
@@ -1539,7 +1539,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"next":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"previous":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"10.2 Zookeeper 注册中心","level":"1.11.2","depth":2,"next":{"title":"10.3 Redis 注册中心","level":"1.11.3","depth":2,"path":"references/registry/redis.md","ref":"./references/registry/redis.md","articles":[]},"previous":{"title":"10.1 Multicast 注册中心","level":"1.11.1","depth":2,"path":"references/registry/multicast.md","ref":"./references/registry/multicast.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/telnet.html b/books/dubbo-user-book/references/telnet.html
index 8addee4..d0d55d0 100644
--- a/books/dubbo-user-book/references/telnet.html
+++ b/books/dubbo-user-book/references/telnet.html
@@ -1406,7 +1406,7 @@
                                 <section class="normal markdown-section">
                                 
                                 <h1 id="telnet-&#x547D;&#x4EE4;&#x53C2;&#x8003;&#x624B;&#x518C;">Telnet &#x547D;&#x4EE4;&#x53C2;&#x8003;&#x624B;&#x518C;</h1>
-<p>&#x4ECE; <code>2.0.5</code> &#x7248;&#x672C;&#x5F00;&#x59CB;&#xFF0C;dubbo &#x5F00;&#x59CB;&#x652F;&#x6301;&#x901A;&#x8FC7; telnet &#x547D;&#x4EE4;&#x6765;&#x955C;&#x50CF;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#x3002;</p>
+<p>&#x4ECE; <code>2.0.5</code> &#x7248;&#x672C;&#x5F00;&#x59CB;&#xFF0C;dubbo &#x5F00;&#x59CB;&#x652F;&#x6301;&#x901A;&#x8FC7; telnet &#x547D;&#x4EE4;&#x6765;&#x8FDB;&#x884C;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#x3002;</p>
 <h2 id="&#x4F7F;&#x7528;">&#x4F7F;&#x7528;</h2>
 <pre><code class="lang-sh">telnet localhost 20880
 </code></pre>
@@ -1524,7 +1524,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"next":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"path":"references/qos.md","ref":"./references/qos.md","articles":[]},"previous":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlig [...]
+            gitbook.page.hasChanged({"page":{"title":"11 telnet 命令参考手册","level":"1.12","depth":1,"next":{"title":"12 在线运维命令-QOS","level":"1.13","depth":1,"path":"references/qos.md","ref":"./references/qos.md","articles":[]},"previous":{"title":"10.4 Simple 注册中心","level":"1.11.4","depth":2,"path":"references/registry/simple.md","ref":"./references/registry/simple.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlig [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-application.html b/books/dubbo-user-book/references/xml/dubbo-application.html
index 6708932..5c76841 100644
--- a/books/dubbo-user-book/references/xml/dubbo-application.html
+++ b/books/dubbo-user-book/references/xml/dubbo-application.html
@@ -1590,7 +1590,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"next":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"previous":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"next":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"previous":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-argument.html b/books/dubbo-user-book/references/xml/dubbo-argument.html
index 36a1709..a4eea4a 100644
--- a/books/dubbo-user-book/references/xml/dubbo-argument.html
+++ b/books/dubbo-user-book/references/xml/dubbo-argument.html
@@ -1544,7 +1544,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"next":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"previous":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"next":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"path":"references/xml/dubbo-parameter.md","ref":"./references/xml/dubbo-parameter.md","articles":[]},"previous":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-consumer.html b/books/dubbo-user-book/references/xml/dubbo-consumer.html
index d297109..97e4a2e 100644
--- a/books/dubbo-user-book/references/xml/dubbo-consumer.html
+++ b/books/dubbo-user-book/references/xml/dubbo-consumer.html
@@ -1690,7 +1690,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"next":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"previous":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"next":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"path":"references/xml/dubbo-method.md","ref":"./references/xml/dubbo-method.md","articles":[]},"previous":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-method.html b/books/dubbo-user-book/references/xml/dubbo-method.html
index 5bcf47f..c398ba1 100644
--- a/books/dubbo-user-book/references/xml/dubbo-method.html
+++ b/books/dubbo-user-book/references/xml/dubbo-method.html
@@ -1675,7 +1675,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"next":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"path":"references/xml/dubbo-argument.md","ref":"./references/xml/dubbo-argument.md","articles":[]},"previous":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","vari [...]
+            gitbook.page.hasChanged({"page":{"title":"8.10 dubbo:method","level":"1.9.10","depth":2,"next":{"title":"8.11 dubbo:argument","level":"1.9.11","depth":2,"path":"references/xml/dubbo-argument.md","ref":"./references/xml/dubbo-argument.md","articles":[]},"previous":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","vari [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-module.html b/books/dubbo-user-book/references/xml/dubbo-module.html
index 7984b70..c9dc069 100644
--- a/books/dubbo-user-book/references/xml/dubbo-module.html
+++ b/books/dubbo-user-book/references/xml/dubbo-module.html
@@ -1550,7 +1550,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"next":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"previous":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default", [...]
+            gitbook.page.hasChanged({"page":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"next":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"path":"references/xml/dubbo-provider.md","ref":"./references/xml/dubbo-provider.md","articles":[]},"previous":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default", [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-monitor.html b/books/dubbo-user-book/references/xml/dubbo-monitor.html
index e2eef95..e3db550 100644
--- a/books/dubbo-user-book/references/xml/dubbo-monitor.html
+++ b/books/dubbo-user-book/references/xml/dubbo-monitor.html
@@ -1530,7 +1530,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"next":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"previous":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"next":{"title":"8.6 dubbo:application","level":"1.9.6","depth":2,"path":"references/xml/dubbo-application.md","ref":"./references/xml/dubbo-application.md","articles":[]},"previous":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-parameter.html b/books/dubbo-user-book/references/xml/dubbo-parameter.html
index 8218d8b..0d52a89 100644
--- a/books/dubbo-user-book/references/xml/dubbo-parameter.html
+++ b/books/dubbo-user-book/references/xml/dubbo-parameter.html
@@ -1538,7 +1538,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"next":{"title":"9 协议参考手册","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":" [...]
+            gitbook.page.hasChanged({"page":{"title":"8.12 dubbo:parameter","level":"1.9.12","depth":2,"next":{"title":"9 协议参考手册","level":"1.10","depth":1,"path":"references/protocol/introduction.md","ref":"./references/protocol/introduction.md","articles":[{"title":"9.1 dubbo://","level":"1.10.1","depth":2,"path":"references/protocol/dubbo.md","ref":"./references/protocol/dubbo.md","articles":[]},{"title":"9.2 rmi//","level":"1.10.2","depth":2,"path":"references/protocol/rmi.md","ref":" [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-protocol.html b/books/dubbo-user-book/references/xml/dubbo-protocol.html
index 77fa20f..0522448 100644
--- a/books/dubbo-user-book/references/xml/dubbo-protocol.html
+++ b/books/dubbo-user-book/references/xml/dubbo-protocol.html
@@ -1750,7 +1750,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"next":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"previous":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
+            gitbook.page.hasChanged({"page":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"next":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"path":"references/xml/dubbo-registry.md","ref":"./references/xml/dubbo-registry.md","articles":[]},"previous":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","var [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-provider.html b/books/dubbo-user-book/references/xml/dubbo-provider.html
index a5b6113..6266aa5 100644
--- a/books/dubbo-user-book/references/xml/dubbo-provider.html
+++ b/books/dubbo-user-book/references/xml/dubbo-provider.html
@@ -1951,7 +1951,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"next":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"previous":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
+            gitbook.page.hasChanged({"page":{"title":"8.8 dubbo:provider","level":"1.9.8","depth":2,"next":{"title":"8.9 dubbo:consumer","level":"1.9.9","depth":2,"path":"references/xml/dubbo-consumer.md","ref":"./references/xml/dubbo-consumer.md","articles":[]},"previous":{"title":"8.7 dubbo:module","level":"1.9.7","depth":2,"path":"references/xml/dubbo-module.md","ref":"./references/xml/dubbo-module.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{ [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-reference.html b/books/dubbo-user-book/references/xml/dubbo-reference.html
index 3dce198..0a8fc9d 100644
--- a/books/dubbo-user-book/references/xml/dubbo-reference.html
+++ b/books/dubbo-user-book/references/xml/dubbo-reference.html
@@ -1780,7 +1780,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"next":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"previous":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
+            gitbook.page.hasChanged({"page":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"next":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"previous":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variable [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-registry.html b/books/dubbo-user-book/references/xml/dubbo-registry.html
index db30448..ceb5460 100644
--- a/books/dubbo-user-book/references/xml/dubbo-registry.html
+++ b/books/dubbo-user-book/references/xml/dubbo-registry.html
@@ -1660,7 +1660,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"next":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"previous":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
+            gitbook.page.hasChanged({"page":{"title":"8.4 dubbo:registry","level":"1.9.4","depth":2,"next":{"title":"8.5 dubbo:monitor","level":"1.9.5","depth":2,"path":"references/xml/dubbo-monitor.md","ref":"./references/xml/dubbo-monitor.md","articles":[]},"previous":{"title":"8.3 dubbo:protocol","level":"1.9.3","depth":2,"path":"references/xml/dubbo-protocol.md","ref":"./references/xml/dubbo-protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/dubbo-service.html b/books/dubbo-user-book/references/xml/dubbo-service.html
index 8237943..b78cff0 100644
--- a/books/dubbo-user-book/references/xml/dubbo-service.html
+++ b/books/dubbo-user-book/references/xml/dubbo-service.html
@@ -1819,7 +1819,7 @@ table tr:hover {
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"next":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"previous":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"reference [...]
+            gitbook.page.hasChanged({"page":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"next":{"title":"8.2 dubbo:reference","level":"1.9.2","depth":2,"path":"references/xml/dubbo-reference.md","ref":"./references/xml/dubbo-reference.md","articles":[]},"previous":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"path":"references/xml/introduction.md","ref":"./references/xml/introduction.md","articles":[{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"reference [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/references/xml/introduction.html b/books/dubbo-user-book/references/xml/introduction.html
index ecfe1e0..d329959 100644
--- a/books/dubbo-user-book/references/xml/introduction.html
+++ b/books/dubbo-user-book/references/xml/introduction.html
@@ -1415,7 +1415,7 @@
 <li>&#x6240;&#x6709;&#x914D;&#x7F6E;&#x6700;&#x7EC8;&#x90FD;&#x5C06;&#x8F6C;&#x6362;&#x4E3A; URL <sup><a href="#fn_3" id="reffn_3">3</a></sup> &#x8868;&#x793A;&#xFF0C;&#x5E76;&#x7531;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x751F;&#x6210;&#xFF0C;&#x7ECF;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4F20;&#x9012;&#x7ED9;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x5404;&#x5C5E;&#x6027;&#x5BF9;&#x5E94; URL &#x7684;&#x53C2;&#x6570;&#xFF0C;&#x53C2;&#x89C1;&#x914D;&#x7F6E;&#x9879;&#x4E00;&#x89C8;&#x8868;&#x4E2D; [...]
 </ul>
 <blockquote id="fn_1">
-<sup>1</sup>. XML Schema: <a href="http://code.alibabatech.com/schema/dubbo/dubbo.xsd" target="_blank">http://code.alibabatech.com/schema/dubbo/dubbo.xsd</a><a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
+<sup>1</sup>. XML Schema: <a href="http://dubbo.apache.org/schema/dubbo/dubbo.xsd" target="_blank">http://dubbo.apache.org/schema/dubbo/dubbo.xsd</a><a href="#reffn_1" title="Jump back to footnote [1] in the text."> &#x21A9;</a>
 </blockquote>
 <blockquote id="fn_2">
 <sup>2</sup>. &#x6CE8;&#x610F;&#xFF1A;&#x53EA;&#x6709; group&#xFF0C;interface&#xFF0C;version &#x662F;&#x670D;&#x52A1;&#x7684;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x4E09;&#x8005;&#x51B3;&#x5B9A;&#x662F;&#x4E0D;&#x662F;&#x540C;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x5176;&#x5B83;&#x914D;&#x7F6E;&#x9879;&#x5747;&#x4E3A;&#x8C03;&#x4F18;&#x548C;&#x6CBB;&#x7406;&#x53C2;&#x6570;&#x3002;<a href="#reffn_2" title="Jump back to footnote [2] in the text."> &#x21A9;</a>
@@ -1466,7 +1466,7 @@
     <script>
         var gitbook = gitbook || [];
         gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"next":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"previous":{"title":"7 API 参考手册","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
+            gitbook.page.hasChanged({"page":{"title":"8 schema 配置参考手册","level":"1.9","depth":1,"next":{"title":"8.1 dubbo:service","level":"1.9.1","depth":2,"path":"references/xml/dubbo-service.md","ref":"./references/xml/dubbo-service.md","articles":[]},"previous":{"title":"7 API 参考手册","level":"1.8","depth":1,"path":"references/api.md","ref":"./references/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight [...]
         });
     </script>
 </div>
diff --git a/books/dubbo-user-book/search_index.json b/books/dubbo-user-book/search_index.json
index 7beb21d..794ad6d 100644
--- a/books/dubbo-user-book/search_index.json
+++ b/books/dubbo-user-book/search_index.json
@@ -1 +1 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["introduct","如果你正依赖dubbo作为你业务工程的rpc通信框架,这里可以作为你的参考手册","这篇文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性。"],"preface/":["1","入门"],"preface/background.html":["1.1","分布式服务架构","单一应用架构","垂直应用架构","当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(rpc)是关键。","当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心 [...]
\ No newline at end of file
+{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["introduct","如果你正依赖dubbo作为你业务工程的rpc通信框架,这里可以作为你的参考手册","这篇文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性。"],"preface/":["1","入门"],"preface/background.html":["1.1","分布式服务架构","单一应用架构","垂直应用架构","当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(rpc)是关键。","当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心 [...]
\ No newline at end of file
diff --git a/books/dubbo-user-book/simple-monitor.md b/books/dubbo-user-book/simple-monitor.md
index 19ec008..9c7b2cf 100644
--- a/books/dubbo-user-book/simple-monitor.md
+++ b/books/dubbo-user-book/simple-monitor.md
@@ -7,8 +7,8 @@
     ```xml
 <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
+    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
      
     <!-- 当前应用信息配置 -->
     <dubbo:application name="simple-monitor" />
@@ -45,8 +45,8 @@
     ```xml   
 <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
+    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
      
     <!-- 当前应用信息配置 -->
     <dubbo:application name="simple-monitor" />
diff --git a/index.html b/index.html
index 6d9067d..dfbae2f 100644
--- a/index.html
+++ b/index.html
@@ -20,7 +20,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <meta name="theme-color" content="#157878">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
-    <link rel="stylesheet" href="/assets/css/style.css?v=c086e50732e4226213192a3461b33b08d6e709a5">
+    <link rel="stylesheet" href="/assets/css/style.css?v=edbd55d71f7b8d4a28c9f0f10c0f123358518cef">
       <!--<script>-->
       <!--var _hmt = _hmt || [];-->
       <!--(function() {-->

-- 
To stop receiving notification emails like this one, please contact
huxing@apache.org.