You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2020/08/06 10:18:01 UTC

[dubbo-website] branch master updated: introduce Mkdocs to support versioned doc

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3754a74  introduce Mkdocs to support versioned doc
     new 0d4927d  Merge remote-tracking branch 'official/master'
3754a74 is described below

commit 3754a74c1fd54237c127e79755890fc1499cbfcb
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Aug 6 18:10:05 2020 +0800

    introduce Mkdocs to support versioned doc
---
 blog/en-us/dubbo-protocol.md                       |    2 +-
 blog/zh-cn/dubbo-externalized-configuration.md     |    2 +-
 blog/zh-cn/dubbo-protocol.md                       |    2 +-
 docs/README.md                                     |    2 +
 docs/en-us/user/sources/images/arch.png            |  Bin 0 -> 15546 bytes
 .../committer-guide/new-committer-guide_dev.md     |    4 +-
 docs/zh-cn/user/sources/images/arch.png            |  Bin 0 -> 15546 bytes
 documentations/2.7/en-us/docs/admin/README.md      |    3 +
 documentations/2.7/en-us/docs/admin/SUMMARY.md     |    4 +
 .../2.7/en-us/docs/admin/install/admin-console.md  |   40 +
 .../2.7/en-us/docs/admin/install/consumer-demo.md  |   20 +
 .../2.7/en-us/docs/admin/install/introduction.md   |   13 +
 .../2.7/en-us/docs/admin/install/provider-demo.md  |   18 +
 .../2.7/en-us/docs/admin/install/redis.md          |   54 +
 .../docs/admin/install/simple-monitor-center.md    |    3 +
 .../docs/admin/install/simple-registry-center.md   |    1 +
 .../2.7/en-us/docs/admin/install/zookeeper.md      |   98 +
 .../2.7/en-us/docs/admin/introduction.md           |   65 +
 .../2.7/en-us/docs/admin/ops/dubbo-ops.md          |   26 +
 .../2.7/en-us/docs/admin/ops/introduction.md       |    1 +
 .../2.7/en-us/docs/admin/ops/pinpoint.md           |  411 +++
 .../2.7/en-us/docs/admin/ops/skywalking.md         |  121 +
 .../2.7/en-us/docs/admin/serviceGovernance.md      |   46 +
 .../2.7/en-us/docs/admin/serviceSearch.md          |    7 +
 documentations/2.7/en-us/docs/admin/serviceTest.md |    1 +
 .../en-us/docs/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../2.7/en-us/docs/admin/sources/images/check.gif  |  Bin 0 -> 604 bytes
 .../2.7/en-us/docs/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../2.7/en-us/docs/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../docs/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../docs/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../docs/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../docs/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../docs/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 655223 bytes
 .../docs/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 303613 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 434638 bytes
 .../docs/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../docs/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../docs/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../2.7/en-us/docs/admin/sources/images/tip.png    |  Bin 0 -> 876 bytes
 .../en-us/docs/admin/sources/images/warning-3.gif  |  Bin 0 -> 569 bytes
 .../2.7/en-us/docs/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/2.7/en-us/docs/dev/LICENSE          |  201 ++
 documentations/2.7/en-us/docs/dev/README.md        |    3 +
 documentations/2.7/en-us/docs/dev/SPI.md           |  237 ++
 documentations/2.7/en-us/docs/dev/SUMMARY.md       |   41 +
 documentations/2.7/en-us/docs/dev/TCK.md           |   19 +
 documentations/2.7/en-us/docs/dev/build.md         |   81 +
 documentations/2.7/en-us/docs/dev/checklist.md     |   19 +
 documentations/2.7/en-us/docs/dev/code-smell.md    |  205 ++
 documentations/2.7/en-us/docs/dev/coding.md        |   53 +
 documentations/2.7/en-us/docs/dev/contract.md      |   14 +
 documentations/2.7/en-us/docs/dev/contribution.md  |   89 +
 documentations/2.7/en-us/docs/dev/design.md        |   99 +
 .../2.7/en-us/docs/dev/implementation.md           |  155 +
 documentations/2.7/en-us/docs/dev/impls/cache.md   |   84 +
 documentations/2.7/en-us/docs/dev/impls/cluster.md |   74 +
 .../2.7/en-us/docs/dev/impls/compiler.md           |   55 +
 .../2.7/en-us/docs/dev/impls/config-center.md      |   96 +
 .../2.7/en-us/docs/dev/impls/container.md          |   62 +
 .../2.7/en-us/docs/dev/impls/dispatcher.md         |   62 +
 .../2.7/en-us/docs/dev/impls/exchanger.md          |   91 +
 .../2.7/en-us/docs/dev/impls/exporter-listener.md  |   66 +
 .../2.7/en-us/docs/dev/impls/extension-factory.md  |   57 +
 documentations/2.7/en-us/docs/dev/impls/filter.md  |   89 +
 .../2.7/en-us/docs/dev/impls/introduction.md       |    3 +
 .../2.7/en-us/docs/dev/impls/invoker-listener.md   |   65 +
 .../2.7/en-us/docs/dev/impls/load-balance.md       |   63 +
 .../2.7/en-us/docs/dev/impls/logger-adapter.md     |   84 +
 documentations/2.7/en-us/docs/dev/impls/merger.md  |   60 +
 documentations/2.7/en-us/docs/dev/impls/monitor.md |   75 +
 .../2.7/en-us/docs/dev/impls/networker.md          |   59 +
 documentations/2.7/en-us/docs/dev/impls/page.md    |   61 +
 .../2.7/en-us/docs/dev/impls/protocol.md           |  150 +
 .../2.7/en-us/docs/dev/impls/proxy-factory.md      |   65 +
 .../2.7/en-us/docs/dev/impls/registry.md           |  207 ++
 .../2.7/en-us/docs/dev/impls/remoting.md           |  122 +
 documentations/2.7/en-us/docs/dev/impls/router.md  |   58 +
 .../2.7/en-us/docs/dev/impls/serialize.md          |   72 +
 .../2.7/en-us/docs/dev/impls/status-checker.md     |   64 +
 .../2.7/en-us/docs/dev/impls/telnet-handler.md     |   77 +
 .../2.7/en-us/docs/dev/impls/threadpool.md         |   61 +
 .../2.7/en-us/docs/dev/impls/validation.md         |   75 +
 documentations/2.7/en-us/docs/dev/introduction.md  |    0
 .../2.7/en-us/docs/dev/principals/code-detail.md   |   36 +
 .../2.7/en-us/docs/dev/principals/configuration.md |   83 +
 .../2.7/en-us/docs/dev/principals/dummy.md         |  203 ++
 .../2.7/en-us/docs/dev/principals/expansibility.md |   18 +
 .../2.7/en-us/docs/dev/principals/extension.md     |  135 +
 .../en-us/docs/dev/principals/general-knowledge.md |   68 +
 .../2.7/en-us/docs/dev/principals/introduction.md  |    3 +
 .../2.7/en-us/docs/dev/principals/robustness.md    |   83 +
 documentations/2.7/en-us/docs/dev/release.md       |   34 +
 .../en-us/docs/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../2.7/en-us/docs/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../en-us/docs/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../en-us/docs/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../en-us/docs/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../en-us/docs/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../en-us/docs/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../docs/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../docs/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../docs/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../docs/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../en-us/docs/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../docs/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../docs/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../docs/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../docs/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../docs/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../en-us/docs/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../en-us/docs/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../en-us/docs/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../docs/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../committer-guide/apache-dubbo-page_dev.md       |   33 +
 .../committer-guide/label-an-issue-guide_dev.md    |   29 +
 .../committer-guide/new-committer-guide_dev.md     |   95 +
 .../committer-guide/release-guide_dev.md           |  500 ++++
 .../committer-guide/website-guide_dev.md           |    4 +
 .../contributor-guide/become-a-committer_dev.md    |   15 +
 .../contributor-guide/cla-signing-guide_dev.md     |   25 +
 .../contributor-guide/dubbo-extension-guide_dev.md |   37 +
 .../mailing-list-subscription-guide_dev.md         |   80 +
 .../contributor-guide/new-contributor-guide_dev.md |   62 +
 .../reporting-security-issues_dev.md               |   21 +
 .../software-donation-guide_dev.md                 |  106 +
 .../contributor-guide/test-coverage-guide_dev.md   |   16 +
 .../2.7/en-us/docs/developers/developers_dev.md    |   57 +
 .../2.7/en-us/docs/developers/guide_dev.md         |   76 +
 .../en-us/docs/developers/user-guide/faq_dev.md    |   27 +
 documentations/2.7/en-us/docs/index.md             |   13 +
 documentations/2.7/en-us/docs/user/LICENSE         |  201 ++
 documentations/2.7/en-us/docs/user/README.md       |    3 +
 documentations/2.7/en-us/docs/user/SUMMARY.md      |   94 +
 .../2.7/en-us/docs/user/benchmark-tool.md          |   34 +
 .../2.7/en-us/docs/user/best-practice.md           |   63 +
 .../2.7/en-us/docs/user/capacity-plan.md           |   17 +
 .../en-us/docs/user/configuration/annotation.md    |   94 +
 .../2.7/en-us/docs/user/configuration/api.md       |  119 +
 .../configuration/configuration-load-process.md    |  180 ++
 .../2.7/en-us/docs/user/configuration/index.md     |    1 +
 .../en-us/docs/user/configuration/properties.md    |   43 +
 .../2.7/en-us/docs/user/configuration/xml.md       |   77 +
 documentations/2.7/en-us/docs/user/coveragence.md  |   24 +
 .../2.7/en-us/docs/user/demos/accesslog.md         |   57 +
 .../en-us/docs/user/demos/async-call-deprecated.md |   59 +
 .../2.7/en-us/docs/user/demos/async-call.md        |   59 +
 .../docs/user/demos/async-execute-on-provider.md   |   90 +
 .../2.7/en-us/docs/user/demos/attachment.md        |   27 +
 .../en-us/docs/user/demos/callback-parameter.md    |  110 +
 .../en-us/docs/user/demos/concurrency-control.md   |   60 +
 .../en-us/docs/user/demos/config-connections.md    |   30 +
 .../docs/user/demos/config-rule-deprecated.md      |   47 +
 .../2.7/en-us/docs/user/demos/config-rule.md       |   47 +
 .../2.7/en-us/docs/user/demos/context.md           |   39 +
 .../2.7/en-us/docs/user/demos/delay-publish.md     |   50 +
 .../docs/user/demos/distributed-transaction.md     |    7 +
 documentations/2.7/en-us/docs/user/demos/dump.md   |   19 +
 .../2.7/en-us/docs/user/demos/echo-service.md      |   25 +
 .../2.7/en-us/docs/user/demos/events-notify.md     |   95 +
 .../2.7/en-us/docs/user/demos/explicit-target.md   |   37 +
 .../docs/user/demos/fault-tolerent-strategy.md     |   75 +
 .../2.7/en-us/docs/user/demos/generic-reference.md |   97 +
 .../2.7/en-us/docs/user/demos/generic-service.md   |   45 +
 .../2.7/en-us/docs/user/demos/graceful-shutdown.md |   30 +
 .../2.7/en-us/docs/user/demos/group-merger.md      |   54 +
 .../2.7/en-us/docs/user/demos/hostname-binding.md  |   58 +
 documentations/2.7/en-us/docs/user/demos/index.md  |    1 +
 .../2.7/en-us/docs/user/demos/introduction.md      |    2 +
 .../2.7/en-us/docs/user/demos/lazy-connect.md      |    9 +
 .../2.7/en-us/docs/user/demos/loadbalance.md       |   64 +
 .../2.7/en-us/docs/user/demos/local-call.md        |   48 +
 .../2.7/en-us/docs/user/demos/local-mock.md        |  100 +
 .../2.7/en-us/docs/user/demos/local-stub.md        |   47 +
 .../2.7/en-us/docs/user/demos/logger-strategy.md   |   23 +
 .../2.7/en-us/docs/user/demos/multi-protocols.md   |   45 +
 .../2.7/en-us/docs/user/demos/multi-registry.md    |   83 +
 .../2.7/en-us/docs/user/demos/multi-versions.md    |   42 +
 documentations/2.7/en-us/docs/user/demos/netty4.md |   35 +
 .../en-us/docs/user/demos/parameter-validation.md  |  183 ++
 .../2.7/en-us/docs/user/demos/preflight-check.md   |   56 +
 .../docs/user/demos/reference-config-cache.md      |   38 +
 .../2.7/en-us/docs/user/demos/registry-only.md     |   19 +
 .../2.7/en-us/docs/user/demos/result-cache.md      |   28 +
 .../2.7/en-us/docs/user/demos/routing-rule.md      |  193 ++
 .../2.7/en-us/docs/user/demos/serialization.md     |   77 +
 .../2.7/en-us/docs/user/demos/service-container.md |   61 +
 .../2.7/en-us/docs/user/demos/service-downgrade.md |   19 +
 .../2.7/en-us/docs/user/demos/service-group.md     |   27 +
 .../2.7/en-us/docs/user/demos/static-service.md    |   27 +
 .../2.7/en-us/docs/user/demos/stickiness.md        |   17 +
 .../2.7/en-us/docs/user/demos/subscribe-only.md    |   19 +
 .../2.7/en-us/docs/user/demos/thread-model.md      |   34 +
 .../en-us/docs/user/demos/token-authorization.md   |   46 +
 documentations/2.7/en-us/docs/user/dependencies.md |   58 +
 .../en-us/docs/user/languages/erlang/reference.md  |   15 +
 .../docs/user/languages/erlang/serialization.md    |   17 +
 .../en-us/docs/user/languages/erlang/service.md    |   22 +
 .../2.7/en-us/docs/user/languages/erlang/start.md  |   62 +
 documentations/2.7/en-us/docs/user/maturity.md     |   93 +
 documentations/2.7/en-us/docs/user/perf-test.md    |  168 ++
 .../2.7/en-us/docs/user/preface/architecture.md    |   66 +
 .../2.7/en-us/docs/user/preface/background.md      |   21 +
 .../2.7/en-us/docs/user/preface/index.md           |    1 +
 .../2.7/en-us/docs/user/preface/requirements.md    |   13 +
 .../2.7/en-us/docs/user/preface/usage.md           |   39 +
 documentations/2.7/en-us/docs/user/quick-start.md  |  252 ++
 documentations/2.7/en-us/docs/user/recommend.md    |  169 ++
 .../2.7/en-us/docs/user/references/api.md          |   63 +
 .../2.7/en-us/docs/user/references/maven.md        |   19 +
 .../docs/user/references/metadata/introduction.md  |  369 +++
 .../en-us/docs/user/references/protocol/dubbo.md   |  110 +
 .../en-us/docs/user/references/protocol/hessian.md |   70 +
 .../en-us/docs/user/references/protocol/http.md    |   58 +
 .../docs/user/references/protocol/introduction.md  |    5 +
 .../docs/user/references/protocol/memcached.md     |   42 +
 .../en-us/docs/user/references/protocol/redis.md   |   42 +
 .../en-us/docs/user/references/protocol/rest.md    |  741 +++++
 .../2.7/en-us/docs/user/references/protocol/rmi.md |   82 +
 .../en-us/docs/user/references/protocol/thrift.md  |   32 +
 .../docs/user/references/protocol/webservice.md    |  113 +
 .../2.7/en-us/docs/user/references/qos.md          |  227 ++
 .../docs/user/references/registry/introduction.md  |    3 +
 .../docs/user/references/registry/multicast.md     |   38 +
 .../en-us/docs/user/references/registry/nacos.md   |  122 +
 .../en-us/docs/user/references/registry/redis.md   |   73 +
 .../en-us/docs/user/references/registry/simple.md  |   49 +
 .../docs/user/references/registry/zookeeper.md     |  154 +
 .../2.7/en-us/docs/user/references/telnet.md       |  104 +
 .../docs/user/references/xml/dubbo-application.md  |   14 +
 .../docs/user/references/xml/dubbo-argument.md     |   14 +
 .../user/references/xml/dubbo-config-center.md     |   19 +
 .../docs/user/references/xml/dubbo-consumer.md     |   24 +
 .../en-us/docs/user/references/xml/dubbo-method.md |   30 +
 .../en-us/docs/user/references/xml/dubbo-module.md |   10 +
 .../docs/user/references/xml/dubbo-monitor.md      |    8 +
 .../docs/user/references/xml/dubbo-parameter.md    |   22 +
 .../docs/user/references/xml/dubbo-protocol.md     |   30 +
 .../docs/user/references/xml/dubbo-provider.md     |   50 +
 .../docs/user/references/xml/dubbo-reference.md    |   39 +
 .../docs/user/references/xml/dubbo-registry.md     |   30 +
 .../docs/user/references/xml/dubbo-service.md      |   37 +
 .../en-us/docs/user/references/xml/introduction.md |   16 +
 documentations/2.7/en-us/docs/user/rest.md         | 1227 ++++++++
 .../2.7/en-us/docs/user/simple-monitor.md          |   84 +
 .../2.7/en-us/docs/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../2.7/en-us/docs/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../2.7/en-us/docs/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../2.7/en-us/docs/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../2.7/en-us/docs/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../2.7/en-us/docs/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../2.7/en-us/docs/user/sources/images/arch.png    |  Bin 0 -> 15546 bytes
 .../2.7/en-us/docs/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../docs/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../docs/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../docs/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality2.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality3.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality4.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-quality6.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-quality7.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../2.7/en-us/docs/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../docs/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../docs/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../docs/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../en-us/docs/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../2.7/en-us/docs/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../2.7/en-us/docs/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../docs/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../docs/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../en-us/docs/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../2.7/en-us/docs/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../2.7/en-us/docs/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../2.7/en-us/docs/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../docs/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../en-us/docs/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 documentations/2.7/en-us/mkdocs.yml                |  113 +
 documentations/2.7/en-us/site/404.html             |  359 +++
 .../2.7/en-us/site/admin/SUMMARY/index.html        |  371 +++
 documentations/2.7/en-us/site/admin/index.html     |  369 +++
 .../site/admin/install/admin-console/index.html    |  391 +++
 .../site/admin/install/consumer-demo/index.html    |  377 +++
 .../site/admin/install/introduction/index.html     |  370 +++
 .../site/admin/install/provider-demo/index.html    |  376 +++
 .../2.7/en-us/site/admin/install/redis/index.html  |  401 +++
 .../admin/install/simple-monitor-center/index.html |  365 +++
 .../install/simple-registry-center/index.html      |  364 +++
 .../en-us/site/admin/install/zookeeper/index.html  |  433 +++
 .../2.7/en-us/site/admin/introduction/index.html   |  427 +++
 .../2.7/en-us/site/admin/ops/dubbo-ops/index.html  |  375 +++
 .../en-us/site/admin/ops/introduction/index.html   |  364 +++
 .../2.7/en-us/site/admin/ops/pinpoint/index.html   |  747 +++++
 .../2.7/en-us/site/admin/ops/skywalking/index.html |  463 +++
 .../en-us/site/admin/serviceGovernance/index.html  |  401 +++
 .../2.7/en-us/site/admin/serviceSearch/index.html  |  368 +++
 .../2.7/en-us/site/admin/serviceTest/index.html    |  364 +++
 .../en-us/site/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../2.7/en-us/site/admin/sources/images/check.gif  |  Bin 0 -> 604 bytes
 .../2.7/en-us/site/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../2.7/en-us/site/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../site/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../site/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../site/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../site/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../site/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 655223 bytes
 .../site/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 303613 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 434638 bytes
 .../site/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../site/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../site/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../2.7/en-us/site/admin/sources/images/tip.png    |  Bin 0 -> 876 bytes
 .../en-us/site/admin/sources/images/warning-3.gif  |  Bin 0 -> 569 bytes
 .../2.7/en-us/site/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/2.7/en-us/site/css/theme.css        |   12 +
 documentations/2.7/en-us/site/css/theme_extra.css  |  197 ++
 documentations/2.7/en-us/site/dev/LICENSE          |  201 ++
 documentations/2.7/en-us/site/dev/SPI/index.html   |  540 ++++
 .../2.7/en-us/site/dev/SUMMARY/index.html          |  406 +++
 documentations/2.7/en-us/site/dev/TCK/index.html   |  377 +++
 documentations/2.7/en-us/site/dev/build/index.html |  414 +++
 .../2.7/en-us/site/dev/checklist/index.html        |  382 +++
 .../2.7/en-us/site/dev/code-smell/index.html       |  506 ++++
 .../2.7/en-us/site/dev/coding/index.html           |  414 +++
 .../2.7/en-us/site/dev/contract/index.html         |  376 +++
 .../2.7/en-us/site/dev/contribution/index.html     |  728 +++++
 .../2.7/en-us/site/dev/design/index.html           |  445 +++
 .../2.7/en-us/site/dev/implementation/index.html   |  454 +++
 .../2.7/en-us/site/dev/impls/cache/index.html      |  430 +++
 .../2.7/en-us/site/dev/impls/cluster/index.html    |  423 +++
 .../2.7/en-us/site/dev/impls/compiler/index.html   |  404 +++
 .../en-us/site/dev/impls/config-center/index.html  |  440 +++
 .../2.7/en-us/site/dev/impls/container/index.html  |  411 +++
 .../2.7/en-us/site/dev/impls/dispatcher/index.html |  411 +++
 .../2.7/en-us/site/dev/impls/exchanger/index.html  |  436 +++
 .../site/dev/impls/exporter-listener/index.html    |  412 +++
 .../site/dev/impls/extension-factory/index.html    |  406 +++
 .../2.7/en-us/site/dev/impls/filter/index.html     |  438 +++
 .../en-us/site/dev/impls/introduction/index.html   |  365 +++
 .../site/dev/impls/invoker-listener/index.html     |  412 +++
 .../en-us/site/dev/impls/load-balance/index.html   |  412 +++
 .../en-us/site/dev/impls/logger-adapter/index.html |  429 +++
 .../2.7/en-us/site/dev/impls/merger/index.html     |  408 +++
 .../2.7/en-us/site/dev/impls/monitor/index.html    |  422 +++
 .../2.7/en-us/site/dev/impls/networker/index.html  |  408 +++
 .../2.7/en-us/site/dev/impls/page/index.html       |  410 +++
 .../2.7/en-us/site/dev/impls/protocol/index.html   |  496 ++++
 .../en-us/site/dev/impls/proxy-factory/index.html  |  414 +++
 .../2.7/en-us/site/dev/impls/registry/index.html   |  547 ++++
 .../2.7/en-us/site/dev/impls/remoting/index.html   |  469 +++
 .../2.7/en-us/site/dev/impls/router/index.html     |  409 +++
 .../2.7/en-us/site/dev/impls/serialize/index.html  |  423 +++
 .../en-us/site/dev/impls/status-checker/index.html |  413 +++
 .../en-us/site/dev/impls/telnet-handler/index.html |  424 +++
 .../2.7/en-us/site/dev/impls/threadpool/index.html |  409 +++
 .../2.7/en-us/site/dev/impls/validation/index.html |  420 +++
 documentations/2.7/en-us/site/dev/index.html       |  370 +++
 .../2.7/en-us/site/dev/introduction/index.html     |  364 +++
 .../site/dev/principals/code-detail/index.html     |  384 +++
 .../site/dev/principals/configuration/index.html   |  416 +++
 .../2.7/en-us/site/dev/principals/dummy/index.html |  545 ++++
 .../site/dev/principals/expansibility/index.html   |  374 +++
 .../en-us/site/dev/principals/extension/index.html |  454 +++
 .../dev/principals/general-knowledge/index.html    |  398 +++
 .../site/dev/principals/introduction/index.html    |  365 +++
 .../site/dev/principals/robustness/index.html      |  412 +++
 .../2.7/en-us/site/dev/release/index.html          |  395 +++
 .../en-us/site/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../2.7/en-us/site/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../en-us/site/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../en-us/site/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../en-us/site/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../en-us/site/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../en-us/site/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../site/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../site/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../site/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../site/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../en-us/site/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../site/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../site/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../site/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../site/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../site/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../en-us/site/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../en-us/site/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../en-us/site/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../site/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../apache-dubbo-page_dev/index.html               |  398 +++
 .../label-an-issue-guide_dev/index.html            |  396 +++
 .../new-committer-guide_dev/index.html             |  440 +++
 .../committer-guide/release-guide_dev/index.html   |  795 ++++++
 .../committer-guide/website-guide_dev/index.html   |  368 +++
 .../become-a-committer_dev/index.html              |  371 +++
 .../cla-signing-guide_dev/index.html               |  385 +++
 .../dubbo-extension-guide_dev/index.html           |  397 +++
 .../mailing-list-subscription-guide_dev/index.html |  444 +++
 .../new-contributor-guide_dev/index.html           |  411 +++
 .../reporting-security-issues_dev/index.html       |  377 +++
 .../software-donation-guide_dev/index.html         |  463 +++
 .../test-coverage-guide_dev/index.html             |  384 +++
 .../site/developers/developers_dev/index.html      |  696 +++++
 .../2.7/en-us/site/developers/guide_dev/index.html |  437 +++
 .../site/developers/user-guide/faq_dev/index.html  |  385 +++
 .../2.7/en-us/site/fonts/fontawesome-webfont.eot   |  Bin 0 -> 37405 bytes
 .../2.7/en-us/site/fonts/fontawesome-webfont.svg   |  399 +++
 .../2.7/en-us/site/fonts/fontawesome-webfont.ttf   |  Bin 0 -> 79076 bytes
 .../2.7/en-us/site/fonts/fontawesome-webfont.woff  |  Bin 0 -> 43572 bytes
 documentations/2.7/en-us/site/img/favicon.ico      |  Bin 0 -> 1150 bytes
 documentations/2.7/en-us/site/index.html           |  383 +++
 .../2.7/en-us/site/js/jquery-2.1.1.min.js          |    4 +
 .../2.7/en-us/site/js/modernizr-2.8.3.min.js       |    1 +
 documentations/2.7/en-us/site/js/theme.js          |  105 +
 documentations/2.7/en-us/site/search.html          |  366 +++
 documentations/2.7/en-us/site/search/lunr.js       | 2986 ++++++++++++++++++++
 documentations/2.7/en-us/site/search/main.js       |   96 +
 .../2.7/en-us/site/search/search_index.json        |    1 +
 documentations/2.7/en-us/site/search/worker.js     |  128 +
 documentations/2.7/en-us/site/sitemap.xml          |  278 ++
 documentations/2.7/en-us/site/sitemap.xml.gz       |  Bin 0 -> 195 bytes
 documentations/2.7/en-us/site/user/LICENSE         |  201 ++
 .../2.7/en-us/site/user/SUMMARY/index.html         |  471 +++
 .../2.7/en-us/site/user/benchmark-tool/index.html  |  403 +++
 .../2.7/en-us/site/user/best-practice/index.html   |  395 +++
 .../2.7/en-us/site/user/capacity-plan/index.html   |  379 +++
 .../site/user/configuration/annotation/index.html  |  433 +++
 .../en-us/site/user/configuration/api/index.html   |  470 +++
 .../configuration-load-process/index.html          |  521 ++++
 .../2.7/en-us/site/user/configuration/index.html   |  369 +++
 .../site/user/configuration/properties/index.html  |  399 +++
 .../en-us/site/user/configuration/xml/index.html   |  475 ++++
 .../2.7/en-us/site/user/coveragence/index.html     |  379 +++
 .../2.7/en-us/site/user/demos/accesslog/index.html |  412 +++
 .../user/demos/async-call-deprecated/index.html    |  416 +++
 .../en-us/site/user/demos/async-call/index.html    |  411 +++
 .../demos/async-execute-on-provider/index.html     |  433 +++
 .../en-us/site/user/demos/attachment/index.html    |  382 +++
 .../site/user/demos/callback-parameter/index.html  |  460 +++
 .../site/user/demos/concurrency-control/index.html |  416 +++
 .../site/user/demos/config-connections/index.html  |  387 +++
 .../user/demos/config-rule-deprecated/index.html   |  399 +++
 .../en-us/site/user/demos/config-rule/index.html   |  399 +++
 .../2.7/en-us/site/user/demos/context/index.html   |  394 +++
 .../en-us/site/user/demos/delay-publish/index.html |  402 +++
 .../user/demos/distributed-transaction/index.html  |  367 +++
 .../2.7/en-us/site/user/demos/dump/index.html      |  379 +++
 .../en-us/site/user/demos/echo-service/index.html  |  381 +++
 .../en-us/site/user/demos/events-notify/index.html |  442 +++
 .../site/user/demos/explicit-target/index.html     |  386 +++
 .../user/demos/fault-tolerent-strategy/index.html  |  410 +++
 .../site/user/demos/generic-reference/index.html   |  444 +++
 .../site/user/demos/generic-service/index.html     |  399 +++
 .../site/user/demos/graceful-shutdown/index.html   |  385 +++
 .../en-us/site/user/demos/group-merger/index.html  |  401 +++
 .../site/user/demos/hostname-binding/index.html    |  441 +++
 .../2.7/en-us/site/user/demos/index.html           |  369 +++
 .../en-us/site/user/demos/introduction/index.html  |  367 +++
 .../en-us/site/user/demos/lazy-connect/index.html  |  369 +++
 .../en-us/site/user/demos/loadbalance/index.html   |  411 +++
 .../en-us/site/user/demos/local-call/index.html    |  393 +++
 .../en-us/site/user/demos/local-mock/index.html    |  433 +++
 .../en-us/site/user/demos/local-stub/index.html    |  399 +++
 .../site/user/demos/logger-strategy/index.html     |  383 +++
 .../site/user/demos/multi-protocols/index.html     |  401 +++
 .../site/user/demos/multi-registry/index.html      |  432 +++
 .../site/user/demos/multi-versions/index.html      |  392 +++
 .../2.7/en-us/site/user/demos/netty4/index.html    |  392 +++
 .../user/demos/parameter-validation/index.html     |  526 ++++
 .../site/user/demos/preflight-check/index.html     |  400 +++
 .../user/demos/reference-config-cache/index.html   |  389 +++
 .../en-us/site/user/demos/registry-only/index.html |  376 +++
 .../en-us/site/user/demos/result-cache/index.html  |  383 +++
 .../en-us/site/user/demos/routing-rule/index.html  |  515 ++++
 .../en-us/site/user/demos/serialization/index.html |  426 +++
 .../site/user/demos/service-container/index.html   |  412 +++
 .../site/user/demos/service-downgrade/index.html   |  380 +++
 .../en-us/site/user/demos/service-group/index.html |  380 +++
 .../site/user/demos/static-service/index.html      |  382 +++
 .../en-us/site/user/demos/stickiness/index.html    |  374 +++
 .../site/user/demos/subscribe-only/index.html      |  374 +++
 .../en-us/site/user/demos/thread-model/index.html  |  389 +++
 .../site/user/demos/token-authorization/index.html |  395 +++
 .../2.7/en-us/site/user/dependencies/index.html    |  416 +++
 documentations/2.7/en-us/site/user/index.html      |  370 +++
 .../user/languages/erlang/reference/index.html     |  377 +++
 .../user/languages/erlang/serialization/index.html |  391 +++
 .../site/user/languages/erlang/service/index.html  |  407 +++
 .../site/user/languages/erlang/start/index.html    |  412 +++
 .../2.7/en-us/site/user/maturity/index.html        |  968 +++++++
 .../2.7/en-us/site/user/perf-test/index.html       |  696 +++++
 .../site/user/preface/architecture/index.html      |  469 +++
 .../en-us/site/user/preface/background/index.html  |  374 +++
 .../2.7/en-us/site/user/preface/index.html         |  369 +++
 .../site/user/preface/requirements/index.html      |  370 +++
 .../2.7/en-us/site/user/preface/usage/index.html   |  393 +++
 .../2.7/en-us/site/user/quick-start/index.html     |  567 ++++
 .../2.7/en-us/site/user/recommend/index.html       |  498 ++++
 .../2.7/en-us/site/user/references/api/index.html  |  408 +++
 .../en-us/site/user/references/maven/index.html    |  375 +++
 .../references/metadata/introduction/index.html    |  674 +++++
 .../site/user/references/protocol/dubbo/index.html |  468 +++
 .../user/references/protocol/hessian/index.html    |  414 +++
 .../site/user/references/protocol/http/index.html  |  409 +++
 .../references/protocol/introduction/index.html    |  365 +++
 .../user/references/protocol/memcached/index.html  |  388 +++
 .../site/user/references/protocol/redis/index.html |  388 +++
 .../site/user/references/protocol/rest/index.html  |  933 ++++++
 .../site/user/references/protocol/rmi/index.html   |  423 +++
 .../user/references/protocol/thrift/index.html     |  384 +++
 .../user/references/protocol/webservice/index.html |  448 +++
 .../2.7/en-us/site/user/references/qos/index.html  |  566 ++++
 .../references/registry/introduction/index.html    |  365 +++
 .../user/references/registry/multicast/index.html  |  390 +++
 .../site/user/references/registry/nacos/index.html |  445 +++
 .../site/user/references/registry/redis/index.html |  421 +++
 .../user/references/registry/simple/index.html     |  400 +++
 .../user/references/registry/zookeeper/index.html  |  467 +++
 .../en-us/site/user/references/telnet/index.html   |  453 +++
 .../references/xml/dubbo-application/index.html    |  461 +++
 .../user/references/xml/dubbo-argument/index.html  |  416 +++
 .../references/xml/dubbo-config-center/index.html  |  497 ++++
 .../user/references/xml/dubbo-consumer/index.html  |  561 ++++
 .../user/references/xml/dubbo-method/index.html    |  546 ++++
 .../user/references/xml/dubbo-module/index.html    |  421 +++
 .../user/references/xml/dubbo-monitor/index.html   |  401 +++
 .../user/references/xml/dubbo-parameter/index.html |  410 +++
 .../user/references/xml/dubbo-protocol/index.html  |  621 ++++
 .../user/references/xml/dubbo-provider/index.html  |  821 ++++++
 .../user/references/xml/dubbo-reference/index.html |  651 +++++
 .../user/references/xml/dubbo-registry/index.html  |  561 ++++
 .../user/references/xml/dubbo-service/index.html   |  691 +++++
 .../user/references/xml/introduction/index.html    |  375 +++
 documentations/2.7/en-us/site/user/rest/index.html | 1379 +++++++++
 .../2.7/en-us/site/user/simple-monitor/index.html  |  428 +++
 .../2.7/en-us/site/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../2.7/en-us/site/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../2.7/en-us/site/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../2.7/en-us/site/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../2.7/en-us/site/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../2.7/en-us/site/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../2.7/en-us/site/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../site/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../site/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../site/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality2.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality3.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality4.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-quality6.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-quality7.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../2.7/en-us/site/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../site/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../site/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../site/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../en-us/site/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../2.7/en-us/site/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../2.7/en-us/site/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../site/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../site/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../en-us/site/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../2.7/en-us/site/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../2.7/en-us/site/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../2.7/en-us/site/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../site/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../en-us/site/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 documentations/2.7/zh-cn/docs/admin/LICENSE        |  201 ++
 documentations/2.7/zh-cn/docs/admin/README.md      |    1 +
 documentations/2.7/zh-cn/docs/admin/SUMMARY.md     |    4 +
 .../2.7/zh-cn/docs/admin/install/admin-console.md  |   40 +
 .../2.7/zh-cn/docs/admin/install/consumer-demo.md  |   21 +
 .../2.7/zh-cn/docs/admin/install/introduction.md   |   13 +
 .../2.7/zh-cn/docs/admin/install/provider-demo.md  |   19 +
 .../2.7/zh-cn/docs/admin/install/redis.md          |   54 +
 .../docs/admin/install/simple-monitor-center.md    |    3 +
 .../docs/admin/install/simple-registry-center.md   |    2 +
 .../2.7/zh-cn/docs/admin/install/zookeeper.md      |   98 +
 .../2.7/zh-cn/docs/admin/introduction.md           |   65 +
 .../2.7/zh-cn/docs/admin/ops/dubbo-ops.md          |   25 +
 .../2.7/zh-cn/docs/admin/ops/introduction.md       |    1 +
 .../2.7/zh-cn/docs/admin/ops/pinpoint.md           |  415 +++
 .../2.7/zh-cn/docs/admin/ops/skywalking.md         |  133 +
 .../2.7/zh-cn/docs/admin/serviceGovernance.md      |   42 +
 .../2.7/zh-cn/docs/admin/serviceSearch.md          |    7 +
 documentations/2.7/zh-cn/docs/admin/serviceTest.md |    1 +
 .../zh-cn/docs/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../2.7/zh-cn/docs/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../2.7/zh-cn/docs/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../docs/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../docs/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../docs/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../docs/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../docs/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 693731 bytes
 .../docs/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 317984 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 480963 bytes
 .../docs/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../docs/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../docs/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../2.7/zh-cn/docs/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/2.7/zh-cn/docs/dev/LICENSE          |  201 ++
 documentations/2.7/zh-cn/docs/dev/README.md        |    1 +
 documentations/2.7/zh-cn/docs/dev/SPI.md           |  237 ++
 documentations/2.7/zh-cn/docs/dev/SUMMARY.md       |   50 +
 documentations/2.7/zh-cn/docs/dev/TCK.md           |   19 +
 documentations/2.7/zh-cn/docs/dev/build.md         |   80 +
 documentations/2.7/zh-cn/docs/dev/checklist.md     |   27 +
 documentations/2.7/zh-cn/docs/dev/code-smell.md    |  205 ++
 documentations/2.7/zh-cn/docs/dev/coding.md        |   53 +
 documentations/2.7/zh-cn/docs/dev/contract.md      |   14 +
 documentations/2.7/zh-cn/docs/dev/contribution.md  |   45 +
 documentations/2.7/zh-cn/docs/dev/design.md        |   99 +
 .../2.7/zh-cn/docs/dev/implementation.md           |  226 ++
 documentations/2.7/zh-cn/docs/dev/impls/cache.md   |   83 +
 documentations/2.7/zh-cn/docs/dev/impls/cluster.md |   74 +
 .../2.7/zh-cn/docs/dev/impls/compiler.md           |   55 +
 .../2.7/zh-cn/docs/dev/impls/config-center.md      |   97 +
 .../2.7/zh-cn/docs/dev/impls/container.md          |   62 +
 .../2.7/zh-cn/docs/dev/impls/dispatcher.md         |   62 +
 .../2.7/zh-cn/docs/dev/impls/exchanger.md          |   90 +
 .../2.7/zh-cn/docs/dev/impls/exporter-listener.md  |   66 +
 .../2.7/zh-cn/docs/dev/impls/extension-factory.md  |   57 +
 documentations/2.7/zh-cn/docs/dev/impls/filter.md  |   89 +
 .../2.7/zh-cn/docs/dev/impls/introduction.md       |    3 +
 .../2.7/zh-cn/docs/dev/impls/invoker-listener.md   |   64 +
 .../2.7/zh-cn/docs/dev/impls/load-balance.md       |   63 +
 .../2.7/zh-cn/docs/dev/impls/logger-adapter.md     |   84 +
 documentations/2.7/zh-cn/docs/dev/impls/merger.md  |   60 +
 documentations/2.7/zh-cn/docs/dev/impls/monitor.md |   75 +
 .../2.7/zh-cn/docs/dev/impls/networker.md          |   59 +
 documentations/2.7/zh-cn/docs/dev/impls/page.md    |   61 +
 .../2.7/zh-cn/docs/dev/impls/protocol.md           |  151 +
 .../2.7/zh-cn/docs/dev/impls/proxy-factory.md      |   65 +
 .../2.7/zh-cn/docs/dev/impls/registry.md           |  205 ++
 .../2.7/zh-cn/docs/dev/impls/remoting.md           |  122 +
 documentations/2.7/zh-cn/docs/dev/impls/router.md  |   58 +
 .../2.7/zh-cn/docs/dev/impls/serialize.md          |   72 +
 .../2.7/zh-cn/docs/dev/impls/status-checker.md     |   64 +
 .../2.7/zh-cn/docs/dev/impls/telnet-handler.md     |   77 +
 .../2.7/zh-cn/docs/dev/impls/threadpool.md         |   61 +
 .../2.7/zh-cn/docs/dev/impls/validation.md         |   75 +
 documentations/2.7/zh-cn/docs/dev/introduction.md  |    1 +
 .../2.7/zh-cn/docs/dev/principals/code-detail.md   |   35 +
 .../2.7/zh-cn/docs/dev/principals/configuration.md |   97 +
 .../2.7/zh-cn/docs/dev/principals/dummy.md         |  204 ++
 .../2.7/zh-cn/docs/dev/principals/expansibility.md |   18 +
 .../2.7/zh-cn/docs/dev/principals/extension.md     |  136 +
 .../zh-cn/docs/dev/principals/general-knowledge.md |   69 +
 .../2.7/zh-cn/docs/dev/principals/introduction.md  |    3 +
 .../2.7/zh-cn/docs/dev/principals/robustness.md    |   84 +
 documentations/2.7/zh-cn/docs/dev/release.md       |   34 +
 .../zh-cn/docs/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../2.7/zh-cn/docs/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../zh-cn/docs/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../zh-cn/docs/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../zh-cn/docs/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../zh-cn/docs/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../zh-cn/docs/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../docs/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../docs/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../docs/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../docs/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../zh-cn/docs/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../docs/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../docs/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../docs/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../docs/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../docs/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../zh-cn/docs/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../zh-cn/docs/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../zh-cn/docs/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../docs/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../committer-guide/apache-dubbo-page_dev.md       |   28 +
 .../committer-guide/label-an-issue-guide_dev.md    |   27 +
 .../committer-guide/new-committer-guide_dev.md     |    4 +-
 .../committer-guide/release-guide_dev.md           |  477 ++++
 .../committer-guide/website-guide_dev.md           |    5 +
 .../contributor-guide/become-a-committer_dev.md    |   15 +
 .../contributor-guide/cla-signing-guide_dev.md     |   24 +
 .../contributor-guide/dubbo-extension-guide_dev.md |   47 +
 .../mailing-list-subscription-guide_dev.md         |   80 +
 .../contributor-guide/new-contributor-guide_dev.md |   38 +
 .../reporting-security-issues_dev.md               |   21 +
 .../software-donation-guide_dev.md                 |  112 +
 .../contributor-guide/test-coverage-guide_dev.md   |   16 +
 .../2.7/zh-cn/docs/developers/developers_dev.md    |   58 +
 .../2.7/zh-cn/docs/developers/guide_dev.md         |   82 +
 .../zh-cn/docs/developers/user-guide/faq_dev.md    |   25 +
 documentations/2.7/zh-cn/docs/index.md             |   13 +
 .../docs/source_code_guide/adaptive-extension.md   |  788 ++++++
 .../2.7/zh-cn/docs/source_code_guide/cluster.md    |  606 ++++
 .../2.7/zh-cn/docs/source_code_guide/directory.md  |  542 ++++
 .../2.7/zh-cn/docs/source_code_guide/dubbo-spi.md  |  432 +++
 .../zh-cn/docs/source_code_guide/export-service.md | 1518 ++++++++++
 .../zh-cn/docs/source_code_guide/loadbalance.md    |  767 +++++
 .../zh-cn/docs/source_code_guide/refer-service.md  |  899 ++++++
 .../2.7/zh-cn/docs/source_code_guide/router.md     |  468 +++
 .../source_code_guide/service-invoking-process.md  | 1974 +++++++++++++
 .../source_code_guide/sources/images/cluster.jpg   |  Bin 0 -> 32874 bytes
 .../images/consistent-hash-data-incline.jpg        |  Bin 0 -> 101943 bytes
 .../sources/images/consistent-hash-invoker.jpg     |  Bin 0 -> 87844 bytes
 .../sources/images/consistent-hash.jpg             |  Bin 0 -> 95740 bytes
 .../sources/images/data-format.jpg                 |  Bin 0 -> 115165 bytes
 .../sources/images/directory-inherit-hierarchy.png |  Bin 0 -> 69024 bytes
 .../sources/images/dispatcher-location.jpg         |  Bin 0 -> 89871 bytes
 .../sources/images/dubbo-spi-result.jpg            |  Bin 0 -> 33007 bytes
 .../sources/images/java-spi-result.jpg             |  Bin 0 -> 46805 bytes
 .../sources/images/request-id-application.jpg      |  Bin 0 -> 217379 bytes
 .../sources/images/send-request-process.jpg        |  Bin 0 -> 83592 bytes
 .../sources/images/send-request-thread-stack.jpg   |  Bin 0 -> 213679 bytes
 .../sources/images/service-registry.png            |  Bin 0 -> 57116 bytes
 documentations/2.7/zh-cn/docs/user/LICENSE         |  201 ++
 documentations/2.7/zh-cn/docs/user/README.md       |    3 +
 documentations/2.7/zh-cn/docs/user/SUMMARY.md      |  110 +
 .../2.7/zh-cn/docs/user/benchmark-tool.md          |   28 +
 .../2.7/zh-cn/docs/user/best-practice.md           |   69 +
 .../2.7/zh-cn/docs/user/capacity-plan.md           |   23 +
 .../zh-cn/docs/user/configuration/annotation.md    |   95 +
 .../2.7/zh-cn/docs/user/configuration/api.md       |  121 +
 .../zh-cn/docs/user/configuration/config-center.md |  150 +
 .../configuration/configuration-load-process.md    |  181 ++
 .../user/configuration/environment-variables.md    |   31 +
 .../2.7/zh-cn/docs/user/configuration/index.md     |    1 +
 .../user/configuration/properties-deprecated.md    |   42 +
 .../zh-cn/docs/user/configuration/properties.md    |   37 +
 .../2.7/zh-cn/docs/user/configuration/xml.md       |   91 +
 documentations/2.7/zh-cn/docs/user/coveragence.md  |   16 +
 .../docs/user/demos/GooglePb-generic-reference.md  |   80 +
 .../2.7/zh-cn/docs/user/demos/accesslog.md         |   15 +
 .../zh-cn/docs/user/demos/async-call-deprecated.md |   57 +
 .../2.7/zh-cn/docs/user/demos/async-call.md        |  134 +
 .../docs/user/demos/async-execute-on-provider.md   |   95 +
 .../2.7/zh-cn/docs/user/demos/attachment.md        |   30 +
 documentations/2.7/zh-cn/docs/user/demos/auth.md   |   28 +
 .../zh-cn/docs/user/demos/callback-parameter.md    |  112 +
 .../zh-cn/docs/user/demos/concurrency-control.md   |   68 +
 .../zh-cn/docs/user/demos/config-connections.md    |   35 +
 .../docs/user/demos/config-rule-deprecated.md      |   48 +
 .../2.7/zh-cn/docs/user/demos/config-rule.md       |  181 ++
 .../zh-cn/docs/user/demos/consumer-threadpool.md   |   41 +
 .../2.7/zh-cn/docs/user/demos/context.md           |   40 +
 .../2.7/zh-cn/docs/user/demos/delay-publish.md     |   53 +
 .../docs/user/demos/distributed-transaction.md     |    9 +
 documentations/2.7/zh-cn/docs/user/demos/dump.md   |   18 +
 .../2.7/zh-cn/docs/user/demos/echo-service.md      |   25 +
 .../2.7/zh-cn/docs/user/demos/events-notify.md     |   97 +
 .../2.7/zh-cn/docs/user/demos/explicit-target.md   |   41 +
 .../docs/user/demos/fault-tolerent-strategy.md     |   78 +
 .../2.7/zh-cn/docs/user/demos/generic-reference.md |   97 +
 .../2.7/zh-cn/docs/user/demos/generic-service.md   |   45 +
 .../2.7/zh-cn/docs/user/demos/graceful-shutdown.md |   30 +
 .../2.7/zh-cn/docs/user/demos/group-merger.md      |   54 +
 .../2.7/zh-cn/docs/user/demos/hostname-binding.md  |   58 +
 documentations/2.7/zh-cn/docs/user/demos/index.md  |    1 +
 .../2.7/zh-cn/docs/user/demos/introduction.md      |    2 +
 .../2.7/zh-cn/docs/user/demos/lazy-connect.md      |    9 +
 .../2.7/zh-cn/docs/user/demos/loadbalance.md       |   60 +
 .../2.7/zh-cn/docs/user/demos/local-call.md        |   46 +
 .../2.7/zh-cn/docs/user/demos/local-mock.md        |  100 +
 .../2.7/zh-cn/docs/user/demos/local-stub.md        |   44 +
 .../2.7/zh-cn/docs/user/demos/logger-strategy.md   |   23 +
 .../2.7/zh-cn/docs/user/demos/multi-protocols.md   |   47 +
 .../2.7/zh-cn/docs/user/demos/multi-registry.md    |   84 +
 .../2.7/zh-cn/docs/user/demos/multi-versions.md    |   41 +
 documentations/2.7/zh-cn/docs/user/demos/netty4.md |   35 +
 .../zh-cn/docs/user/demos/parameter-validation.md  |  183 ++
 .../2.7/zh-cn/docs/user/demos/preflight-check.md   |   55 +
 .../2.7/zh-cn/docs/user/demos/protobuf-idl.md      |   31 +
 .../docs/user/demos/reference-config-cache.md      |   37 +
 .../2.7/zh-cn/docs/user/demos/registry-only.md     |   17 +
 .../2.7/zh-cn/docs/user/demos/result-cache.md      |   28 +
 .../docs/user/demos/routing-rule-deprecated.md     |  193 ++
 .../2.7/zh-cn/docs/user/demos/routing-rule.md      |  250 ++
 .../2.7/zh-cn/docs/user/demos/serialization.md     |   80 +
 .../2.7/zh-cn/docs/user/demos/service-container.md |   61 +
 .../2.7/zh-cn/docs/user/demos/service-downgrade.md |   18 +
 .../2.7/zh-cn/docs/user/demos/service-group.md     |   25 +
 .../2.7/zh-cn/docs/user/demos/set-host.md          |   59 +
 .../docs/user/demos/simplify-registry-data.md      |  232 ++
 .../2.7/zh-cn/docs/user/demos/static-service.md    |   25 +
 .../2.7/zh-cn/docs/user/demos/stickiness.md        |   18 +
 .../2.7/zh-cn/docs/user/demos/subscribe-only.md    |   19 +
 .../2.7/zh-cn/docs/user/demos/thread-model.md      |   31 +
 documentations/2.7/zh-cn/docs/user/demos/tls.md    |   44 +
 .../zh-cn/docs/user/demos/token-authorization.md   |   31 +
 documentations/2.7/zh-cn/docs/user/dependencies.md |   64 +
 .../zh-cn/docs/user/languages/erlang/reference.md  |   15 +
 .../docs/user/languages/erlang/serialization.md    |   21 +
 .../zh-cn/docs/user/languages/erlang/service.md    |   22 +
 .../2.7/zh-cn/docs/user/languages/erlang/start.md  |   60 +
 documentations/2.7/zh-cn/docs/user/maturity.md     |  100 +
 .../zh-cn/docs/user/new-features-in-a-glance.md    |   48 +
 documentations/2.7/zh-cn/docs/user/perf-test.md    |  172 ++
 .../2.7/zh-cn/docs/user/preface/architecture.md    |   66 +
 .../2.7/zh-cn/docs/user/preface/background.md      |   25 +
 .../2.7/zh-cn/docs/user/preface/index.md           |    1 +
 .../2.7/zh-cn/docs/user/preface/requirements.md    |   19 +
 .../2.7/zh-cn/docs/user/preface/usage.md           |   39 +
 documentations/2.7/zh-cn/docs/user/quick-start.md  |  138 +
 documentations/2.7/zh-cn/docs/user/recommend.md    |  171 ++
 .../2.7/zh-cn/docs/user/references/api.md          |   62 +
 .../2.7/zh-cn/docs/user/references/maven.md        |   19 +
 .../docs/user/references/metadata/introduction.md  |  368 +++
 .../user/references/metadata/metadata-redis.md     |    1 +
 .../user/references/metadata/metadata-zookeeper.md |    1 +
 .../zh-cn/docs/user/references/protocol/dubbo.md   |  123 +
 .../zh-cn/docs/user/references/protocol/gRPC.md    |   19 +
 .../zh-cn/docs/user/references/protocol/hessian.md |   68 +
 .../zh-cn/docs/user/references/protocol/http.md    |   57 +
 .../docs/user/references/protocol/introduction.md  |    3 +
 .../docs/user/references/protocol/memcached.md     |   44 +
 .../zh-cn/docs/user/references/protocol/redis.md   |   44 +
 .../zh-cn/docs/user/references/protocol/rest.md    |  741 +++++
 .../2.7/zh-cn/docs/user/references/protocol/rmi.md |   85 +
 .../zh-cn/docs/user/references/protocol/thrift.md  |   35 +
 .../docs/user/references/protocol/webservice.md    |  110 +
 .../2.7/zh-cn/docs/user/references/qos.md          |  241 ++
 .../docs/user/references/registry/introduction.md  |    3 +
 .../docs/user/references/registry/multicast.md     |   38 +
 .../zh-cn/docs/user/references/registry/nacos.md   |  130 +
 .../zh-cn/docs/user/references/registry/redis.md   |   76 +
 .../zh-cn/docs/user/references/registry/simple.md  |   49 +
 .../docs/user/references/registry/zookeeper.md     |  151 +
 .../2.7/zh-cn/docs/user/references/telnet.md       |  105 +
 .../docs/user/references/xml/dubbo-application.md  |   14 +
 .../docs/user/references/xml/dubbo-argument.md     |   14 +
 .../user/references/xml/dubbo-config-center.md     |   19 +
 .../docs/user/references/xml/dubbo-consumer.md     |   24 +
 .../zh-cn/docs/user/references/xml/dubbo-method.md |   30 +
 .../zh-cn/docs/user/references/xml/dubbo-module.md |   10 +
 .../docs/user/references/xml/dubbo-monitor.md      |    8 +
 .../docs/user/references/xml/dubbo-parameter.md    |   22 +
 .../docs/user/references/xml/dubbo-protocol.md     |   30 +
 .../docs/user/references/xml/dubbo-provider.md     |   50 +
 .../docs/user/references/xml/dubbo-reference.md    |   33 +
 .../docs/user/references/xml/dubbo-registry.md     |   30 +
 .../docs/user/references/xml/dubbo-service.md      |   37 +
 .../zh-cn/docs/user/references/xml/introduction.md |   15 +
 documentations/2.7/zh-cn/docs/user/rest.md         | 1216 ++++++++
 .../2.7/zh-cn/docs/user/serialization.md           |  225 ++
 .../2.7/zh-cn/docs/user/simple-monitor.md          |   84 +
 .../2.7/zh-cn/docs/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../2.7/zh-cn/docs/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../2.7/zh-cn/docs/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../2.7/zh-cn/docs/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../2.7/zh-cn/docs/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../2.7/zh-cn/docs/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../2.7/zh-cn/docs/user/sources/images/arch.png    |  Bin 0 -> 15546 bytes
 .../2.7/zh-cn/docs/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../docs/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../docs/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../docs/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../2.7/zh-cn/docs/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../docs/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../docs/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../docs/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../zh-cn/docs/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../2.7/zh-cn/docs/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../2.7/zh-cn/docs/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../docs/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../docs/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../zh-cn/docs/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../2.7/zh-cn/docs/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../2.7/zh-cn/docs/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../2.7/zh-cn/docs/user/sources/images/rest.jpg    |  Bin 0 -> 206610 bytes
 .../2.7/zh-cn/docs/user/sources/images/rt.png      |  Bin 0 -> 31098 bytes
 .../2.7/zh-cn/docs/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../docs/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../2.7/zh-cn/docs/user/sources/images/tps.png     |  Bin 0 -> 33114 bytes
 .../zh-cn/docs/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 .../2.7/zh-cn/docs/user/versions/index.md          |    3 +
 .../2.7/zh-cn/docs/user/versions/version-270.md    |  286 ++
 documentations/2.7/zh-cn/mkdocs.yml                |  117 +
 documentations/2.7/zh-cn/site/404.html             |  545 ++++
 documentations/2.7/zh-cn/site/admin/LICENSE        |  201 ++
 .../2.7/zh-cn/site/admin/SUMMARY/index.html        |  557 ++++
 documentations/2.7/zh-cn/site/admin/index.html     |  555 ++++
 .../site/admin/install/admin-console/index.html    |  575 ++++
 .../site/admin/install/consumer-demo/index.html    |  563 ++++
 .../site/admin/install/introduction/index.html     |  556 ++++
 .../site/admin/install/provider-demo/index.html    |  562 ++++
 .../2.7/zh-cn/site/admin/install/redis/index.html  |  587 ++++
 .../admin/install/simple-monitor-center/index.html |  551 ++++
 .../install/simple-registry-center/index.html      |  550 ++++
 .../zh-cn/site/admin/install/zookeeper/index.html  |  619 ++++
 .../2.7/zh-cn/site/admin/introduction/index.html   |  611 ++++
 .../2.7/zh-cn/site/admin/ops/dubbo-ops/index.html  |  562 ++++
 .../zh-cn/site/admin/ops/introduction/index.html   |  550 ++++
 .../2.7/zh-cn/site/admin/ops/pinpoint/index.html   |  941 ++++++
 .../2.7/zh-cn/site/admin/ops/skywalking/index.html |  661 +++++
 .../zh-cn/site/admin/serviceGovernance/index.html  |  583 ++++
 .../2.7/zh-cn/site/admin/serviceSearch/index.html  |  554 ++++
 .../2.7/zh-cn/site/admin/serviceTest/index.html    |  550 ++++
 .../zh-cn/site/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../2.7/zh-cn/site/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../2.7/zh-cn/site/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../site/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../site/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../site/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../site/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../site/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 693731 bytes
 .../site/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 317984 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 480963 bytes
 .../site/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../site/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../site/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../2.7/zh-cn/site/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/2.7/zh-cn/site/css/theme.css        |   12 +
 documentations/2.7/zh-cn/site/css/theme_extra.css  |  197 ++
 documentations/2.7/zh-cn/site/dev/LICENSE          |  201 ++
 documentations/2.7/zh-cn/site/dev/SPI/index.html   |  726 +++++
 .../2.7/zh-cn/site/dev/SUMMARY/index.html          |  603 ++++
 documentations/2.7/zh-cn/site/dev/TCK/index.html   |  563 ++++
 documentations/2.7/zh-cn/site/dev/build/index.html |  600 ++++
 .../2.7/zh-cn/site/dev/checklist/index.html        |  576 ++++
 .../2.7/zh-cn/site/dev/code-smell/index.html       |  692 +++++
 .../2.7/zh-cn/site/dev/coding/index.html           |  600 ++++
 .../2.7/zh-cn/site/dev/contract/index.html         |  562 ++++
 .../2.7/zh-cn/site/dev/contribution/index.html     |  869 ++++++
 .../2.7/zh-cn/site/dev/design/index.html           |  631 +++++
 .../2.7/zh-cn/site/dev/implementation/index.html   |  715 +++++
 .../2.7/zh-cn/site/dev/impls/cache/index.html      |  615 ++++
 .../2.7/zh-cn/site/dev/impls/cluster/index.html    |  609 ++++
 .../2.7/zh-cn/site/dev/impls/compiler/index.html   |  590 ++++
 .../zh-cn/site/dev/impls/config-center/index.html  |  627 ++++
 .../2.7/zh-cn/site/dev/impls/container/index.html  |  597 ++++
 .../2.7/zh-cn/site/dev/impls/dispatcher/index.html |  597 ++++
 .../2.7/zh-cn/site/dev/impls/exchanger/index.html  |  622 ++++
 .../site/dev/impls/exporter-listener/index.html    |  598 ++++
 .../site/dev/impls/extension-factory/index.html    |  592 ++++
 .../2.7/zh-cn/site/dev/impls/filter/index.html     |  624 ++++
 .../zh-cn/site/dev/impls/introduction/index.html   |  551 ++++
 .../site/dev/impls/invoker-listener/index.html     |  597 ++++
 .../zh-cn/site/dev/impls/load-balance/index.html   |  598 ++++
 .../zh-cn/site/dev/impls/logger-adapter/index.html |  615 ++++
 .../2.7/zh-cn/site/dev/impls/merger/index.html     |  594 ++++
 .../2.7/zh-cn/site/dev/impls/monitor/index.html    |  608 ++++
 .../2.7/zh-cn/site/dev/impls/networker/index.html  |  594 ++++
 .../2.7/zh-cn/site/dev/impls/page/index.html       |  596 ++++
 .../2.7/zh-cn/site/dev/impls/protocol/index.html   |  683 +++++
 .../zh-cn/site/dev/impls/proxy-factory/index.html  |  600 ++++
 .../2.7/zh-cn/site/dev/impls/registry/index.html   |  731 +++++
 .../2.7/zh-cn/site/dev/impls/remoting/index.html   |  655 +++++
 .../2.7/zh-cn/site/dev/impls/router/index.html     |  595 ++++
 .../2.7/zh-cn/site/dev/impls/serialize/index.html  |  609 ++++
 .../zh-cn/site/dev/impls/status-checker/index.html |  599 ++++
 .../zh-cn/site/dev/impls/telnet-handler/index.html |  610 ++++
 .../2.7/zh-cn/site/dev/impls/threadpool/index.html |  595 ++++
 .../2.7/zh-cn/site/dev/impls/validation/index.html |  606 ++++
 documentations/2.7/zh-cn/site/dev/index.html       |  555 ++++
 .../2.7/zh-cn/site/dev/introduction/index.html     |  550 ++++
 .../site/dev/principals/code-detail/index.html     |  570 ++++
 .../site/dev/principals/configuration/index.html   |  614 ++++
 .../2.7/zh-cn/site/dev/principals/dummy/index.html |  732 +++++
 .../site/dev/principals/expansibility/index.html   |  560 ++++
 .../zh-cn/site/dev/principals/extension/index.html |  641 +++++
 .../dev/principals/general-knowledge/index.html    |  585 ++++
 .../site/dev/principals/introduction/index.html    |  551 ++++
 .../site/dev/principals/robustness/index.html      |  598 ++++
 .../2.7/zh-cn/site/dev/release/index.html          |  581 ++++
 .../zh-cn/site/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../2.7/zh-cn/site/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../zh-cn/site/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../zh-cn/site/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../zh-cn/site/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../zh-cn/site/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../zh-cn/site/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../site/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../site/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../site/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../site/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../zh-cn/site/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../site/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../site/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../site/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../site/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../site/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../zh-cn/site/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../zh-cn/site/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../zh-cn/site/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../site/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../apache-dubbo-page_dev/index.html               |  565 ++++
 .../label-an-issue-guide_dev/index.html            |  574 ++++
 .../new-committer-guide_dev/index.html             |  616 ++++
 .../committer-guide/release-guide_dev/index.html   |  948 +++++++
 .../committer-guide/website-guide_dev/index.html   |  554 ++++
 .../become-a-committer_dev/index.html              |  557 ++++
 .../cla-signing-guide_dev/index.html               |  573 ++++
 .../dubbo-extension-guide_dev/index.html           |  584 ++++
 .../mailing-list-subscription-guide_dev/index.html |  630 +++++
 .../new-contributor-guide_dev/index.html           |  577 ++++
 .../reporting-security-issues_dev/index.html       |  563 ++++
 .../software-donation-guide_dev/index.html         |  661 +++++
 .../test-coverage-guide_dev/index.html             |  570 ++++
 .../site/developers/developers_dev/index.html      |  882 ++++++
 .../2.7/zh-cn/site/developers/guide_dev/index.html |  626 ++++
 .../site/developers/user-guide/faq_dev/index.html  |  565 ++++
 .../2.7/zh-cn/site/fonts/fontawesome-webfont.eot   |  Bin 0 -> 37405 bytes
 .../2.7/zh-cn/site/fonts/fontawesome-webfont.svg   |  399 +++
 .../2.7/zh-cn/site/fonts/fontawesome-webfont.ttf   |  Bin 0 -> 79076 bytes
 .../2.7/zh-cn/site/fonts/fontawesome-webfont.woff  |  Bin 0 -> 43572 bytes
 documentations/2.7/zh-cn/site/img/favicon.ico      |  Bin 0 -> 1150 bytes
 documentations/2.7/zh-cn/site/index.html           |  568 ++++
 .../2.7/zh-cn/site/js/jquery-2.1.1.min.js          |    4 +
 .../2.7/zh-cn/site/js/modernizr-2.8.3.min.js       |    1 +
 documentations/2.7/zh-cn/site/js/theme.js          |  105 +
 documentations/2.7/zh-cn/site/search.html          |  552 ++++
 documentations/2.7/zh-cn/site/search/lunr.js       | 2986 ++++++++++++++++++++
 documentations/2.7/zh-cn/site/search/main.js       |   96 +
 .../2.7/zh-cn/site/search/search_index.json        |    1 +
 documentations/2.7/zh-cn/site/search/worker.js     |  128 +
 documentations/2.7/zh-cn/site/sitemap.xml          |  473 ++++
 documentations/2.7/zh-cn/site/sitemap.xml.gz       |  Bin 0 -> 258 bytes
 .../adaptive-extension/index.html                  | 1246 ++++++++
 .../site/source_code_guide/cluster/index.html      | 1089 +++++++
 .../site/source_code_guide/directory/index.html    | 1042 +++++++
 .../site/source_code_guide/dubbo-spi/index.html    |  925 ++++++
 .../source_code_guide/export-service/index.html    | 1942 +++++++++++++
 .../site/source_code_guide/loadbalance/index.html  | 1277 +++++++++
 .../source_code_guide/refer-service/index.html     | 1390 +++++++++
 .../zh-cn/site/source_code_guide/router/index.html |  993 +++++++
 .../service-invoking-process/index.html            | 2476 ++++++++++++++++
 .../source_code_guide/sources/images/cluster.jpg   |  Bin 0 -> 32874 bytes
 .../images/consistent-hash-data-incline.jpg        |  Bin 0 -> 101943 bytes
 .../sources/images/consistent-hash-invoker.jpg     |  Bin 0 -> 87844 bytes
 .../sources/images/consistent-hash.jpg             |  Bin 0 -> 95740 bytes
 .../sources/images/data-format.jpg                 |  Bin 0 -> 115165 bytes
 .../sources/images/directory-inherit-hierarchy.png |  Bin 0 -> 69024 bytes
 .../sources/images/dispatcher-location.jpg         |  Bin 0 -> 89871 bytes
 .../sources/images/dubbo-spi-result.jpg            |  Bin 0 -> 33007 bytes
 .../sources/images/java-spi-result.jpg             |  Bin 0 -> 46805 bytes
 .../sources/images/request-id-application.jpg      |  Bin 0 -> 217379 bytes
 .../sources/images/send-request-process.jpg        |  Bin 0 -> 83592 bytes
 .../sources/images/send-request-thread-stack.jpg   |  Bin 0 -> 213679 bytes
 .../sources/images/service-registry.png            |  Bin 0 -> 57116 bytes
 documentations/2.7/zh-cn/site/user/LICENSE         |  201 ++
 .../2.7/zh-cn/site/user/SUMMARY/index.html         |  674 +++++
 .../2.7/zh-cn/site/user/benchmark-tool/index.html  |  577 ++++
 .../2.7/zh-cn/site/user/best-practice/index.html   |  624 ++++
 .../2.7/zh-cn/site/user/capacity-plan/index.html   |  596 ++++
 .../site/user/configuration/annotation/index.html  |  655 +++++
 .../zh-cn/site/user/configuration/api/index.html   |  695 +++++
 .../user/configuration/config-center/index.html    |  657 +++++
 .../configuration-load-process/index.html          |  743 +++++
 .../configuration/environment-variables/index.html |  614 ++++
 .../2.7/zh-cn/site/user/configuration/index.html   |  555 ++++
 .../configuration/properties-deprecated/index.html |  576 ++++
 .../site/user/configuration/properties/index.html  |  579 ++++
 .../zh-cn/site/user/configuration/xml/index.html   |  713 +++++
 .../2.7/zh-cn/site/user/coveragence/index.html     |  560 ++++
 .../demos/GooglePb-generic-reference/index.html    |  629 +++++
 .../2.7/zh-cn/site/user/demos/accesslog/index.html |  585 ++++
 .../user/demos/async-call-deprecated/index.html    |  595 ++++
 .../zh-cn/site/user/demos/async-call/index.html    |  685 +++++
 .../demos/async-execute-on-provider/index.html     |  654 +++++
 .../zh-cn/site/user/demos/attachment/index.html    |  605 ++++
 .../2.7/zh-cn/site/user/demos/auth/index.html      |  572 ++++
 .../site/user/demos/callback-parameter/index.html  |  687 +++++
 .../site/user/demos/concurrency-control/index.html |  629 +++++
 .../site/user/demos/config-connections/index.html  |  571 ++++
 .../user/demos/config-rule-deprecated/index.html   |  587 ++++
 .../zh-cn/site/user/demos/config-rule/index.html   |  764 +++++
 .../site/user/demos/consumer-threadpool/index.html |  579 ++++
 .../2.7/zh-cn/site/user/demos/context/index.html   |  617 ++++
 .../zh-cn/site/user/demos/delay-publish/index.html |  626 ++++
 .../user/demos/distributed-transaction/index.html  |  580 ++++
 .../2.7/zh-cn/site/user/demos/dump/index.html      |  588 ++++
 .../zh-cn/site/user/demos/echo-service/index.html  |  594 ++++
 .../zh-cn/site/user/demos/events-notify/index.html |  674 +++++
 .../site/user/demos/explicit-target/index.html     |  612 ++++
 .../user/demos/fault-tolerent-strategy/index.html  |  633 +++++
 .../site/user/demos/generic-reference/index.html   |  667 +++++
 .../site/user/demos/generic-service/index.html     |  620 ++++
 .../site/user/demos/graceful-shutdown/index.html   |  606 ++++
 .../zh-cn/site/user/demos/group-merger/index.html  |  619 ++++
 .../site/user/demos/hostname-binding/index.html    |  664 +++++
 .../2.7/zh-cn/site/user/demos/index.html           |  555 ++++
 .../zh-cn/site/user/demos/introduction/index.html  |  553 ++++
 .../zh-cn/site/user/demos/lazy-connect/index.html  |  582 ++++
 .../zh-cn/site/user/demos/loadbalance/index.html   |  631 +++++
 .../zh-cn/site/user/demos/local-call/index.html    |  614 ++++
 .../zh-cn/site/user/demos/local-mock/index.html    |  652 +++++
 .../zh-cn/site/user/demos/local-stub/index.html    |  611 ++++
 .../site/user/demos/logger-strategy/index.html     |  595 ++++
 .../site/user/demos/multi-protocols/index.html     |  621 ++++
 .../site/user/demos/multi-registry/index.html      |  653 +++++
 .../site/user/demos/multi-versions/index.html      |  605 ++++
 .../2.7/zh-cn/site/user/demos/netty4/index.html    |  602 ++++
 .../user/demos/parameter-validation/index.html     |  750 +++++
 .../site/user/demos/preflight-check/index.html     |  620 ++++
 .../zh-cn/site/user/demos/protobuf-idl/index.html  |  577 ++++
 .../user/demos/reference-config-cache/index.html   |  575 ++++
 .../zh-cn/site/user/demos/registry-only/index.html |  587 ++++
 .../zh-cn/site/user/demos/result-cache/index.html  |  604 ++++
 .../user/demos/routing-rule-deprecated/index.html  |  698 +++++
 .../zh-cn/site/user/demos/routing-rule/index.html  |  809 ++++++
 .../zh-cn/site/user/demos/serialization/index.html |  649 +++++
 .../site/user/demos/service-container/index.html   |  634 +++++
 .../site/user/demos/service-downgrade/index.html   |  590 ++++
 .../zh-cn/site/user/demos/service-group/index.html |  601 ++++
 .../2.7/zh-cn/site/user/demos/set-host/index.html  |  605 ++++
 .../user/demos/simplify-registry-data/index.html   |  898 ++++++
 .../site/user/demos/static-service/index.html      |  591 ++++
 .../zh-cn/site/user/demos/stickiness/index.html    |  587 ++++
 .../site/user/demos/subscribe-only/index.html      |  587 ++++
 .../zh-cn/site/user/demos/thread-model/index.html  |  600 ++++
 .../2.7/zh-cn/site/user/demos/tls/index.html       |  582 ++++
 .../site/user/demos/token-authorization/index.html |  598 ++++
 .../2.7/zh-cn/site/user/dependencies/index.html    |  631 +++++
 documentations/2.7/zh-cn/site/user/index.html      |  556 ++++
 .../user/languages/erlang/reference/index.html     |  563 ++++
 .../user/languages/erlang/serialization/index.html |  578 ++++
 .../site/user/languages/erlang/service/index.html  |  593 ++++
 .../site/user/languages/erlang/start/index.html    |  597 ++++
 .../2.7/zh-cn/site/user/maturity/index.html        | 1185 ++++++++
 .../site/user/new-features-in-a-glance/index.html  |  674 +++++
 .../2.7/zh-cn/site/user/perf-test/index.html       |  767 +++++
 .../site/user/preface/architecture/index.html      |  698 +++++
 .../zh-cn/site/user/preface/background/index.html  |  599 ++++
 .../2.7/zh-cn/site/user/preface/index.html         |  555 ++++
 .../site/user/preface/requirements/index.html      |  556 ++++
 .../2.7/zh-cn/site/user/preface/usage/index.html   |  614 ++++
 .../2.7/zh-cn/site/user/quick-start/index.html     |  684 +++++
 .../2.7/zh-cn/site/user/recommend/index.html       |  720 +++++
 .../2.7/zh-cn/site/user/references/api/index.html  |  594 ++++
 .../zh-cn/site/user/references/maven/index.html    |  592 ++++
 .../references/metadata/introduction/index.html    |  860 ++++++
 .../references/metadata/metadata-redis/index.html  |  577 ++++
 .../metadata/metadata-zookeeper/index.html         |  550 ++++
 .../site/user/references/protocol/dubbo/index.html |  702 +++++
 .../site/user/references/protocol/gRPC/index.html  |  564 ++++
 .../user/references/protocol/hessian/index.html    |  641 +++++
 .../site/user/references/protocol/http/index.html  |  633 +++++
 .../references/protocol/introduction/index.html    |  551 ++++
 .../user/references/protocol/memcached/index.html  |  579 ++++
 .../site/user/references/protocol/redis/index.html |  579 ++++
 .../site/user/references/protocol/rest/index.html  | 1152 ++++++++
 .../site/user/references/protocol/rmi/index.html   |  656 +++++
 .../user/references/protocol/thrift/index.html     |  612 ++++
 .../user/references/protocol/webservice/index.html |  636 +++++
 .../2.7/zh-cn/site/user/references/qos/index.html  |  792 ++++++
 .../references/registry/introduction/index.html    |  551 ++++
 .../user/references/registry/multicast/index.html  |  609 ++++
 .../site/user/references/registry/nacos/index.html |  631 +++++
 .../site/user/references/registry/redis/index.html |  646 +++++
 .../user/references/registry/simple/index.html     |  621 ++++
 .../user/references/registry/zookeeper/index.html  |  692 +++++
 .../zh-cn/site/user/references/telnet/index.html   |  669 +++++
 .../references/xml/dubbo-application/index.html    |  674 +++++
 .../user/references/xml/dubbo-argument/index.html  |  629 +++++
 .../references/xml/dubbo-config-center/index.html  |  710 +++++
 .../user/references/xml/dubbo-consumer/index.html  |  774 +++++
 .../user/references/xml/dubbo-method/index.html    |  759 +++++
 .../user/references/xml/dubbo-module/index.html    |  634 +++++
 .../user/references/xml/dubbo-monitor/index.html   |  614 ++++
 .../user/references/xml/dubbo-parameter/index.html |  623 ++++
 .../user/references/xml/dubbo-protocol/index.html  |  834 ++++++
 .../user/references/xml/dubbo-provider/index.html  | 1034 +++++++
 .../user/references/xml/dubbo-reference/index.html |  864 ++++++
 .../user/references/xml/dubbo-registry/index.html  |  774 +++++
 .../user/references/xml/dubbo-service/index.html   |  904 ++++++
 .../user/references/xml/introduction/index.html    |  561 ++++
 documentations/2.7/zh-cn/site/user/rest/index.html | 1549 ++++++++++
 .../2.7/zh-cn/site/user/serialization/index.html   |  814 ++++++
 .../2.7/zh-cn/site/user/simple-monitor/index.html  |  614 ++++
 .../2.7/zh-cn/site/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../2.7/zh-cn/site/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../2.7/zh-cn/site/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../2.7/zh-cn/site/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../2.7/zh-cn/site/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../2.7/zh-cn/site/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../2.7/zh-cn/site/user/sources/images/arch.png    |  Bin 0 -> 15546 bytes
 .../2.7/zh-cn/site/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../site/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../site/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../site/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../2.7/zh-cn/site/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../site/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../site/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../site/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../zh-cn/site/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../2.7/zh-cn/site/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../2.7/zh-cn/site/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../site/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../site/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../zh-cn/site/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../2.7/zh-cn/site/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../2.7/zh-cn/site/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../2.7/zh-cn/site/user/sources/images/rest.jpg    |  Bin 0 -> 206610 bytes
 .../2.7/zh-cn/site/user/sources/images/rt.png      |  Bin 0 -> 31098 bytes
 .../2.7/zh-cn/site/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../site/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../2.7/zh-cn/site/user/sources/images/tps.png     |  Bin 0 -> 33114 bytes
 .../zh-cn/site/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 .../2.7/zh-cn/site/user/versions/index.html        |  556 ++++
 .../site/user/versions/version-270/index.html      |  868 ++++++
 documentations/3.0/en-us/docs/admin/README.md      |    3 +
 documentations/3.0/en-us/docs/admin/SUMMARY.md     |    4 +
 .../3.0/en-us/docs/admin/install/admin-console.md  |   40 +
 .../3.0/en-us/docs/admin/install/consumer-demo.md  |   20 +
 .../3.0/en-us/docs/admin/install/introduction.md   |   13 +
 .../3.0/en-us/docs/admin/install/provider-demo.md  |   18 +
 .../3.0/en-us/docs/admin/install/redis.md          |   54 +
 .../docs/admin/install/simple-monitor-center.md    |    3 +
 .../docs/admin/install/simple-registry-center.md   |    1 +
 .../3.0/en-us/docs/admin/install/zookeeper.md      |   98 +
 .../3.0/en-us/docs/admin/introduction.md           |   65 +
 .../3.0/en-us/docs/admin/ops/dubbo-ops.md          |   26 +
 .../3.0/en-us/docs/admin/ops/introduction.md       |    1 +
 .../3.0/en-us/docs/admin/ops/pinpoint.md           |  411 +++
 .../3.0/en-us/docs/admin/ops/skywalking.md         |  121 +
 .../3.0/en-us/docs/admin/serviceGovernance.md      |   46 +
 .../3.0/en-us/docs/admin/serviceSearch.md          |    7 +
 documentations/3.0/en-us/docs/admin/serviceTest.md |    1 +
 .../en-us/docs/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../3.0/en-us/docs/admin/sources/images/check.gif  |  Bin 0 -> 604 bytes
 .../3.0/en-us/docs/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../3.0/en-us/docs/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../docs/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../docs/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../docs/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../docs/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../docs/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 655223 bytes
 .../docs/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 303613 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 434638 bytes
 .../docs/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../docs/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../docs/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../3.0/en-us/docs/admin/sources/images/tip.png    |  Bin 0 -> 876 bytes
 .../en-us/docs/admin/sources/images/warning-3.gif  |  Bin 0 -> 569 bytes
 .../3.0/en-us/docs/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/3.0/en-us/docs/dev/LICENSE          |  201 ++
 documentations/3.0/en-us/docs/dev/README.md        |    3 +
 documentations/3.0/en-us/docs/dev/SPI.md           |  237 ++
 documentations/3.0/en-us/docs/dev/SUMMARY.md       |   41 +
 documentations/3.0/en-us/docs/dev/TCK.md           |   19 +
 documentations/3.0/en-us/docs/dev/build.md         |   81 +
 documentations/3.0/en-us/docs/dev/checklist.md     |   19 +
 documentations/3.0/en-us/docs/dev/code-smell.md    |  205 ++
 documentations/3.0/en-us/docs/dev/coding.md        |   53 +
 documentations/3.0/en-us/docs/dev/contract.md      |   14 +
 documentations/3.0/en-us/docs/dev/contribution.md  |   89 +
 documentations/3.0/en-us/docs/dev/design.md        |   99 +
 .../3.0/en-us/docs/dev/implementation.md           |  155 +
 documentations/3.0/en-us/docs/dev/impls/cache.md   |   84 +
 documentations/3.0/en-us/docs/dev/impls/cluster.md |   74 +
 .../3.0/en-us/docs/dev/impls/compiler.md           |   55 +
 .../3.0/en-us/docs/dev/impls/config-center.md      |   96 +
 .../3.0/en-us/docs/dev/impls/container.md          |   62 +
 .../3.0/en-us/docs/dev/impls/dispatcher.md         |   62 +
 .../3.0/en-us/docs/dev/impls/exchanger.md          |   91 +
 .../3.0/en-us/docs/dev/impls/exporter-listener.md  |   66 +
 .../3.0/en-us/docs/dev/impls/extension-factory.md  |   57 +
 documentations/3.0/en-us/docs/dev/impls/filter.md  |   89 +
 .../3.0/en-us/docs/dev/impls/introduction.md       |    3 +
 .../3.0/en-us/docs/dev/impls/invoker-listener.md   |   65 +
 .../3.0/en-us/docs/dev/impls/load-balance.md       |   63 +
 .../3.0/en-us/docs/dev/impls/logger-adapter.md     |   84 +
 documentations/3.0/en-us/docs/dev/impls/merger.md  |   60 +
 documentations/3.0/en-us/docs/dev/impls/monitor.md |   75 +
 .../3.0/en-us/docs/dev/impls/networker.md          |   59 +
 documentations/3.0/en-us/docs/dev/impls/page.md    |   61 +
 .../3.0/en-us/docs/dev/impls/protocol.md           |  150 +
 .../3.0/en-us/docs/dev/impls/proxy-factory.md      |   65 +
 .../3.0/en-us/docs/dev/impls/registry.md           |  207 ++
 .../3.0/en-us/docs/dev/impls/remoting.md           |  122 +
 documentations/3.0/en-us/docs/dev/impls/router.md  |   58 +
 .../3.0/en-us/docs/dev/impls/serialize.md          |   72 +
 .../3.0/en-us/docs/dev/impls/status-checker.md     |   64 +
 .../3.0/en-us/docs/dev/impls/telnet-handler.md     |   77 +
 .../3.0/en-us/docs/dev/impls/threadpool.md         |   61 +
 .../3.0/en-us/docs/dev/impls/validation.md         |   75 +
 documentations/3.0/en-us/docs/dev/introduction.md  |    0
 .../3.0/en-us/docs/dev/principals/code-detail.md   |   36 +
 .../3.0/en-us/docs/dev/principals/configuration.md |   83 +
 .../3.0/en-us/docs/dev/principals/dummy.md         |  203 ++
 .../3.0/en-us/docs/dev/principals/expansibility.md |   18 +
 .../3.0/en-us/docs/dev/principals/extension.md     |  135 +
 .../en-us/docs/dev/principals/general-knowledge.md |   68 +
 .../3.0/en-us/docs/dev/principals/introduction.md  |    3 +
 .../3.0/en-us/docs/dev/principals/robustness.md    |   83 +
 documentations/3.0/en-us/docs/dev/release.md       |   34 +
 .../en-us/docs/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../3.0/en-us/docs/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../en-us/docs/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../en-us/docs/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../en-us/docs/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../en-us/docs/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../en-us/docs/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../docs/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../docs/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../docs/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../docs/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../en-us/docs/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../docs/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../docs/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../docs/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../docs/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../docs/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../en-us/docs/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../en-us/docs/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../en-us/docs/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../docs/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../committer-guide/apache-dubbo-page_dev.md       |   33 +
 .../committer-guide/label-an-issue-guide_dev.md    |   29 +
 .../committer-guide/new-committer-guide_dev.md     |   95 +
 .../committer-guide/release-guide_dev.md           |  500 ++++
 .../committer-guide/website-guide_dev.md           |    4 +
 .../contributor-guide/become-a-committer_dev.md    |   15 +
 .../contributor-guide/cla-signing-guide_dev.md     |   25 +
 .../contributor-guide/dubbo-extension-guide_dev.md |   37 +
 .../mailing-list-subscription-guide_dev.md         |   80 +
 .../contributor-guide/new-contributor-guide_dev.md |   62 +
 .../reporting-security-issues_dev.md               |   21 +
 .../software-donation-guide_dev.md                 |  106 +
 .../contributor-guide/test-coverage-guide_dev.md   |   16 +
 .../3.0/en-us/docs/developers/developers_dev.md    |   57 +
 .../3.0/en-us/docs/developers/guide_dev.md         |   76 +
 .../en-us/docs/developers/user-guide/faq_dev.md    |   27 +
 documentations/3.0/en-us/docs/index.md             |   15 +
 documentations/3.0/en-us/docs/user/LICENSE         |  201 ++
 documentations/3.0/en-us/docs/user/README.md       |    3 +
 documentations/3.0/en-us/docs/user/SUMMARY.md      |   94 +
 .../3.0/en-us/docs/user/benchmark-tool.md          |   34 +
 .../3.0/en-us/docs/user/best-practice.md           |   63 +
 .../3.0/en-us/docs/user/capacity-plan.md           |   17 +
 .../en-us/docs/user/configuration/annotation.md    |   94 +
 .../3.0/en-us/docs/user/configuration/api.md       |  119 +
 .../configuration/configuration-load-process.md    |  180 ++
 .../3.0/en-us/docs/user/configuration/index.md     |    1 +
 .../en-us/docs/user/configuration/properties.md    |   43 +
 .../3.0/en-us/docs/user/configuration/xml.md       |   77 +
 documentations/3.0/en-us/docs/user/coveragence.md  |   24 +
 .../3.0/en-us/docs/user/demos/accesslog.md         |   57 +
 .../en-us/docs/user/demos/async-call-deprecated.md |   59 +
 .../3.0/en-us/docs/user/demos/async-call.md        |   59 +
 .../docs/user/demos/async-execute-on-provider.md   |   90 +
 .../3.0/en-us/docs/user/demos/attachment.md        |   27 +
 .../en-us/docs/user/demos/callback-parameter.md    |  110 +
 .../en-us/docs/user/demos/concurrency-control.md   |   60 +
 .../en-us/docs/user/demos/config-connections.md    |   30 +
 .../docs/user/demos/config-rule-deprecated.md      |   47 +
 .../3.0/en-us/docs/user/demos/config-rule.md       |   47 +
 .../3.0/en-us/docs/user/demos/context.md           |   39 +
 .../3.0/en-us/docs/user/demos/delay-publish.md     |   50 +
 .../docs/user/demos/distributed-transaction.md     |    7 +
 documentations/3.0/en-us/docs/user/demos/dump.md   |   19 +
 .../3.0/en-us/docs/user/demos/echo-service.md      |   25 +
 .../3.0/en-us/docs/user/demos/events-notify.md     |   95 +
 .../3.0/en-us/docs/user/demos/explicit-target.md   |   37 +
 .../docs/user/demos/fault-tolerent-strategy.md     |   75 +
 .../3.0/en-us/docs/user/demos/generic-reference.md |   97 +
 .../3.0/en-us/docs/user/demos/generic-service.md   |   45 +
 .../3.0/en-us/docs/user/demos/graceful-shutdown.md |   30 +
 .../3.0/en-us/docs/user/demos/group-merger.md      |   54 +
 .../3.0/en-us/docs/user/demos/hostname-binding.md  |   58 +
 documentations/3.0/en-us/docs/user/demos/index.md  |    1 +
 .../3.0/en-us/docs/user/demos/introduction.md      |    2 +
 .../3.0/en-us/docs/user/demos/lazy-connect.md      |    9 +
 .../3.0/en-us/docs/user/demos/loadbalance.md       |   64 +
 .../3.0/en-us/docs/user/demos/local-call.md        |   48 +
 .../3.0/en-us/docs/user/demos/local-mock.md        |  100 +
 .../3.0/en-us/docs/user/demos/local-stub.md        |   47 +
 .../3.0/en-us/docs/user/demos/logger-strategy.md   |   23 +
 .../3.0/en-us/docs/user/demos/multi-protocols.md   |   45 +
 .../3.0/en-us/docs/user/demos/multi-registry.md    |   83 +
 .../3.0/en-us/docs/user/demos/multi-versions.md    |   42 +
 documentations/3.0/en-us/docs/user/demos/netty4.md |   35 +
 .../en-us/docs/user/demos/parameter-validation.md  |  183 ++
 .../3.0/en-us/docs/user/demos/preflight-check.md   |   56 +
 .../docs/user/demos/reference-config-cache.md      |   38 +
 .../3.0/en-us/docs/user/demos/registry-only.md     |   19 +
 .../3.0/en-us/docs/user/demos/result-cache.md      |   28 +
 .../3.0/en-us/docs/user/demos/routing-rule.md      |  193 ++
 .../3.0/en-us/docs/user/demos/serialization.md     |   77 +
 .../3.0/en-us/docs/user/demos/service-container.md |   61 +
 .../3.0/en-us/docs/user/demos/service-downgrade.md |   19 +
 .../3.0/en-us/docs/user/demos/service-group.md     |   27 +
 .../3.0/en-us/docs/user/demos/static-service.md    |   27 +
 .../3.0/en-us/docs/user/demos/stickiness.md        |   17 +
 .../3.0/en-us/docs/user/demos/subscribe-only.md    |   19 +
 .../3.0/en-us/docs/user/demos/thread-model.md      |   34 +
 .../en-us/docs/user/demos/token-authorization.md   |   46 +
 documentations/3.0/en-us/docs/user/dependencies.md |   58 +
 .../en-us/docs/user/languages/erlang/reference.md  |   15 +
 .../docs/user/languages/erlang/serialization.md    |   17 +
 .../en-us/docs/user/languages/erlang/service.md    |   22 +
 .../3.0/en-us/docs/user/languages/erlang/start.md  |   62 +
 documentations/3.0/en-us/docs/user/maturity.md     |   93 +
 documentations/3.0/en-us/docs/user/perf-test.md    |  168 ++
 .../3.0/en-us/docs/user/preface/architecture.md    |   66 +
 .../3.0/en-us/docs/user/preface/background.md      |   21 +
 .../3.0/en-us/docs/user/preface/index.md           |    1 +
 .../3.0/en-us/docs/user/preface/requirements.md    |   13 +
 .../3.0/en-us/docs/user/preface/usage.md           |   39 +
 documentations/3.0/en-us/docs/user/quick-start.md  |  252 ++
 documentations/3.0/en-us/docs/user/recommend.md    |  169 ++
 .../3.0/en-us/docs/user/references/api.md          |   63 +
 .../3.0/en-us/docs/user/references/maven.md        |   19 +
 .../docs/user/references/metadata/introduction.md  |  369 +++
 .../en-us/docs/user/references/protocol/dubbo.md   |  110 +
 .../en-us/docs/user/references/protocol/hessian.md |   70 +
 .../en-us/docs/user/references/protocol/http.md    |   58 +
 .../docs/user/references/protocol/introduction.md  |    5 +
 .../docs/user/references/protocol/memcached.md     |   42 +
 .../en-us/docs/user/references/protocol/redis.md   |   42 +
 .../en-us/docs/user/references/protocol/rest.md    |  741 +++++
 .../3.0/en-us/docs/user/references/protocol/rmi.md |   82 +
 .../en-us/docs/user/references/protocol/thrift.md  |   32 +
 .../docs/user/references/protocol/webservice.md    |  113 +
 .../3.0/en-us/docs/user/references/qos.md          |  227 ++
 .../docs/user/references/registry/introduction.md  |    3 +
 .../docs/user/references/registry/multicast.md     |   38 +
 .../en-us/docs/user/references/registry/nacos.md   |  122 +
 .../en-us/docs/user/references/registry/redis.md   |   73 +
 .../en-us/docs/user/references/registry/simple.md  |   49 +
 .../docs/user/references/registry/zookeeper.md     |  154 +
 .../3.0/en-us/docs/user/references/telnet.md       |  104 +
 .../docs/user/references/xml/dubbo-application.md  |   14 +
 .../docs/user/references/xml/dubbo-argument.md     |   14 +
 .../user/references/xml/dubbo-config-center.md     |   19 +
 .../docs/user/references/xml/dubbo-consumer.md     |   24 +
 .../en-us/docs/user/references/xml/dubbo-method.md |   30 +
 .../en-us/docs/user/references/xml/dubbo-module.md |   10 +
 .../docs/user/references/xml/dubbo-monitor.md      |    8 +
 .../docs/user/references/xml/dubbo-parameter.md    |   22 +
 .../docs/user/references/xml/dubbo-protocol.md     |   30 +
 .../docs/user/references/xml/dubbo-provider.md     |   50 +
 .../docs/user/references/xml/dubbo-reference.md    |   39 +
 .../docs/user/references/xml/dubbo-registry.md     |   30 +
 .../docs/user/references/xml/dubbo-service.md      |   37 +
 .../en-us/docs/user/references/xml/introduction.md |   16 +
 documentations/3.0/en-us/docs/user/rest.md         | 1227 ++++++++
 .../3.0/en-us/docs/user/simple-monitor.md          |   84 +
 .../3.0/en-us/docs/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../3.0/en-us/docs/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../3.0/en-us/docs/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../3.0/en-us/docs/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../3.0/en-us/docs/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../3.0/en-us/docs/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../3.0/en-us/docs/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../docs/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../docs/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../docs/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality2.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality3.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality4.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-quality6.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-quality7.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../3.0/en-us/docs/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../docs/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../docs/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../docs/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../en-us/docs/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../3.0/en-us/docs/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../3.0/en-us/docs/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../docs/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../docs/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../en-us/docs/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../3.0/en-us/docs/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../3.0/en-us/docs/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../3.0/en-us/docs/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../docs/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../en-us/docs/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 documentations/3.0/en-us/mkdocs.yml                |  117 +
 documentations/3.0/en-us/site/404.html             |  359 +++
 .../3.0/en-us/site/admin/SUMMARY/index.html        |  371 +++
 documentations/3.0/en-us/site/admin/index.html     |  369 +++
 .../site/admin/install/admin-console/index.html    |  391 +++
 .../site/admin/install/consumer-demo/index.html    |  377 +++
 .../site/admin/install/introduction/index.html     |  370 +++
 .../site/admin/install/provider-demo/index.html    |  376 +++
 .../3.0/en-us/site/admin/install/redis/index.html  |  401 +++
 .../admin/install/simple-monitor-center/index.html |  365 +++
 .../install/simple-registry-center/index.html      |  364 +++
 .../en-us/site/admin/install/zookeeper/index.html  |  433 +++
 .../3.0/en-us/site/admin/introduction/index.html   |  427 +++
 .../3.0/en-us/site/admin/ops/dubbo-ops/index.html  |  375 +++
 .../en-us/site/admin/ops/introduction/index.html   |  364 +++
 .../3.0/en-us/site/admin/ops/pinpoint/index.html   |  747 +++++
 .../3.0/en-us/site/admin/ops/skywalking/index.html |  463 +++
 .../en-us/site/admin/serviceGovernance/index.html  |  401 +++
 .../3.0/en-us/site/admin/serviceSearch/index.html  |  368 +++
 .../3.0/en-us/site/admin/serviceTest/index.html    |  364 +++
 .../en-us/site/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../3.0/en-us/site/admin/sources/images/check.gif  |  Bin 0 -> 604 bytes
 .../3.0/en-us/site/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../3.0/en-us/site/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../site/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../site/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../site/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../site/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../site/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 655223 bytes
 .../site/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 303613 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 434638 bytes
 .../site/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../site/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../site/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../3.0/en-us/site/admin/sources/images/tip.png    |  Bin 0 -> 876 bytes
 .../en-us/site/admin/sources/images/warning-3.gif  |  Bin 0 -> 569 bytes
 .../3.0/en-us/site/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/3.0/en-us/site/css/theme.css        |   12 +
 documentations/3.0/en-us/site/css/theme_extra.css  |  197 ++
 documentations/3.0/en-us/site/dev/LICENSE          |  201 ++
 documentations/3.0/en-us/site/dev/SPI/index.html   |  540 ++++
 .../3.0/en-us/site/dev/SUMMARY/index.html          |  406 +++
 documentations/3.0/en-us/site/dev/TCK/index.html   |  377 +++
 documentations/3.0/en-us/site/dev/build/index.html |  414 +++
 .../3.0/en-us/site/dev/checklist/index.html        |  382 +++
 .../3.0/en-us/site/dev/code-smell/index.html       |  506 ++++
 .../3.0/en-us/site/dev/coding/index.html           |  414 +++
 .../3.0/en-us/site/dev/contract/index.html         |  376 +++
 .../3.0/en-us/site/dev/contribution/index.html     |  728 +++++
 .../3.0/en-us/site/dev/design/index.html           |  445 +++
 .../3.0/en-us/site/dev/implementation/index.html   |  454 +++
 .../3.0/en-us/site/dev/impls/cache/index.html      |  430 +++
 .../3.0/en-us/site/dev/impls/cluster/index.html    |  423 +++
 .../3.0/en-us/site/dev/impls/compiler/index.html   |  404 +++
 .../en-us/site/dev/impls/config-center/index.html  |  440 +++
 .../3.0/en-us/site/dev/impls/container/index.html  |  411 +++
 .../3.0/en-us/site/dev/impls/dispatcher/index.html |  411 +++
 .../3.0/en-us/site/dev/impls/exchanger/index.html  |  436 +++
 .../site/dev/impls/exporter-listener/index.html    |  412 +++
 .../site/dev/impls/extension-factory/index.html    |  406 +++
 .../3.0/en-us/site/dev/impls/filter/index.html     |  438 +++
 .../en-us/site/dev/impls/introduction/index.html   |  365 +++
 .../site/dev/impls/invoker-listener/index.html     |  412 +++
 .../en-us/site/dev/impls/load-balance/index.html   |  412 +++
 .../en-us/site/dev/impls/logger-adapter/index.html |  429 +++
 .../3.0/en-us/site/dev/impls/merger/index.html     |  408 +++
 .../3.0/en-us/site/dev/impls/monitor/index.html    |  422 +++
 .../3.0/en-us/site/dev/impls/networker/index.html  |  408 +++
 .../3.0/en-us/site/dev/impls/page/index.html       |  410 +++
 .../3.0/en-us/site/dev/impls/protocol/index.html   |  496 ++++
 .../en-us/site/dev/impls/proxy-factory/index.html  |  414 +++
 .../3.0/en-us/site/dev/impls/registry/index.html   |  547 ++++
 .../3.0/en-us/site/dev/impls/remoting/index.html   |  469 +++
 .../3.0/en-us/site/dev/impls/router/index.html     |  409 +++
 .../3.0/en-us/site/dev/impls/serialize/index.html  |  423 +++
 .../en-us/site/dev/impls/status-checker/index.html |  413 +++
 .../en-us/site/dev/impls/telnet-handler/index.html |  424 +++
 .../3.0/en-us/site/dev/impls/threadpool/index.html |  409 +++
 .../3.0/en-us/site/dev/impls/validation/index.html |  420 +++
 documentations/3.0/en-us/site/dev/index.html       |  370 +++
 .../3.0/en-us/site/dev/introduction/index.html     |  364 +++
 .../site/dev/principals/code-detail/index.html     |  384 +++
 .../site/dev/principals/configuration/index.html   |  416 +++
 .../3.0/en-us/site/dev/principals/dummy/index.html |  545 ++++
 .../site/dev/principals/expansibility/index.html   |  374 +++
 .../en-us/site/dev/principals/extension/index.html |  454 +++
 .../dev/principals/general-knowledge/index.html    |  398 +++
 .../site/dev/principals/introduction/index.html    |  365 +++
 .../site/dev/principals/robustness/index.html      |  412 +++
 .../3.0/en-us/site/dev/release/index.html          |  395 +++
 .../en-us/site/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../3.0/en-us/site/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../en-us/site/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../en-us/site/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../en-us/site/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../en-us/site/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../en-us/site/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../site/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../site/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../site/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../site/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../en-us/site/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../site/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../site/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../site/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../site/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../site/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../en-us/site/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../en-us/site/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../en-us/site/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../site/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../apache-dubbo-page_dev/index.html               |  398 +++
 .../label-an-issue-guide_dev/index.html            |  396 +++
 .../new-committer-guide_dev/index.html             |  440 +++
 .../committer-guide/release-guide_dev/index.html   |  795 ++++++
 .../committer-guide/website-guide_dev/index.html   |  368 +++
 .../become-a-committer_dev/index.html              |  371 +++
 .../cla-signing-guide_dev/index.html               |  385 +++
 .../dubbo-extension-guide_dev/index.html           |  397 +++
 .../mailing-list-subscription-guide_dev/index.html |  444 +++
 .../new-contributor-guide_dev/index.html           |  411 +++
 .../reporting-security-issues_dev/index.html       |  377 +++
 .../software-donation-guide_dev/index.html         |  463 +++
 .../test-coverage-guide_dev/index.html             |  384 +++
 .../site/developers/developers_dev/index.html      |  696 +++++
 .../3.0/en-us/site/developers/guide_dev/index.html |  437 +++
 .../site/developers/user-guide/faq_dev/index.html  |  385 +++
 .../3.0/en-us/site/fonts/fontawesome-webfont.eot   |  Bin 0 -> 37405 bytes
 .../3.0/en-us/site/fonts/fontawesome-webfont.svg   |  399 +++
 .../3.0/en-us/site/fonts/fontawesome-webfont.ttf   |  Bin 0 -> 79076 bytes
 .../3.0/en-us/site/fonts/fontawesome-webfont.woff  |  Bin 0 -> 43572 bytes
 documentations/3.0/en-us/site/img/favicon.ico      |  Bin 0 -> 1150 bytes
 documentations/3.0/en-us/site/index.html           |  383 +++
 .../3.0/en-us/site/js/jquery-2.1.1.min.js          |    4 +
 .../3.0/en-us/site/js/modernizr-2.8.3.min.js       |    1 +
 documentations/3.0/en-us/site/js/theme.js          |  105 +
 documentations/3.0/en-us/site/search.html          |  366 +++
 documentations/3.0/en-us/site/search/lunr.js       | 2986 ++++++++++++++++++++
 documentations/3.0/en-us/site/search/main.js       |   96 +
 .../3.0/en-us/site/search/search_index.json        |    1 +
 documentations/3.0/en-us/site/search/worker.js     |  128 +
 documentations/3.0/en-us/site/sitemap.xml          |  278 ++
 documentations/3.0/en-us/site/sitemap.xml.gz       |  Bin 0 -> 195 bytes
 documentations/3.0/en-us/site/user/LICENSE         |  201 ++
 .../3.0/en-us/site/user/SUMMARY/index.html         |  471 +++
 .../3.0/en-us/site/user/benchmark-tool/index.html  |  403 +++
 .../3.0/en-us/site/user/best-practice/index.html   |  395 +++
 .../3.0/en-us/site/user/capacity-plan/index.html   |  379 +++
 .../site/user/configuration/annotation/index.html  |  433 +++
 .../en-us/site/user/configuration/api/index.html   |  470 +++
 .../configuration-load-process/index.html          |  521 ++++
 .../3.0/en-us/site/user/configuration/index.html   |  369 +++
 .../site/user/configuration/properties/index.html  |  399 +++
 .../en-us/site/user/configuration/xml/index.html   |  475 ++++
 .../3.0/en-us/site/user/coveragence/index.html     |  379 +++
 .../3.0/en-us/site/user/demos/accesslog/index.html |  412 +++
 .../user/demos/async-call-deprecated/index.html    |  416 +++
 .../en-us/site/user/demos/async-call/index.html    |  411 +++
 .../demos/async-execute-on-provider/index.html     |  433 +++
 .../en-us/site/user/demos/attachment/index.html    |  382 +++
 .../site/user/demos/callback-parameter/index.html  |  460 +++
 .../site/user/demos/concurrency-control/index.html |  416 +++
 .../site/user/demos/config-connections/index.html  |  387 +++
 .../user/demos/config-rule-deprecated/index.html   |  399 +++
 .../en-us/site/user/demos/config-rule/index.html   |  399 +++
 .../3.0/en-us/site/user/demos/context/index.html   |  394 +++
 .../en-us/site/user/demos/delay-publish/index.html |  402 +++
 .../user/demos/distributed-transaction/index.html  |  367 +++
 .../3.0/en-us/site/user/demos/dump/index.html      |  379 +++
 .../en-us/site/user/demos/echo-service/index.html  |  381 +++
 .../en-us/site/user/demos/events-notify/index.html |  442 +++
 .../site/user/demos/explicit-target/index.html     |  386 +++
 .../user/demos/fault-tolerent-strategy/index.html  |  410 +++
 .../site/user/demos/generic-reference/index.html   |  444 +++
 .../site/user/demos/generic-service/index.html     |  399 +++
 .../site/user/demos/graceful-shutdown/index.html   |  385 +++
 .../en-us/site/user/demos/group-merger/index.html  |  401 +++
 .../site/user/demos/hostname-binding/index.html    |  441 +++
 .../3.0/en-us/site/user/demos/index.html           |  369 +++
 .../en-us/site/user/demos/introduction/index.html  |  367 +++
 .../en-us/site/user/demos/lazy-connect/index.html  |  369 +++
 .../en-us/site/user/demos/loadbalance/index.html   |  411 +++
 .../en-us/site/user/demos/local-call/index.html    |  393 +++
 .../en-us/site/user/demos/local-mock/index.html    |  433 +++
 .../en-us/site/user/demos/local-stub/index.html    |  399 +++
 .../site/user/demos/logger-strategy/index.html     |  383 +++
 .../site/user/demos/multi-protocols/index.html     |  401 +++
 .../site/user/demos/multi-registry/index.html      |  432 +++
 .../site/user/demos/multi-versions/index.html      |  392 +++
 .../3.0/en-us/site/user/demos/netty4/index.html    |  392 +++
 .../user/demos/parameter-validation/index.html     |  526 ++++
 .../site/user/demos/preflight-check/index.html     |  400 +++
 .../user/demos/reference-config-cache/index.html   |  389 +++
 .../en-us/site/user/demos/registry-only/index.html |  376 +++
 .../en-us/site/user/demos/result-cache/index.html  |  383 +++
 .../en-us/site/user/demos/routing-rule/index.html  |  515 ++++
 .../en-us/site/user/demos/serialization/index.html |  426 +++
 .../site/user/demos/service-container/index.html   |  412 +++
 .../site/user/demos/service-downgrade/index.html   |  380 +++
 .../en-us/site/user/demos/service-group/index.html |  380 +++
 .../site/user/demos/static-service/index.html      |  382 +++
 .../en-us/site/user/demos/stickiness/index.html    |  374 +++
 .../site/user/demos/subscribe-only/index.html      |  374 +++
 .../en-us/site/user/demos/thread-model/index.html  |  389 +++
 .../site/user/demos/token-authorization/index.html |  395 +++
 .../3.0/en-us/site/user/dependencies/index.html    |  416 +++
 documentations/3.0/en-us/site/user/index.html      |  370 +++
 .../user/languages/erlang/reference/index.html     |  377 +++
 .../user/languages/erlang/serialization/index.html |  391 +++
 .../site/user/languages/erlang/service/index.html  |  407 +++
 .../site/user/languages/erlang/start/index.html    |  412 +++
 .../3.0/en-us/site/user/maturity/index.html        |  968 +++++++
 .../3.0/en-us/site/user/perf-test/index.html       |  696 +++++
 .../site/user/preface/architecture/index.html      |  469 +++
 .../en-us/site/user/preface/background/index.html  |  374 +++
 .../3.0/en-us/site/user/preface/index.html         |  369 +++
 .../site/user/preface/requirements/index.html      |  370 +++
 .../3.0/en-us/site/user/preface/usage/index.html   |  393 +++
 .../3.0/en-us/site/user/quick-start/index.html     |  567 ++++
 .../3.0/en-us/site/user/recommend/index.html       |  498 ++++
 .../3.0/en-us/site/user/references/api/index.html  |  408 +++
 .../en-us/site/user/references/maven/index.html    |  375 +++
 .../references/metadata/introduction/index.html    |  674 +++++
 .../site/user/references/protocol/dubbo/index.html |  468 +++
 .../user/references/protocol/hessian/index.html    |  414 +++
 .../site/user/references/protocol/http/index.html  |  409 +++
 .../references/protocol/introduction/index.html    |  365 +++
 .../user/references/protocol/memcached/index.html  |  388 +++
 .../site/user/references/protocol/redis/index.html |  388 +++
 .../site/user/references/protocol/rest/index.html  |  933 ++++++
 .../site/user/references/protocol/rmi/index.html   |  423 +++
 .../user/references/protocol/thrift/index.html     |  384 +++
 .../user/references/protocol/webservice/index.html |  448 +++
 .../3.0/en-us/site/user/references/qos/index.html  |  566 ++++
 .../references/registry/introduction/index.html    |  365 +++
 .../user/references/registry/multicast/index.html  |  390 +++
 .../site/user/references/registry/nacos/index.html |  445 +++
 .../site/user/references/registry/redis/index.html |  421 +++
 .../user/references/registry/simple/index.html     |  400 +++
 .../user/references/registry/zookeeper/index.html  |  467 +++
 .../en-us/site/user/references/telnet/index.html   |  453 +++
 .../references/xml/dubbo-application/index.html    |  461 +++
 .../user/references/xml/dubbo-argument/index.html  |  416 +++
 .../references/xml/dubbo-config-center/index.html  |  497 ++++
 .../user/references/xml/dubbo-consumer/index.html  |  561 ++++
 .../user/references/xml/dubbo-method/index.html    |  546 ++++
 .../user/references/xml/dubbo-module/index.html    |  421 +++
 .../user/references/xml/dubbo-monitor/index.html   |  401 +++
 .../user/references/xml/dubbo-parameter/index.html |  410 +++
 .../user/references/xml/dubbo-protocol/index.html  |  621 ++++
 .../user/references/xml/dubbo-provider/index.html  |  821 ++++++
 .../user/references/xml/dubbo-reference/index.html |  651 +++++
 .../user/references/xml/dubbo-registry/index.html  |  561 ++++
 .../user/references/xml/dubbo-service/index.html   |  691 +++++
 .../user/references/xml/introduction/index.html    |  375 +++
 documentations/3.0/en-us/site/user/rest/index.html | 1379 +++++++++
 .../3.0/en-us/site/user/simple-monitor/index.html  |  428 +++
 .../3.0/en-us/site/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../3.0/en-us/site/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../3.0/en-us/site/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../3.0/en-us/site/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../3.0/en-us/site/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../3.0/en-us/site/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../3.0/en-us/site/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../site/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../site/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../site/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality2.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality3.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality4.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-quality6.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-quality7.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../3.0/en-us/site/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../site/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../site/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../site/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../en-us/site/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../3.0/en-us/site/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../3.0/en-us/site/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../site/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../site/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../en-us/site/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../3.0/en-us/site/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../3.0/en-us/site/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../3.0/en-us/site/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../site/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../en-us/site/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 documentations/3.0/zh-cn/docs/admin/LICENSE        |  201 ++
 documentations/3.0/zh-cn/docs/admin/README.md      |    1 +
 documentations/3.0/zh-cn/docs/admin/SUMMARY.md     |    4 +
 .../3.0/zh-cn/docs/admin/install/admin-console.md  |   40 +
 .../3.0/zh-cn/docs/admin/install/consumer-demo.md  |   21 +
 .../3.0/zh-cn/docs/admin/install/introduction.md   |   13 +
 .../3.0/zh-cn/docs/admin/install/provider-demo.md  |   19 +
 .../3.0/zh-cn/docs/admin/install/redis.md          |   54 +
 .../docs/admin/install/simple-monitor-center.md    |    3 +
 .../docs/admin/install/simple-registry-center.md   |    2 +
 .../3.0/zh-cn/docs/admin/install/zookeeper.md      |   98 +
 .../3.0/zh-cn/docs/admin/introduction.md           |   65 +
 .../3.0/zh-cn/docs/admin/ops/dubbo-ops.md          |   25 +
 .../3.0/zh-cn/docs/admin/ops/introduction.md       |    1 +
 .../3.0/zh-cn/docs/admin/ops/pinpoint.md           |  415 +++
 .../3.0/zh-cn/docs/admin/ops/skywalking.md         |  133 +
 .../3.0/zh-cn/docs/admin/serviceGovernance.md      |   42 +
 .../3.0/zh-cn/docs/admin/serviceSearch.md          |    7 +
 documentations/3.0/zh-cn/docs/admin/serviceTest.md |    1 +
 .../zh-cn/docs/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../3.0/zh-cn/docs/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../3.0/zh-cn/docs/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../docs/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../docs/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../docs/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../docs/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../docs/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 693731 bytes
 .../docs/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 317984 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 480963 bytes
 .../docs/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../docs/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../docs/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../3.0/zh-cn/docs/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/3.0/zh-cn/docs/dev/LICENSE          |  201 ++
 documentations/3.0/zh-cn/docs/dev/README.md        |    1 +
 documentations/3.0/zh-cn/docs/dev/SPI.md           |  237 ++
 documentations/3.0/zh-cn/docs/dev/SUMMARY.md       |   50 +
 documentations/3.0/zh-cn/docs/dev/TCK.md           |   19 +
 documentations/3.0/zh-cn/docs/dev/build.md         |   80 +
 documentations/3.0/zh-cn/docs/dev/checklist.md     |   27 +
 documentations/3.0/zh-cn/docs/dev/code-smell.md    |  205 ++
 documentations/3.0/zh-cn/docs/dev/coding.md        |   53 +
 documentations/3.0/zh-cn/docs/dev/contract.md      |   14 +
 documentations/3.0/zh-cn/docs/dev/contribution.md  |   45 +
 documentations/3.0/zh-cn/docs/dev/design.md        |   99 +
 .../3.0/zh-cn/docs/dev/implementation.md           |  226 ++
 documentations/3.0/zh-cn/docs/dev/impls/cache.md   |   83 +
 documentations/3.0/zh-cn/docs/dev/impls/cluster.md |   74 +
 .../3.0/zh-cn/docs/dev/impls/compiler.md           |   55 +
 .../3.0/zh-cn/docs/dev/impls/config-center.md      |   97 +
 .../3.0/zh-cn/docs/dev/impls/container.md          |   62 +
 .../3.0/zh-cn/docs/dev/impls/dispatcher.md         |   62 +
 .../3.0/zh-cn/docs/dev/impls/exchanger.md          |   90 +
 .../3.0/zh-cn/docs/dev/impls/exporter-listener.md  |   66 +
 .../3.0/zh-cn/docs/dev/impls/extension-factory.md  |   57 +
 documentations/3.0/zh-cn/docs/dev/impls/filter.md  |   89 +
 .../3.0/zh-cn/docs/dev/impls/introduction.md       |    3 +
 .../3.0/zh-cn/docs/dev/impls/invoker-listener.md   |   64 +
 .../3.0/zh-cn/docs/dev/impls/load-balance.md       |   63 +
 .../3.0/zh-cn/docs/dev/impls/logger-adapter.md     |   84 +
 documentations/3.0/zh-cn/docs/dev/impls/merger.md  |   60 +
 documentations/3.0/zh-cn/docs/dev/impls/monitor.md |   75 +
 .../3.0/zh-cn/docs/dev/impls/networker.md          |   59 +
 documentations/3.0/zh-cn/docs/dev/impls/page.md    |   61 +
 .../3.0/zh-cn/docs/dev/impls/protocol.md           |  151 +
 .../3.0/zh-cn/docs/dev/impls/proxy-factory.md      |   65 +
 .../3.0/zh-cn/docs/dev/impls/registry.md           |  205 ++
 .../3.0/zh-cn/docs/dev/impls/remoting.md           |  122 +
 documentations/3.0/zh-cn/docs/dev/impls/router.md  |   58 +
 .../3.0/zh-cn/docs/dev/impls/serialize.md          |   72 +
 .../3.0/zh-cn/docs/dev/impls/status-checker.md     |   64 +
 .../3.0/zh-cn/docs/dev/impls/telnet-handler.md     |   77 +
 .../3.0/zh-cn/docs/dev/impls/threadpool.md         |   61 +
 .../3.0/zh-cn/docs/dev/impls/validation.md         |   75 +
 documentations/3.0/zh-cn/docs/dev/introduction.md  |    1 +
 .../3.0/zh-cn/docs/dev/principals/code-detail.md   |   35 +
 .../3.0/zh-cn/docs/dev/principals/configuration.md |   97 +
 .../3.0/zh-cn/docs/dev/principals/dummy.md         |  204 ++
 .../3.0/zh-cn/docs/dev/principals/expansibility.md |   18 +
 .../3.0/zh-cn/docs/dev/principals/extension.md     |  136 +
 .../zh-cn/docs/dev/principals/general-knowledge.md |   69 +
 .../3.0/zh-cn/docs/dev/principals/introduction.md  |    3 +
 .../3.0/zh-cn/docs/dev/principals/robustness.md    |   84 +
 documentations/3.0/zh-cn/docs/dev/release.md       |   34 +
 .../zh-cn/docs/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../3.0/zh-cn/docs/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../zh-cn/docs/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../zh-cn/docs/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../zh-cn/docs/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../zh-cn/docs/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../zh-cn/docs/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../docs/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../docs/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../docs/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../docs/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../zh-cn/docs/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../docs/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../docs/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../docs/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../docs/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../docs/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../zh-cn/docs/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../zh-cn/docs/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../zh-cn/docs/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../docs/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../committer-guide/apache-dubbo-page_dev.md       |   28 +
 .../committer-guide/label-an-issue-guide_dev.md    |   27 +
 .../committer-guide/new-committer-guide_dev.md     |    0
 .../committer-guide/release-guide_dev.md           |  477 ++++
 .../committer-guide/website-guide_dev.md           |    5 +
 .../contributor-guide/become-a-committer_dev.md    |   15 +
 .../contributor-guide/cla-signing-guide_dev.md     |   24 +
 .../contributor-guide/dubbo-extension-guide_dev.md |   47 +
 .../mailing-list-subscription-guide_dev.md         |   80 +
 .../contributor-guide/new-contributor-guide_dev.md |   38 +
 .../reporting-security-issues_dev.md               |   21 +
 .../software-donation-guide_dev.md                 |  112 +
 .../contributor-guide/test-coverage-guide_dev.md   |   16 +
 .../3.0/zh-cn/docs/developers/developers_dev.md    |   58 +
 .../3.0/zh-cn/docs/developers/guide_dev.md         |   82 +
 .../zh-cn/docs/developers/user-guide/faq_dev.md    |   25 +
 documentations/3.0/zh-cn/docs/index.md             |   15 +
 .../docs/source_code_guide/adaptive-extension.md   |  788 ++++++
 .../3.0/zh-cn/docs/source_code_guide/cluster.md    |  606 ++++
 .../3.0/zh-cn/docs/source_code_guide/directory.md  |  542 ++++
 .../3.0/zh-cn/docs/source_code_guide/dubbo-spi.md  |  432 +++
 .../zh-cn/docs/source_code_guide/export-service.md | 1518 ++++++++++
 .../zh-cn/docs/source_code_guide/loadbalance.md    |  767 +++++
 .../zh-cn/docs/source_code_guide/refer-service.md  |  899 ++++++
 .../3.0/zh-cn/docs/source_code_guide/router.md     |  468 +++
 .../source_code_guide/service-invoking-process.md  | 1974 +++++++++++++
 .../source_code_guide/sources/images/cluster.jpg   |  Bin 0 -> 32874 bytes
 .../images/consistent-hash-data-incline.jpg        |  Bin 0 -> 101943 bytes
 .../sources/images/consistent-hash-invoker.jpg     |  Bin 0 -> 87844 bytes
 .../sources/images/consistent-hash.jpg             |  Bin 0 -> 95740 bytes
 .../sources/images/data-format.jpg                 |  Bin 0 -> 115165 bytes
 .../sources/images/directory-inherit-hierarchy.png |  Bin 0 -> 69024 bytes
 .../sources/images/dispatcher-location.jpg         |  Bin 0 -> 89871 bytes
 .../sources/images/dubbo-spi-result.jpg            |  Bin 0 -> 33007 bytes
 .../sources/images/java-spi-result.jpg             |  Bin 0 -> 46805 bytes
 .../sources/images/request-id-application.jpg      |  Bin 0 -> 217379 bytes
 .../sources/images/send-request-process.jpg        |  Bin 0 -> 83592 bytes
 .../sources/images/send-request-thread-stack.jpg   |  Bin 0 -> 213679 bytes
 .../sources/images/service-registry.png            |  Bin 0 -> 57116 bytes
 documentations/3.0/zh-cn/docs/user/LICENSE         |  201 ++
 documentations/3.0/zh-cn/docs/user/README.md       |    3 +
 documentations/3.0/zh-cn/docs/user/SUMMARY.md      |  110 +
 .../3.0/zh-cn/docs/user/benchmark-tool.md          |   28 +
 .../3.0/zh-cn/docs/user/best-practice.md           |   69 +
 .../3.0/zh-cn/docs/user/capacity-plan.md           |   23 +
 .../zh-cn/docs/user/configuration/annotation.md    |   95 +
 .../3.0/zh-cn/docs/user/configuration/api.md       |  121 +
 .../zh-cn/docs/user/configuration/config-center.md |  150 +
 .../configuration/configuration-load-process.md    |  181 ++
 .../user/configuration/environment-variables.md    |   31 +
 .../3.0/zh-cn/docs/user/configuration/index.md     |    1 +
 .../user/configuration/properties-deprecated.md    |   42 +
 .../zh-cn/docs/user/configuration/properties.md    |   37 +
 .../3.0/zh-cn/docs/user/configuration/xml.md       |   91 +
 documentations/3.0/zh-cn/docs/user/coveragence.md  |   16 +
 .../docs/user/demos/GooglePb-generic-reference.md  |   80 +
 .../3.0/zh-cn/docs/user/demos/accesslog.md         |   15 +
 .../zh-cn/docs/user/demos/async-call-deprecated.md |   57 +
 .../3.0/zh-cn/docs/user/demos/async-call.md        |  134 +
 .../docs/user/demos/async-execute-on-provider.md   |   95 +
 .../3.0/zh-cn/docs/user/demos/attachment.md        |   30 +
 documentations/3.0/zh-cn/docs/user/demos/auth.md   |   28 +
 .../zh-cn/docs/user/demos/callback-parameter.md    |  112 +
 .../zh-cn/docs/user/demos/concurrency-control.md   |   68 +
 .../zh-cn/docs/user/demos/config-connections.md    |   35 +
 .../docs/user/demos/config-rule-deprecated.md      |   48 +
 .../3.0/zh-cn/docs/user/demos/config-rule.md       |  181 ++
 .../zh-cn/docs/user/demos/consumer-threadpool.md   |   41 +
 .../3.0/zh-cn/docs/user/demos/context.md           |   40 +
 .../3.0/zh-cn/docs/user/demos/delay-publish.md     |   53 +
 .../docs/user/demos/distributed-transaction.md     |    9 +
 documentations/3.0/zh-cn/docs/user/demos/dump.md   |   18 +
 .../3.0/zh-cn/docs/user/demos/echo-service.md      |   25 +
 .../3.0/zh-cn/docs/user/demos/events-notify.md     |   97 +
 .../3.0/zh-cn/docs/user/demos/explicit-target.md   |   41 +
 .../docs/user/demos/fault-tolerent-strategy.md     |   78 +
 .../3.0/zh-cn/docs/user/demos/generic-reference.md |   97 +
 .../3.0/zh-cn/docs/user/demos/generic-service.md   |   45 +
 .../3.0/zh-cn/docs/user/demos/graceful-shutdown.md |   30 +
 .../3.0/zh-cn/docs/user/demos/group-merger.md      |   54 +
 .../3.0/zh-cn/docs/user/demos/hostname-binding.md  |   58 +
 documentations/3.0/zh-cn/docs/user/demos/index.md  |    1 +
 .../3.0/zh-cn/docs/user/demos/introduction.md      |    2 +
 .../3.0/zh-cn/docs/user/demos/lazy-connect.md      |    9 +
 .../3.0/zh-cn/docs/user/demos/loadbalance.md       |   60 +
 .../3.0/zh-cn/docs/user/demos/local-call.md        |   46 +
 .../3.0/zh-cn/docs/user/demos/local-mock.md        |  100 +
 .../3.0/zh-cn/docs/user/demos/local-stub.md        |   44 +
 .../3.0/zh-cn/docs/user/demos/logger-strategy.md   |   23 +
 .../3.0/zh-cn/docs/user/demos/multi-protocols.md   |   47 +
 .../3.0/zh-cn/docs/user/demos/multi-registry.md    |   84 +
 .../3.0/zh-cn/docs/user/demos/multi-versions.md    |   41 +
 documentations/3.0/zh-cn/docs/user/demos/netty4.md |   35 +
 .../zh-cn/docs/user/demos/parameter-validation.md  |  183 ++
 .../3.0/zh-cn/docs/user/demos/preflight-check.md   |   55 +
 .../3.0/zh-cn/docs/user/demos/protobuf-idl.md      |   31 +
 .../docs/user/demos/reference-config-cache.md      |   37 +
 .../3.0/zh-cn/docs/user/demos/registry-only.md     |   17 +
 .../3.0/zh-cn/docs/user/demos/result-cache.md      |   28 +
 .../docs/user/demos/routing-rule-deprecated.md     |  193 ++
 .../3.0/zh-cn/docs/user/demos/routing-rule.md      |  250 ++
 .../3.0/zh-cn/docs/user/demos/serialization.md     |   80 +
 .../3.0/zh-cn/docs/user/demos/service-container.md |   61 +
 .../3.0/zh-cn/docs/user/demos/service-downgrade.md |   18 +
 .../3.0/zh-cn/docs/user/demos/service-group.md     |   25 +
 .../3.0/zh-cn/docs/user/demos/set-host.md          |   59 +
 .../docs/user/demos/simplify-registry-data.md      |  232 ++
 .../3.0/zh-cn/docs/user/demos/static-service.md    |   25 +
 .../3.0/zh-cn/docs/user/demos/stickiness.md        |   18 +
 .../3.0/zh-cn/docs/user/demos/subscribe-only.md    |   19 +
 .../3.0/zh-cn/docs/user/demos/thread-model.md      |   31 +
 documentations/3.0/zh-cn/docs/user/demos/tls.md    |   44 +
 .../zh-cn/docs/user/demos/token-authorization.md   |   31 +
 documentations/3.0/zh-cn/docs/user/dependencies.md |   64 +
 .../zh-cn/docs/user/languages/erlang/reference.md  |   15 +
 .../docs/user/languages/erlang/serialization.md    |   21 +
 .../zh-cn/docs/user/languages/erlang/service.md    |   22 +
 .../3.0/zh-cn/docs/user/languages/erlang/start.md  |   60 +
 documentations/3.0/zh-cn/docs/user/maturity.md     |  100 +
 .../zh-cn/docs/user/new-features-in-a-glance.md    |   48 +
 documentations/3.0/zh-cn/docs/user/perf-test.md    |  172 ++
 .../3.0/zh-cn/docs/user/preface/architecture.md    |   66 +
 .../3.0/zh-cn/docs/user/preface/background.md      |   25 +
 .../3.0/zh-cn/docs/user/preface/index.md           |    1 +
 .../3.0/zh-cn/docs/user/preface/requirements.md    |   19 +
 .../3.0/zh-cn/docs/user/preface/usage.md           |   39 +
 documentations/3.0/zh-cn/docs/user/quick-start.md  |  138 +
 documentations/3.0/zh-cn/docs/user/recommend.md    |  171 ++
 .../3.0/zh-cn/docs/user/references/api.md          |   62 +
 .../3.0/zh-cn/docs/user/references/maven.md        |   19 +
 .../docs/user/references/metadata/introduction.md  |  368 +++
 .../user/references/metadata/metadata-redis.md     |    1 +
 .../user/references/metadata/metadata-zookeeper.md |    1 +
 .../zh-cn/docs/user/references/protocol/dubbo.md   |  123 +
 .../zh-cn/docs/user/references/protocol/gRPC.md    |   19 +
 .../zh-cn/docs/user/references/protocol/hessian.md |   68 +
 .../zh-cn/docs/user/references/protocol/http.md    |   57 +
 .../docs/user/references/protocol/introduction.md  |    3 +
 .../docs/user/references/protocol/memcached.md     |   44 +
 .../zh-cn/docs/user/references/protocol/redis.md   |   44 +
 .../zh-cn/docs/user/references/protocol/rest.md    |  741 +++++
 .../3.0/zh-cn/docs/user/references/protocol/rmi.md |   85 +
 .../zh-cn/docs/user/references/protocol/thrift.md  |   35 +
 .../docs/user/references/protocol/webservice.md    |  110 +
 .../3.0/zh-cn/docs/user/references/qos.md          |  241 ++
 .../docs/user/references/registry/introduction.md  |    3 +
 .../docs/user/references/registry/multicast.md     |   38 +
 .../zh-cn/docs/user/references/registry/nacos.md   |  130 +
 .../zh-cn/docs/user/references/registry/redis.md   |   76 +
 .../zh-cn/docs/user/references/registry/simple.md  |   49 +
 .../docs/user/references/registry/zookeeper.md     |  151 +
 .../3.0/zh-cn/docs/user/references/telnet.md       |  105 +
 .../docs/user/references/xml/dubbo-application.md  |   14 +
 .../docs/user/references/xml/dubbo-argument.md     |   14 +
 .../user/references/xml/dubbo-config-center.md     |   19 +
 .../docs/user/references/xml/dubbo-consumer.md     |   24 +
 .../zh-cn/docs/user/references/xml/dubbo-method.md |   30 +
 .../zh-cn/docs/user/references/xml/dubbo-module.md |   10 +
 .../docs/user/references/xml/dubbo-monitor.md      |    8 +
 .../docs/user/references/xml/dubbo-parameter.md    |   22 +
 .../docs/user/references/xml/dubbo-protocol.md     |   30 +
 .../docs/user/references/xml/dubbo-provider.md     |   50 +
 .../docs/user/references/xml/dubbo-reference.md    |   33 +
 .../docs/user/references/xml/dubbo-registry.md     |   30 +
 .../docs/user/references/xml/dubbo-service.md      |   37 +
 .../zh-cn/docs/user/references/xml/introduction.md |   15 +
 documentations/3.0/zh-cn/docs/user/rest.md         | 1216 ++++++++
 .../3.0/zh-cn/docs/user/serialization.md           |  225 ++
 .../3.0/zh-cn/docs/user/simple-monitor.md          |   84 +
 .../3.0/zh-cn/docs/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../3.0/zh-cn/docs/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../3.0/zh-cn/docs/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../3.0/zh-cn/docs/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../3.0/zh-cn/docs/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../3.0/zh-cn/docs/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../3.0/zh-cn/docs/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../docs/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../docs/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../docs/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../docs/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../docs/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../3.0/zh-cn/docs/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../docs/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../docs/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../docs/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../zh-cn/docs/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../3.0/zh-cn/docs/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../3.0/zh-cn/docs/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../docs/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../docs/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../zh-cn/docs/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../3.0/zh-cn/docs/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../3.0/zh-cn/docs/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../3.0/zh-cn/docs/user/sources/images/rest.jpg    |  Bin 0 -> 206610 bytes
 .../3.0/zh-cn/docs/user/sources/images/rt.png      |  Bin 0 -> 31098 bytes
 .../3.0/zh-cn/docs/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../docs/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../3.0/zh-cn/docs/user/sources/images/tps.png     |  Bin 0 -> 33114 bytes
 .../zh-cn/docs/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 .../3.0/zh-cn/docs/user/versions/index.md          |    3 +
 .../3.0/zh-cn/docs/user/versions/version-270.md    |  286 ++
 documentations/3.0/zh-cn/mkdocs.yml                |  117 +
 documentations/3.0/zh-cn/site/404.html             |  359 +++
 documentations/3.0/zh-cn/site/admin/LICENSE        |  201 ++
 .../3.0/zh-cn/site/admin/SUMMARY/index.html        |  371 +++
 documentations/3.0/zh-cn/site/admin/index.html     |  369 +++
 .../site/admin/install/admin-console/index.html    |  389 +++
 .../site/admin/install/consumer-demo/index.html    |  377 +++
 .../site/admin/install/introduction/index.html     |  370 +++
 .../site/admin/install/provider-demo/index.html    |  376 +++
 .../3.0/zh-cn/site/admin/install/redis/index.html  |  401 +++
 .../admin/install/simple-monitor-center/index.html |  365 +++
 .../install/simple-registry-center/index.html      |  364 +++
 .../zh-cn/site/admin/install/zookeeper/index.html  |  433 +++
 .../3.0/zh-cn/site/admin/introduction/index.html   |  425 +++
 .../3.0/zh-cn/site/admin/ops/dubbo-ops/index.html  |  376 +++
 .../zh-cn/site/admin/ops/introduction/index.html   |  364 +++
 .../3.0/zh-cn/site/admin/ops/pinpoint/index.html   |  755 +++++
 .../3.0/zh-cn/site/admin/ops/skywalking/index.html |  475 ++++
 .../zh-cn/site/admin/serviceGovernance/index.html  |  397 +++
 .../3.0/zh-cn/site/admin/serviceSearch/index.html  |  368 +++
 .../3.0/zh-cn/site/admin/serviceTest/index.html    |  364 +++
 .../zh-cn/site/admin/sources/images/blackList.jpg  |  Bin 0 -> 99079 bytes
 .../3.0/zh-cn/site/admin/sources/images/config.jpg |  Bin 0 -> 137909 bytes
 .../3.0/zh-cn/site/admin/sources/images/detail.jpg |  Bin 0 -> 188392 bytes
 .../site/admin/sources/images/dubbo-add-config.jpg |  Bin 0 -> 303596 bytes
 .../site/admin/sources/images/dubbo-add-route.jpg  |  Bin 0 -> 330146 bytes
 .../admin/sources/images/dubbo-applications.png    |  Bin 0 -> 93036 bytes
 .../site/admin/sources/images/dubbo-consumers.jpg  |  Bin 0 -> 274307 bytes
 .../admin/sources/images/dubbo-monitor-simple.jpg  |  Bin 0 -> 87670 bytes
 .../site/admin/sources/images/dubbo-providers.jpg  |  Bin 0 -> 272674 bytes
 .../site/admin/sources/images/dubbo-search.jpg     |  Bin 0 -> 224751 bytes
 .../admin/sources/images/pinpoint-calltree.png     |  Bin 0 -> 693731 bytes
 .../site/admin/sources/images/pinpoint-home.png    |  Bin 0 -> 317984 bytes
 .../admin/sources/images/pinpoint-mixedview.png    |  Bin 0 -> 480963 bytes
 .../site/admin/sources/images/searchResult.png     |  Bin 0 -> 168461 bytes
 .../site/admin/sources/images/skywalking-alarm.png |  Bin 0 -> 181739 bytes
 .../sources/images/skywalking-application.png      |  Bin 0 -> 229539 bytes
 .../images/skywalking-application_instance.png     |  Bin 0 -> 203651 bytes
 .../admin/sources/images/skywalking-dashboard.png  |  Bin 0 -> 257273 bytes
 .../sources/images/skywalking-service-consumer.png |  Bin 0 -> 282541 bytes
 .../sources/images/skywalking-service-provider.png |  Bin 0 -> 366038 bytes
 .../admin/sources/images/skywalking-span-Info.png  |  Bin 0 -> 192403 bytes
 .../admin/sources/images/skywalking-topology.png   |  Bin 0 -> 173667 bytes
 .../site/admin/sources/images/skywalking-trace.png |  Bin 0 -> 217096 bytes
 .../3.0/zh-cn/site/admin/sources/images/weight.jpg |  Bin 0 -> 89265 bytes
 documentations/3.0/zh-cn/site/css/theme.css        |   12 +
 documentations/3.0/zh-cn/site/css/theme_extra.css  |  197 ++
 documentations/3.0/zh-cn/site/dev/LICENSE          |  201 ++
 documentations/3.0/zh-cn/site/dev/SPI/index.html   |  540 ++++
 .../3.0/zh-cn/site/dev/SUMMARY/index.html          |  417 +++
 documentations/3.0/zh-cn/site/dev/TCK/index.html   |  377 +++
 documentations/3.0/zh-cn/site/dev/build/index.html |  414 +++
 .../3.0/zh-cn/site/dev/checklist/index.html        |  390 +++
 .../3.0/zh-cn/site/dev/code-smell/index.html       |  506 ++++
 .../3.0/zh-cn/site/dev/coding/index.html           |  414 +++
 .../3.0/zh-cn/site/dev/contract/index.html         |  376 +++
 .../3.0/zh-cn/site/dev/contribution/index.html     |  683 +++++
 .../3.0/zh-cn/site/dev/design/index.html           |  445 +++
 .../3.0/zh-cn/site/dev/implementation/index.html   |  529 ++++
 .../3.0/zh-cn/site/dev/impls/cache/index.html      |  429 +++
 .../3.0/zh-cn/site/dev/impls/cluster/index.html    |  423 +++
 .../3.0/zh-cn/site/dev/impls/compiler/index.html   |  404 +++
 .../zh-cn/site/dev/impls/config-center/index.html  |  441 +++
 .../3.0/zh-cn/site/dev/impls/container/index.html  |  411 +++
 .../3.0/zh-cn/site/dev/impls/dispatcher/index.html |  411 +++
 .../3.0/zh-cn/site/dev/impls/exchanger/index.html  |  436 +++
 .../site/dev/impls/exporter-listener/index.html    |  412 +++
 .../site/dev/impls/extension-factory/index.html    |  406 +++
 .../3.0/zh-cn/site/dev/impls/filter/index.html     |  438 +++
 .../zh-cn/site/dev/impls/introduction/index.html   |  365 +++
 .../site/dev/impls/invoker-listener/index.html     |  411 +++
 .../zh-cn/site/dev/impls/load-balance/index.html   |  412 +++
 .../zh-cn/site/dev/impls/logger-adapter/index.html |  429 +++
 .../3.0/zh-cn/site/dev/impls/merger/index.html     |  408 +++
 .../3.0/zh-cn/site/dev/impls/monitor/index.html    |  422 +++
 .../3.0/zh-cn/site/dev/impls/networker/index.html  |  408 +++
 .../3.0/zh-cn/site/dev/impls/page/index.html       |  410 +++
 .../3.0/zh-cn/site/dev/impls/protocol/index.html   |  497 ++++
 .../zh-cn/site/dev/impls/proxy-factory/index.html  |  414 +++
 .../3.0/zh-cn/site/dev/impls/registry/index.html   |  545 ++++
 .../3.0/zh-cn/site/dev/impls/remoting/index.html   |  469 +++
 .../3.0/zh-cn/site/dev/impls/router/index.html     |  409 +++
 .../3.0/zh-cn/site/dev/impls/serialize/index.html  |  423 +++
 .../zh-cn/site/dev/impls/status-checker/index.html |  413 +++
 .../zh-cn/site/dev/impls/telnet-handler/index.html |  424 +++
 .../3.0/zh-cn/site/dev/impls/threadpool/index.html |  409 +++
 .../3.0/zh-cn/site/dev/impls/validation/index.html |  420 +++
 documentations/3.0/zh-cn/site/dev/index.html       |  369 +++
 .../3.0/zh-cn/site/dev/introduction/index.html     |  364 +++
 .../site/dev/principals/code-detail/index.html     |  384 +++
 .../site/dev/principals/configuration/index.html   |  428 +++
 .../3.0/zh-cn/site/dev/principals/dummy/index.html |  546 ++++
 .../site/dev/principals/expansibility/index.html   |  374 +++
 .../zh-cn/site/dev/principals/extension/index.html |  455 +++
 .../dev/principals/general-knowledge/index.html    |  399 +++
 .../site/dev/principals/introduction/index.html    |  365 +++
 .../site/dev/principals/robustness/index.html      |  412 +++
 .../3.0/zh-cn/site/dev/release/index.html          |  395 +++
 .../zh-cn/site/dev/sources/images/close-expand.jpg |  Bin 0 -> 19287 bytes
 .../dev/sources/images/configuration-override.png  |  Bin 0 -> 11422 bytes
 .../3.0/zh-cn/site/dev/sources/images/ddd.jpg      |  Bin 0 -> 19358 bytes
 .../zh-cn/site/dev/sources/images/design-step1.png |  Bin 0 -> 121672 bytes
 .../zh-cn/site/dev/sources/images/design-step2.png |  Bin 0 -> 141298 bytes
 .../zh-cn/site/dev/sources/images/design-step3.png |  Bin 0 -> 165828 bytes
 .../zh-cn/site/dev/sources/images/design-step4.png |  Bin 0 -> 240786 bytes
 .../zh-cn/site/dev/sources/images/dubbo-export.jpg |  Bin 0 -> 70132 bytes
 .../site/dev/sources/images/dubbo-extension.jpg    |  Bin 0 -> 112692 bytes
 .../site/dev/sources/images/dubbo-framework.jpg    |  Bin 0 -> 219759 bytes
 .../site/dev/sources/images/dubbo-modules.jpg      |  Bin 0 -> 25411 bytes
 .../site/dev/sources/images/dubbo-protocol.jpg     |  Bin 0 -> 19340 bytes
 .../zh-cn/site/dev/sources/images/dubbo-refer.jpg  |  Bin 0 -> 105967 bytes
 .../site/dev/sources/images/dubbo-relation.jpg     |  Bin 0 -> 30304 bytes
 .../dev/sources/images/dubbo_protocol_header.png   |  Bin 0 -> 74833 bytes
 .../site/dev/sources/images/dubbo_rpc_export.jpg   |  Bin 0 -> 47624 bytes
 .../site/dev/sources/images/dubbo_rpc_invoke.jpg   |  Bin 0 -> 45874 bytes
 .../site/dev/sources/images/dubbo_rpc_refer.jpg    |  Bin 0 -> 50211 bytes
 .../site/dev/sources/images/event-listener.jpg     |  Bin 0 -> 13192 bytes
 .../zh-cn/site/dev/sources/images/filter-chain.jpg |  Bin 0 -> 41029 bytes
 .../zh-cn/site/dev/sources/images/mix-api-spi.jpg  |  Bin 0 -> 17004 bytes
 .../zh-cn/site/dev/sources/images/open-expand.jpg  |  Bin 0 -> 10549 bytes
 .../site/dev/sources/images/seperate-api-spi.jpg   |  Bin 0 -> 23683 bytes
 .../apache-dubbo-page_dev/index.html               |  379 +++
 .../label-an-issue-guide_dev/index.html            |  388 +++
 .../new-committer-guide_dev/index.html             |  430 +++
 .../committer-guide/release-guide_dev/index.html   |  762 +++++
 .../committer-guide/website-guide_dev/index.html   |  368 +++
 .../become-a-committer_dev/index.html              |  371 +++
 .../cla-signing-guide_dev/index.html               |  387 +++
 .../dubbo-extension-guide_dev/index.html           |  398 +++
 .../mailing-list-subscription-guide_dev/index.html |  444 +++
 .../new-contributor-guide_dev/index.html           |  391 +++
 .../reporting-security-issues_dev/index.html       |  377 +++
 .../software-donation-guide_dev/index.html         |  475 ++++
 .../test-coverage-guide_dev/index.html             |  384 +++
 .../site/developers/developers_dev/index.html      |  696 +++++
 .../3.0/zh-cn/site/developers/guide_dev/index.html |  440 +++
 .../site/developers/user-guide/faq_dev/index.html  |  379 +++
 .../3.0/zh-cn/site/fonts/fontawesome-webfont.eot   |  Bin 0 -> 37405 bytes
 .../3.0/zh-cn/site/fonts/fontawesome-webfont.svg   |  399 +++
 .../3.0/zh-cn/site/fonts/fontawesome-webfont.ttf   |  Bin 0 -> 79076 bytes
 .../3.0/zh-cn/site/fonts/fontawesome-webfont.woff  |  Bin 0 -> 43572 bytes
 documentations/3.0/zh-cn/site/img/favicon.ico      |  Bin 0 -> 1150 bytes
 documentations/3.0/zh-cn/site/index.html           |  383 +++
 .../3.0/zh-cn/site/js/jquery-2.1.1.min.js          |    4 +
 .../3.0/zh-cn/site/js/modernizr-2.8.3.min.js       |    1 +
 documentations/3.0/zh-cn/site/js/theme.js          |  105 +
 documentations/3.0/zh-cn/site/search.html          |  366 +++
 documentations/3.0/zh-cn/site/search/lunr.js       | 2986 ++++++++++++++++++++
 documentations/3.0/zh-cn/site/search/main.js       |   96 +
 .../3.0/zh-cn/site/search/search_index.json        |    1 +
 documentations/3.0/zh-cn/site/search/worker.js     |  128 +
 documentations/3.0/zh-cn/site/sitemap.xml          |  278 ++
 documentations/3.0/zh-cn/site/sitemap.xml.gz       |  Bin 0 -> 195 bytes
 .../adaptive-extension/index.html                  | 1060 +++++++
 .../site/source_code_guide/cluster/index.html      |  903 ++++++
 .../site/source_code_guide/directory/index.html    |  856 ++++++
 .../site/source_code_guide/dubbo-spi/index.html    |  739 +++++
 .../source_code_guide/export-service/index.html    | 1756 ++++++++++++
 .../site/source_code_guide/loadbalance/index.html  | 1091 +++++++
 .../source_code_guide/refer-service/index.html     | 1204 ++++++++
 .../zh-cn/site/source_code_guide/router/index.html |  807 ++++++
 .../service-invoking-process/index.html            | 2290 +++++++++++++++
 .../source_code_guide/sources/images/cluster.jpg   |  Bin 0 -> 32874 bytes
 .../images/consistent-hash-data-incline.jpg        |  Bin 0 -> 101943 bytes
 .../sources/images/consistent-hash-invoker.jpg     |  Bin 0 -> 87844 bytes
 .../sources/images/consistent-hash.jpg             |  Bin 0 -> 95740 bytes
 .../sources/images/data-format.jpg                 |  Bin 0 -> 115165 bytes
 .../sources/images/directory-inherit-hierarchy.png |  Bin 0 -> 69024 bytes
 .../sources/images/dispatcher-location.jpg         |  Bin 0 -> 89871 bytes
 .../sources/images/dubbo-spi-result.jpg            |  Bin 0 -> 33007 bytes
 .../sources/images/java-spi-result.jpg             |  Bin 0 -> 46805 bytes
 .../sources/images/request-id-application.jpg      |  Bin 0 -> 217379 bytes
 .../sources/images/send-request-process.jpg        |  Bin 0 -> 83592 bytes
 .../sources/images/send-request-thread-stack.jpg   |  Bin 0 -> 213679 bytes
 .../sources/images/service-registry.png            |  Bin 0 -> 57116 bytes
 documentations/3.0/zh-cn/site/user/LICENSE         |  201 ++
 .../3.0/zh-cn/site/user/SUMMARY/index.html         |  488 ++++
 .../3.0/zh-cn/site/user/benchmark-tool/index.html  |  391 +++
 .../3.0/zh-cn/site/user/best-practice/index.html   |  395 +++
 .../3.0/zh-cn/site/user/capacity-plan/index.html   |  379 +++
 .../site/user/configuration/annotation/index.html  |  434 +++
 .../zh-cn/site/user/configuration/api/index.html   |  472 ++++
 .../user/configuration/config-center/index.html    |  471 +++
 .../configuration-load-process/index.html          |  520 ++++
 .../configuration/environment-variables/index.html |  389 +++
 .../3.0/zh-cn/site/user/configuration/index.html   |  369 +++
 .../configuration/properties-deprecated/index.html |  390 +++
 .../site/user/configuration/properties/index.html  |  393 +++
 .../zh-cn/site/user/configuration/xml/index.html   |  488 ++++
 .../3.0/zh-cn/site/user/coveragence/index.html     |  374 +++
 .../demos/GooglePb-generic-reference/index.html    |  443 +++
 .../3.0/zh-cn/site/user/demos/accesslog/index.html |  372 +++
 .../user/demos/async-call-deprecated/index.html    |  409 +++
 .../zh-cn/site/user/demos/async-call/index.html    |  462 +++
 .../demos/async-execute-on-provider/index.html     |  433 +++
 .../zh-cn/site/user/demos/attachment/index.html    |  384 +++
 .../3.0/zh-cn/site/user/demos/auth/index.html      |  386 +++
 .../site/user/demos/callback-parameter/index.html  |  460 +++
 .../site/user/demos/concurrency-control/index.html |  408 +++
 .../site/user/demos/config-connections/index.html  |  385 +++
 .../user/demos/config-rule-deprecated/index.html   |  401 +++
 .../zh-cn/site/user/demos/config-rule/index.html   |  543 ++++
 .../site/user/demos/consumer-threadpool/index.html |  393 +++
 .../3.0/zh-cn/site/user/demos/context/index.html   |  396 +++
 .../zh-cn/site/user/demos/delay-publish/index.html |  403 +++
 .../user/demos/distributed-transaction/index.html  |  367 +++
 .../3.0/zh-cn/site/user/demos/dump/index.html      |  378 +++
 .../zh-cn/site/user/demos/echo-service/index.html  |  381 +++
 .../zh-cn/site/user/demos/events-notify/index.html |  443 +++
 .../site/user/demos/explicit-target/index.html     |  389 +++
 .../user/demos/fault-tolerent-strategy/index.html  |  412 +++
 .../site/user/demos/generic-reference/index.html   |  444 +++
 .../site/user/demos/generic-service/index.html     |  399 +++
 .../site/user/demos/graceful-shutdown/index.html   |  385 +++
 .../zh-cn/site/user/demos/group-merger/index.html  |  400 +++
 .../site/user/demos/hostname-binding/index.html    |  441 +++
 .../3.0/zh-cn/site/user/demos/index.html           |  369 +++
 .../zh-cn/site/user/demos/introduction/index.html  |  367 +++
 .../zh-cn/site/user/demos/lazy-connect/index.html  |  369 +++
 .../zh-cn/site/user/demos/loadbalance/index.html   |  410 +++
 .../zh-cn/site/user/demos/local-call/index.html    |  393 +++
 .../zh-cn/site/user/demos/local-mock/index.html    |  433 +++
 .../zh-cn/site/user/demos/local-stub/index.html    |  398 +++
 .../site/user/demos/logger-strategy/index.html     |  382 +++
 .../site/user/demos/multi-protocols/index.html     |  400 +++
 .../site/user/demos/multi-registry/index.html      |  430 +++
 .../site/user/demos/multi-versions/index.html      |  392 +++
 .../3.0/zh-cn/site/user/demos/netty4/index.html    |  392 +++
 .../user/demos/parameter-validation/index.html     |  525 ++++
 .../site/user/demos/preflight-check/index.html     |  399 +++
 .../zh-cn/site/user/demos/protobuf-idl/index.html  |  391 +++
 .../user/demos/reference-config-cache/index.html   |  389 +++
 .../zh-cn/site/user/demos/registry-only/index.html |  374 +++
 .../zh-cn/site/user/demos/result-cache/index.html  |  383 +++
 .../user/demos/routing-rule-deprecated/index.html  |  512 ++++
 .../zh-cn/site/user/demos/routing-rule/index.html  |  588 ++++
 .../zh-cn/site/user/demos/serialization/index.html |  428 +++
 .../site/user/demos/service-container/index.html   |  413 +++
 .../site/user/demos/service-downgrade/index.html   |  377 +++
 .../zh-cn/site/user/demos/service-group/index.html |  380 +++
 .../3.0/zh-cn/site/user/demos/set-host/index.html  |  419 +++
 .../user/demos/simplify-registry-data/index.html   |  662 +++++
 .../site/user/demos/static-service/index.html      |  378 +++
 .../zh-cn/site/user/demos/stickiness/index.html    |  374 +++
 .../site/user/demos/subscribe-only/index.html      |  374 +++
 .../zh-cn/site/user/demos/thread-model/index.html  |  387 +++
 .../3.0/zh-cn/site/user/demos/tls/index.html       |  396 +++
 .../site/user/demos/token-authorization/index.html |  385 +++
 .../3.0/zh-cn/site/user/dependencies/index.html    |  412 +++
 documentations/3.0/zh-cn/site/user/index.html      |  370 +++
 .../user/languages/erlang/reference/index.html     |  377 +++
 .../user/languages/erlang/serialization/index.html |  392 +++
 .../site/user/languages/erlang/service/index.html  |  407 +++
 .../site/user/languages/erlang/start/index.html    |  411 +++
 .../3.0/zh-cn/site/user/maturity/index.html        |  968 +++++++
 .../site/user/new-features-in-a-glance/index.html  |  488 ++++
 .../3.0/zh-cn/site/user/perf-test/index.html       |  546 ++++
 .../site/user/preface/architecture/index.html      |  469 +++
 .../zh-cn/site/user/preface/background/index.html  |  374 +++
 .../3.0/zh-cn/site/user/preface/index.html         |  369 +++
 .../site/user/preface/requirements/index.html      |  370 +++
 .../3.0/zh-cn/site/user/preface/usage/index.html   |  393 +++
 .../3.0/zh-cn/site/user/quick-start/index.html     |  467 +++
 .../3.0/zh-cn/site/user/recommend/index.html       |  495 ++++
 .../3.0/zh-cn/site/user/references/api/index.html  |  408 +++
 .../zh-cn/site/user/references/maven/index.html    |  375 +++
 .../references/metadata/introduction/index.html    |  674 +++++
 .../references/metadata/metadata-redis/index.html  |  364 +++
 .../metadata/metadata-zookeeper/index.html         |  364 +++
 .../site/user/references/protocol/dubbo/index.html |  477 ++++
 .../site/user/references/protocol/gRPC/index.html  |  378 +++
 .../user/references/protocol/hessian/index.html    |  416 +++
 .../site/user/references/protocol/http/index.html  |  410 +++
 .../references/protocol/introduction/index.html    |  365 +++
 .../user/references/protocol/memcached/index.html  |  393 +++
 .../site/user/references/protocol/redis/index.html |  393 +++
 .../site/user/references/protocol/rest/index.html  |  933 ++++++
 .../site/user/references/protocol/rmi/index.html   |  427 +++
 .../user/references/protocol/thrift/index.html     |  387 +++
 .../user/references/protocol/webservice/index.html |  450 +++
 .../3.0/zh-cn/site/user/references/qos/index.html  |  569 ++++
 .../references/registry/introduction/index.html    |  365 +++
 .../user/references/registry/multicast/index.html  |  390 +++
 .../site/user/references/registry/nacos/index.html |  445 +++
 .../site/user/references/registry/redis/index.html |  421 +++
 .../user/references/registry/simple/index.html     |  400 +++
 .../user/references/registry/zookeeper/index.html  |  467 +++
 .../zh-cn/site/user/references/telnet/index.html   |  452 +++
 .../references/xml/dubbo-application/index.html    |  461 +++
 .../user/references/xml/dubbo-argument/index.html  |  416 +++
 .../references/xml/dubbo-config-center/index.html  |  497 ++++
 .../user/references/xml/dubbo-consumer/index.html  |  561 ++++
 .../user/references/xml/dubbo-method/index.html    |  546 ++++
 .../user/references/xml/dubbo-module/index.html    |  421 +++
 .../user/references/xml/dubbo-monitor/index.html   |  401 +++
 .../user/references/xml/dubbo-parameter/index.html |  410 +++
 .../user/references/xml/dubbo-protocol/index.html  |  621 ++++
 .../user/references/xml/dubbo-provider/index.html  |  821 ++++++
 .../user/references/xml/dubbo-reference/index.html |  651 +++++
 .../user/references/xml/dubbo-registry/index.html  |  561 ++++
 .../user/references/xml/dubbo-service/index.html   |  691 +++++
 .../user/references/xml/introduction/index.html    |  375 +++
 documentations/3.0/zh-cn/site/user/rest/index.html | 1363 +++++++++
 .../3.0/zh-cn/site/user/serialization/index.html   |  628 ++++
 .../3.0/zh-cn/site/user/simple-monitor/index.html  |  428 +++
 .../3.0/zh-cn/site/user/sources/images/1kres.png   |  Bin 0 -> 39384 bytes
 .../3.0/zh-cn/site/user/sources/images/1ktps.png   |  Bin 0 -> 38814 bytes
 .../3.0/zh-cn/site/user/sources/images/200kres.png |  Bin 0 -> 39229 bytes
 .../3.0/zh-cn/site/user/sources/images/200ktps.png |  Bin 0 -> 38997 bytes
 .../3.0/zh-cn/site/user/sources/images/50kres.png  |  Bin 0 -> 39733 bytes
 .../3.0/zh-cn/site/user/sources/images/50ktps.png  |  Bin 0 -> 39723 bytes
 .../3.0/zh-cn/site/user/sources/images/cluster.jpg |  Bin 0 -> 32874 bytes
 .../site/user/sources/images/code-coverage.jpg     |  Bin 0 -> 141776 bytes
 .../site/user/sources/images/code-dependency.jpg   |  Bin 0 -> 138868 bytes
 .../site/user/sources/images/code-quality1.jpg     |  Bin 0 -> 56913 bytes
 .../site/user/sources/images/code-quality5.jpg     |  Bin 0 -> 41672 bytes
 .../site/user/sources/images/code-tendency.jpg     |  Bin 0 -> 54729 bytes
 .../3.0/zh-cn/site/user/sources/images/context.png |  Bin 0 -> 46114 bytes
 .../sources/images/dubbo-architecture-future.jpg   |  Bin 0 -> 55605 bytes
 .../sources/images/dubbo-architecture-roadmap.jpg  |  Bin 0 -> 33931 bytes
 .../user/sources/images/dubbo-architecture.jpg     |  Bin 0 -> 18810 bytes
 .../user/sources/images/dubbo-config-override.jpg  |  Bin 0 -> 68132 bytes
 .../site/user/sources/images/dubbo-config.jpg      |  Bin 0 -> 69630 bytes
 .../site/user/sources/images/dubbo-directly.jpg    |  Bin 0 -> 38922 bytes
 .../sources/images/dubbo-properties-override.jpg   |  Bin 0 -> 24590 bytes
 .../site/user/sources/images/dubbo-protocol.jpg    |  Bin 0 -> 19340 bytes
 .../user/sources/images/dubbo-redis-registry.jpg   |  Bin 0 -> 47205 bytes
 .../sources/images/dubbo-service-governance.jpg    |  Bin 0 -> 67000 bytes
 .../zh-cn/site/user/sources/images/dubbo-token.jpg |  Bin 0 -> 17153 bytes
 .../3.0/zh-cn/site/user/sources/images/future.jpg  |  Bin 0 -> 20793 bytes
 .../3.0/zh-cn/site/user/sources/images/jta-xa.jpg  |  Bin 0 -> 37931 bytes
 .../site/user/sources/images/lock-get-bean.jpg     |  Bin 0 -> 109801 bytes
 .../site/user/sources/images/lock-init-context.jpg |  Bin 0 -> 39227 bytes
 .../zh-cn/site/user/sources/images/multicast.jpg   |  Bin 0 -> 20269 bytes
 .../3.0/zh-cn/site/user/sources/images/pojores.png |  Bin 0 -> 37733 bytes
 .../3.0/zh-cn/site/user/sources/images/pojotps.png |  Bin 0 -> 39797 bytes
 .../3.0/zh-cn/site/user/sources/images/rest.jpg    |  Bin 0 -> 206610 bytes
 .../3.0/zh-cn/site/user/sources/images/rt.png      |  Bin 0 -> 31098 bytes
 .../3.0/zh-cn/site/user/sources/images/stub.jpg    |  Bin 0 -> 28646 bytes
 .../site/user/sources/images/subscribe-only.jpg    |  Bin 0 -> 20626 bytes
 ...pg-version=1&modificationDate=1326468174000.jpg |  Bin 0 -> 20626 bytes
 .../3.0/zh-cn/site/user/sources/images/tps.png     |  Bin 0 -> 33114 bytes
 .../zh-cn/site/user/sources/images/zookeeper.jpg   |  Bin 0 -> 31272 bytes
 .../3.0/zh-cn/site/user/versions/index.html        |  370 +++
 .../site/user/versions/version-270/index.html      |  682 +++++
 site_config/docs.js                                | 1419 +---------
 site_config/home.jsx                               |    8 +
 site_config/site.js                                |    9 +-
 src/components/header/index.jsx                    |    2 +-
 src/pages/home/index.jsx                           |    7 +-
 2555 files changed, 532397 insertions(+), 1432 deletions(-)

diff --git a/blog/en-us/dubbo-protocol.md b/blog/en-us/dubbo-protocol.md
index 71fae9c..325ef5d 100644
--- a/blog/en-us/dubbo-protocol.md
+++ b/blog/en-us/dubbo-protocol.md
@@ -86,7 +86,7 @@ The Dubbo protocol is actually a variable length protocol, which is covered in m
 ### Overview to the Dubbo protocol
 The Dubbo framework defines a proprietary RPC protocol in which the specific content of the request and response protocols is presented using a table.
 
-![/dev-guide/images/dubbo_protocol_header.jpg](http://dubbo.apache.org/docs/zh-cn/dev/sources/images/dubbo_protocol_header.png)
+![/dev-guide/images/dubbo_protocol_header.jpg](http://dubbo.apache.org/docs/3.0/en-us/docs/dev/sources/images/dubbo_protocol_header.png)
 
 ### Dubbo protocol details
 
diff --git a/blog/zh-cn/dubbo-externalized-configuration.md b/blog/zh-cn/dubbo-externalized-configuration.md
index d37f284..ebe3c3c 100644
--- a/blog/zh-cn/dubbo-externalized-configuration.md
+++ b/blog/zh-cn/dubbo-externalized-configuration.md
@@ -52,7 +52,7 @@
 
 
 
-在 Dubbo 官方用户手册的[“属性配置”](/docs/zh-cn/user/configuration/configuration-load-process.md)章节中,`dubbo.properties` 配置属性能够映射到  `ApplicationConfig` 、`ProtocolConfig` 以及 `RegistryConfig` 的字段。从某种意义上来说,`dubbo.properties`  也是 Dubbo 的外部化配置。
+在 Dubbo 官方用户手册的[“属性配置”](/docs/3.0/zh-cn/docs/user/configuration/configuration-load-process.md)章节中,`dubbo.properties` 配置属性能够映射到  `ApplicationConfig` 、`ProtocolConfig` 以及 `RegistryConfig` 的字段。从某种意义上来说,`dubbo.properties`  也是 Dubbo 的外部化配置。
 
 
 
diff --git a/blog/zh-cn/dubbo-protocol.md b/blog/zh-cn/dubbo-protocol.md
index 6a2bab2..eb1c739 100644
--- a/blog/zh-cn/dubbo-protocol.md
+++ b/blog/zh-cn/dubbo-protocol.md
@@ -96,7 +96,7 @@ Dubbo 协议实际上就是一种变长协议,后面的章节会详细介绍
 
 Dubbo 框架定义了私有的RPC协议,其中请求和响应协议的具体内容我们使用表格来展示。
 
-![/dev-guide/images/dubbo_protocol_header.jpg](http://dubbo.apache.org/docs/zh-cn/dev/sources/images/dubbo_protocol_header.png)
+![/dev-guide/images/dubbo_protocol_header.jpg](http://dubbo.apache.org/docs/3.0/zh-cn/docs/dev/sources/images/dubbo_protocol_header.png)
 
 ### 协议详情
 
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..c263b82
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,2 @@
+Kept only for compatibility, please add changes to `/documentations` directory instead.
+
diff --git a/docs/en-us/user/sources/images/arch.png b/docs/en-us/user/sources/images/arch.png
new file mode 100644
index 0000000..530fd53
Binary files /dev/null and b/docs/en-us/user/sources/images/arch.png differ
diff --git a/docs/zh-cn/developers/committer-guide/new-committer-guide_dev.md b/docs/zh-cn/developers/committer-guide/new-committer-guide_dev.md
index c896f3d..7f32a12 100644
--- a/docs/zh-cn/developers/committer-guide/new-committer-guide_dev.md
+++ b/docs/zh-cn/developers/committer-guide/new-committer-guide_dev.md
@@ -61,9 +61,9 @@
 
 ### 添加你的名字
 
-请访问孵化器[主页](https://incubator.apache.org/projects/dubbo.html)将你的名字添加到上面. 具体可以参考这个[文档](http://dubbo.apache.org/zh-cn/docs/developers/committer-guide/apache-dubbo-page_dev.html).
+请访问孵化器[主页](https://incubator.apache.org/projects/dubbo.html)将你的名字添加到上面. 具体可以参考这个[文档](http://dubbo.apache.org/docs/3.0/zh-cn/docs/developers/committer-guide/apache-dubbo-page_dev.html).
 
-请访问Dubbo[官方网站](http://dubbo.apache.org/zh-cn/docs/developers/developers_dev.html)将你的名字添加到上面.
+请访问Dubbo[官方网站](http://dubbo.apache.org/docs/3.0/zh-cn/docs/developers/developers/developers_dev.html)将你的名字添加到上面.
 
 ### 小福利
 
diff --git a/docs/zh-cn/user/sources/images/arch.png b/docs/zh-cn/user/sources/images/arch.png
new file mode 100644
index 0000000..530fd53
Binary files /dev/null and b/docs/zh-cn/user/sources/images/arch.png differ
diff --git a/documentations/2.7/en-us/docs/admin/README.md b/documentations/2.7/en-us/docs/admin/README.md
new file mode 100644
index 0000000..93ffa20
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/README.md
@@ -0,0 +1,3 @@
+This document explains the structure, deploy procedure and function of Dubbo Admin
+
+
diff --git a/documentations/2.7/en-us/docs/admin/SUMMARY.md b/documentations/2.7/en-us/docs/admin/SUMMARY.md
new file mode 100644
index 0000000..ab7acf8
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/SUMMARY.md
@@ -0,0 +1,4 @@
+* [1 Dubbo Admin introduction](introduction.md)
+    * [1.1 service search and detail](serviceSearch.md)
+    * [1.2 service governance](serviceGovernance.md)
+    * [1.3 service test](serviceTest.md)
diff --git a/documentations/2.7/en-us/docs/admin/install/admin-console.md b/documentations/2.7/en-us/docs/admin/install/admin-console.md
new file mode 100644
index 0000000..109fdac
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/admin-console.md
@@ -0,0 +1,40 @@
+# Install admin console
+
+The current version of dubbo admin is under development, including: route rule, dynamic configuration, access control, weight adjustment, load balance, etc.
+
+Install:
+
+```sh
+git clone https://github.com/apache/dubbo-admin.git /var/tmp/dubbo-admin
+cd /var/tmp/dubbo-admin
+mvn clean package
+```
+
+Configuration [^1]:
+
+```sh
+configuration file:
+dubbo-admin-backend/src/main/resources/application.properties
+configurations:
+dubbo.registry.address=zookeeper://127.0.0.1:2181
+```
+
+Start:
+
+```sh
+mvn --projects dubbo-admin-backend spring-boot:run
+```
+
+For more information, please visit:
+
+```sh
+https://github.com/apache/dubbo-admin
+```
+
+Visit [^2]:
+
+```
+http://127.0.0.1:8080
+```
+
+[^1]: There's no login for current version, will be added later
diff --git a/documentations/2.7/en-us/docs/admin/install/consumer-demo.md b/documentations/2.7/en-us/docs/admin/install/consumer-demo.md
new file mode 100644
index 0000000..791bd07
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/consumer-demo.md
@@ -0,0 +1,20 @@
+
+# Install demo consumer
+
+Install:
+
+```sh
+$ git clone https://github.com/apache/dubbo.git
+$ cd dubbo/dubbo-demo/dubbo-demo-xml
+# run org.apache.dubbo.demo.consumer.Application under dubbo-demo-xml-consumer module
+# please start Provider first
+# add -Djava.net.preferIPv4Stack=true if your IDE is Intellij Idea
+```
+
+Configuration:
+
+```sh
+# resources/spring/dubbo-consumer.xml
+# change dubbo:registry to the real registry center address, for example:
+# <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
+```
diff --git a/documentations/2.7/en-us/docs/admin/install/introduction.md b/documentations/2.7/en-us/docs/admin/install/introduction.md
new file mode 100644
index 0000000..e2bc8af
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/introduction.md
@@ -0,0 +1,13 @@
+# Install manual
+
+You can run Demo Provider and Demo Consumer only, the default discovery strategy is Multicast by configuration center broadcast, do not run the two parts on the same machine, if you have to do so, set `unicast=false`, like `multicast://224.5.6.7:1234?unicast=false`, or the unicast send to consumer will be taken by provider, and the same for consumers. Only multicast has this issue
+
+You can run multiple Demo Provider and Demo consumer to verify load balance. Demo Consumer can run multi instance directly. Because of port conflict, you can either run multi Demo Providers on different machines or modify the value of `dubbo.protocol.port` in `conf/dubbo.properties` under the install directory of `conf/dubbo.properties`
+
+You can add Simple Monitor as a monitor center, the default discovery strategy is Multicast by configuration center broadcast, display the dependency relationship, call times and cost
+
+You can use Zookeeper instead of Multicast as the configuration center, after Zookeeper Registry installation, modify `conf/dubbo.properties` under the installation directory of Demo Provider, Demo Consumer and Simple Monitor, change the value of `dubbo.registry.address` to `zookeeper://127.0.0.1:2181`(`redis://127.0.0.1:6379` for Redis Registry). the value for Simple Registry is `dubbo://127.0.0.1:9090`
+
+Zookeeper configuration address is recommended
+
+[^1]: NOTICE: multicast can be neither 127.0.0.1 nor the machine's IP address, it must be a type D broadcast address, from 224.0.0.0 to 239.255.255.255
diff --git a/documentations/2.7/en-us/docs/admin/install/provider-demo.md b/documentations/2.7/en-us/docs/admin/install/provider-demo.md
new file mode 100644
index 0000000..10411cb
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/provider-demo.md
@@ -0,0 +1,18 @@
+# Install demo provider
+
+install:
+
+```sh
+$ git clone https://github.com/apache/dubbo.git
+$ cd dubbo/dubbo-demo/dubbo-demo-xml
+# run org.apache.dubbo.demo.provider.Application under dubbo-demo-xml-provider module
+# add -Djava.net.preferIPv4Stack=true if your IDE is Intellij Idea
+```
+
+configuration:
+
+```sh
+# resources/spring/dubbo-provider.xml
+# change dubbo:registry to a real registry server address, zookeeper is recommended, for example:
+# <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
+```
diff --git a/documentations/2.7/en-us/docs/admin/install/redis.md b/documentations/2.7/en-us/docs/admin/install/redis.md
new file mode 100644
index 0000000..31b60f8
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/redis.md
@@ -0,0 +1,54 @@
+# install Redis register center
+
+
+
+Redis [^1] introductions, please refer to: [Redis application center manual](http://dubbo.apache.org/books/dubbo-user-book-en/references/registry/redis.html)。
+
+you need an origin Redis server only, and change the value from `dubbo.registry.address` to `redis://127.0.0.1:6379` in `conf/dubbo.properties` of [quick start](http://dubbo.apache.org/books/dubbo-user-book-en/quick-start.html)
+
+Redis configuration center cluster [^2] write multiple server in client side and read from a single server.
+
+Install:
+
+```sh
+wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
+tar xzf redis-2.4.8.tar.gz
+cd redis-2.4.8
+make
+```
+
+Configuration:
+
+```sh
+vi redis.conf
+```
+
+Start:
+
+```sh
+nohup ./src/redis-server redis.conf &
+```
+
+Stop:
+
+```sh
+killall redis-server
+```
+
+* Command line [^3]:
+
+```sh
+./src/redis-cli
+hgetall /dubbo/com.foo.BarService/providers
+```
+
+Or: 
+
+```sh
+telnet 127.0.0.1 6379
+hgetall /dubbo/com.foo.BarService/providers
+```
+
+[^1]: Redis is a high performance KV store server, please refer to: http://redis.io/topics/quickstart
+[^2]: Support for version `2.1.0` and higher
+[^3]: Please refer to: http://redis.io/commands
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/admin/install/simple-monitor-center.md b/documentations/2.7/en-us/docs/admin/install/simple-monitor-center.md
new file mode 100644
index 0000000..f66b79f
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/simple-monitor-center.md
@@ -0,0 +1,3 @@
+# install Simple monitor center
+
+#### The function of monitor center will be merged to dubbo admin, based on metrics, coming soon
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/admin/install/simple-registry-center.md b/documentations/2.7/en-us/docs/admin/install/simple-registry-center.md
new file mode 100644
index 0000000..7227479
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/simple-registry-center.md
@@ -0,0 +1 @@
+# install Simple configuration center
diff --git a/documentations/2.7/en-us/docs/admin/install/zookeeper.md b/documentations/2.7/en-us/docs/admin/install/zookeeper.md
new file mode 100644
index 0000000..a1fb924
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/install/zookeeper.md
@@ -0,0 +1,98 @@
+# install Zookeeper configuration center
+
+zookeeper register center client version: `dubbo-2.3.3` and above[^1]
+
+Dubbo changes nothing of Zookeeper's server side, an original Zookeeper server is fine. All change happens while calling Zookeeper's client side
+
+install:
+
+```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
+cd zookeeper-3.3.3
+cp conf/zoo_sample.cfg conf/zoo.cfg
+```
+
+configuration:
+
+```sh
+vi conf/zoo.cfg
+```
+
+If cluster is not needed, the content of `zoo.cfg` is as below [^2]: 
+
+```properties
+tickTime=2000
+initLimit=10
+syncLimit=5
+dataDir=/home/dubbo/zookeeper-3.3.3/data
+clientPort=2181
+```
+
+If cluster is needed, the content of `zoo.cfg` is as below [^3]: 
+
+```properties
+tickTime=2000
+initLimit=10
+syncLimit=5
+dataDir=/home/dubbo/zookeeper-3.3.3/data
+clientPort=2181
+server.1=10.20.153.10:2555:3555
+server.2=10.20.153.11:2555:3555
+```
+
+Put myid file in data directory [^4]:
+
+```sh
+mkdir data
+vi myid
+```
+
+Myid is the number after `server` in `zoo.cfg`. The first one's content is 1, the second one's content is 2:
+
+```
+1
+```
+
+Start:
+
+```sh
+./bin/zkServer.sh start
+```
+
+Stop:
+
+```sh
+./bin/zkServer.sh stop
+```
+
+Command line [^5]: 
+
+```sh
+telnet 127.0.0.1 2181
+dump
+```
+
+Or:
+
+```shell
+echo dump | nc 127.0.0.1 2181
+```
+
+Usage:
+
+```xml
+dubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181
+```
+
+Or:
+
+```xml
+<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181" />
+```
+
+[^1]: Zookeeper is a sub project of Apache Hadoop.As it is robust, we recommend to use in production environment.
+[^2]: Data directory should be changed into your real output directory
+[^3]: Data directory and server address should be changed into your real machine information
+[^4]: `dataDir` in `zoo.cfg`
+[^5]: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html
diff --git a/documentations/2.7/en-us/docs/admin/introduction.md b/documentations/2.7/en-us/docs/admin/introduction.md
new file mode 100644
index 0000000..985dedf
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/introduction.md
@@ -0,0 +1,65 @@
+# Dubbo Admin introduction
+Now version 0.1 has been released, frontend uses Vue and Vuetify as javascript framework and UI framework, backend uses spring framework, you can deploy the whole project with maven or deploy frontend and backend separately.
+
+### Deploy the whole project through maven
+
+* install
+```sh
+git clone https://github.com/apache/dubbo-admin.git
+cd dubbo-admin
+mvn clean package
+cd dubbo-admin-distribution/target
+java -jar dubbo-admin-0.1.jar
+```
+* visit  
+http://localhost:8080
+
+
+### Deploy frontend and backend separately
+
+* frontend deploy  
+```sh
+cd dubbo-admin-ui 
+npm install 
+npm run dev 
+```
+* backend deploy  
+```sh
+cd dubbo-admin-server
+mvn clean package 
+cd target
+java -jar dubbo-admin-server-0.1.jar
+```
+* visit  
+http://localhost:8081  
+* in this mode, any modify of frontend will be hot reloaded
+
+
+### configuration: [^1]
+
+configuration file location
+```sh
+dubbo-admin-server/src/main/resources/application.properties
+```
+configuration:
+```properties
+admin.config-center=zookeeper://127.0.0.1:2181
+admin.registry.address=zookeeper://127.0.0.1:2181
+admin.metadata-report.address=zookeeper://127.0.0.1:2181
+```
+the three configure item above are configuration center, registry center and metadata center respectively, you can find explanation about the three centers [here](../user/configuration/config-center.md)
+Same as Dubbo 2.7, you can set the addresses of metadata center and registry center on configuration center, in zookeeper, the path and content are as below: 
+```properties
+# /dubbo/config/dubbo/dubbo.properties
+dubbo.registry.address=zookeeper://127.0.0.1:2181
+dubbo.metadata-report.address=zookeeper://127.0.0.1:2181
+```
+the addresses in configuration center have higher priority than those in `application.properties`
+
+visit documents on github:
+
+```sh
+https://github.com/apache/dubbo-admin
+```
+
+[^1]: there's no login module in the current version.
diff --git a/documentations/2.7/en-us/docs/admin/ops/dubbo-ops.md b/documentations/2.7/en-us/docs/admin/ops/dubbo-ops.md
new file mode 100644
index 0000000..639705a
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/ops/dubbo-ops.md
@@ -0,0 +1,26 @@
+# Ops console management
+
+## Page search
+
+If you need to manage a Dubbo service, you need to search it first and open it's management page
+
+![/admin-guide/images/dubbo-search.png](../sources/images/dubbo-search.jpg)
+
+## Service provider page
+
+![/admin-guide/images/dubbo-providers.png](../sources/images/dubbo-providers.jpg)
+
+## Service consumer page
+
+![/admin-guide/images/dubbo-consumers.png](../sources/images/dubbo-consumers.jpg)
+
+
+
+## Add route rule page
+
+![/admin-guide/images/dubbo-add-route.png](../sources/images/dubbo-add-route.jpg)
+
+## Add dynamic configuration page
+
+![/admin-guide/images/dubbo-add-config.png](../sources/images/dubbo-add-config.jpg)
+
diff --git a/documentations/2.7/en-us/docs/admin/ops/introduction.md b/documentations/2.7/en-us/docs/admin/ops/introduction.md
new file mode 100644
index 0000000..c44f2b5
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/ops/introduction.md
@@ -0,0 +1 @@
+# Ops manual
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/admin/ops/pinpoint.md b/documentations/2.7/en-us/docs/admin/ops/pinpoint.md
new file mode 100644
index 0000000..163d213
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/ops/pinpoint.md
@@ -0,0 +1,411 @@
+# Tracking with Pinpoint
+
+After using Dubbo to serve or integrate applications, assuming that a service backstage log shows an exception and that the service is invoked by multiple applications, it is often difficult to determine which application is called, and what is the cause of the problem, so we need a set of distributed tracking systems to quickly locate the problem. Pinpoint can help us quickly locate problems (of course, there are more than one solution).
+
+## What is Pinpoint
+
+[Pinpoint](https://github.com/naver/pinpoint) is an APM (Application Performance Management) tool for large-scale distributed systems written in Java. Inspired by Dapper, Pinpoint provides a solution to help analyze the overall structure of the system and how components within them are interconnected by tracing transactions across distributed applications.
+
+You should definitely check Pinpoint out If you want to
+
+understand your application topology at a glance
+monitor your application in Real-Time
+gain code-level visibility to every transaction
+install APM Agents without changing a single line of code
+have minimal impact on the performance (approximately 3% increase in resource usage)
+
+### ServerMap
+
+Understand the topology of any distributed systems by visualizing how their components are interconnected. Clicking on a node reveals details about the component, such as its current status, and transaction count.
+
+### Realtime Active Thread Chart
+
+Monitor active threads inside applications in real-time.
+
+### Request/Response Scatter Chart
+
+Visualize request count and response patterns over time to identify potential problems. Transactions can be selected for additional detail by dragging over the chart.
+
+### CallStack
+
+Gain code-level visibility to every transaction in a distributed environment, identifying bottlenecks and points of failure in a single view.
+
+### Inspector
+
+View additional details on the application such as CPU usage, Memory/Garbage Collection, TPS, and JVM arguments.
+
+### Supported Modules (last updated 2018/04/01)
+
+* JDK 6+
+* Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6, Resin 4, Websphere 6/7/8, Vertx 3.3/3.4/3.5
+* Spring, Spring Boot (Embedded Tomcat, Jetty)
+* Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
+* Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER
+* ActiveMQ, RabbitMQ
+* MySQL, Oracle, MSSQL, CUBRID,POSTGRESQL, MARIA
+* Arcus, Memcached, Redis, CASSANDRA
+* iBATIS, MyBatis
+* DBCP, DBCP2, HIKARICP
+* gson, Jackson, Json Lib
+* log4j, Logback
+
+## Pinpoint and Dubbo
+
+### Quickstart Pinpoint
+
+[Quick start](http://naver.github.io/pinpoint/quickstart.html)(No neet to start TestApp)
+
+### Dubbo demo
+
+#### Create API module
+
+pom.xml
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.example</groupId>
+    <artifactId>demo-api</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+</project>
+```
+
+Create API interface:
+```
+package com.example.demoapi;
+
+public interface HelloService {
+    String sayHello(String name);
+}
+```
+
+#### Dubbo provider
+
+pom.xml
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>com.example</groupId>
+	<artifactId>demo-provider</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<name>demo-provider</name>
+
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>2.0.3.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<java.version>1.8</java.version>
+	</properties>
+
+	<repositories>
+		<repository>
+			<id>sonatype-nexus-snapshots</id>
+			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</repository>
+	</repositories>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.alibaba.boot</groupId>
+			<artifactId>dubbo-spring-boot-starter</artifactId>
+			<version>0.2.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.example</groupId>
+			<artifactId>demo-api</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
+```
+
+1. `HelloService` interface:
+```java
+package com.example.demoprovider.provider;
+
+import org.apache.dubbo.config.annotation.Service;
+import com.example.demoapi.HelloService;
+
+@Service(version = "${demo.service.version}",
+        application = "${dubbo.application.id}",
+        protocol = "${dubbo.protocol.id}",
+        registry = "${dubbo.registry.id}")
+public class HelloServiceImpl implements HelloService {
+    static int i = 0;
+    @Override
+    public String sayHello(String name) {
+        i++;
+        if (i % 3 == 0) {
+            throw new RuntimeException("ex");
+        }
+        return "Hello " + name + "!";
+    }
+}
+```
+
+2. Spring Boot bootstrap:
+```java
+package com.example.demoprovider;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DemoProviderApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(DemoProviderApplication.class, args);
+	}
+}
+```
+
+3. `application.properties`:
+
+```properties
+# Spring boot application
+spring.application.name = dubbo-provider-demo
+server.port = 9090
+management.port = 9091
+
+# Service version
+demo.service.version = 1.0.0
+
+# Base packages to scan Dubbo Components (e.g @Service , @Reference)
+dubbo.scan.basePackages  = com.example.demoprovider
+
+# Dubbo Config properties
+## ApplicationConfig Bean
+dubbo.application.id = dubbo-provider-demo
+dubbo.application.name = dubbo-provider-demo
+
+## ProtocolConfig Bean
+dubbo.protocol.id = dubbo
+dubbo.protocol.name = dubbo
+dubbo.protocol.port = 12345
+
+## RegistryConfig Bean
+dubbo.registry.id = my-registry
+dubbo.registry.address = N/A
+```
+
+#### Dubbo consumer
+
+pom.xml
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>com.example</groupId>
+	<artifactId>demo-consumer</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<name>demo-consumer</name>
+
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>2.0.3.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<java.version>1.8</java.version>
+	</properties>
+
+	<repositories>
+		<repository>
+			<id>sonatype-nexus-snapshots</id>
+			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
+			<releases>
+				<enabled>false</enabled>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</repository>
+	</repositories>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.alibaba.boot</groupId>
+			<artifactId>dubbo-spring-boot-starter</artifactId>
+			<version>0.2.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.example</groupId>
+			<artifactId>demo-api</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+				<configuration>
+					<classifier>exec</classifier>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
+```
+
+1. `@Reference` injection `HelloService`
+```java
+package com.example.democonsumer.controller;
+
+import org.apache.dubbo.config.annotation.Reference;
+import com.example.demoapi.HelloService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class DemoConsumerController {
+    @Reference(version = "${demo.service.version}",
+            application = "${dubbo.application.id}",
+            url = "dubbo://<Real IP Address>:12345")
+    private HelloService helloService;
+
+    @RequestMapping("/sayHello")
+    public String sayHello(@RequestParam String name) {
+        return helloService.sayHello(name);
+    }
+}
+```
+
+2. Spring Boot bootstrap:
+```java
+package com.example.democonsumer;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DemoConsumerApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(DemoConsumerApplication.class, args);
+	}
+}
+```
+
+3. `application.properties`:
+```properties
+# Spring boot application
+spring.application.name=dubbo-consumer-demo
+server.port=8080
+management.port=8081
+
+# Service Version
+demo.service.version=1.0.0
+
+# Dubbo Config properties
+## ApplicationConfig Bean
+dubbo.application.id=dubbo-consumer-demo
+dubbo.application.name=dubbo-consumer-demo
+
+## ProtocolConfig Bean
+dubbo.protocol.id=dubbo
+dubbo.protocol.name=dubbo
+dubbo.protocol.port=12345
+```
+
+### Using Pinpoint-agent to start `Dubbo provider` and `Dubbo consumer`
+
+1. Maven clean package
+```
+mvn clean package
+```
+
+2. Start provider
+```
+java -jar -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar -Dpinpoint.agentId=demo-provider -Dpinpoint.applicationName=DP target/demo-provider-0.0.1-SNAPSHOT.jar
+```
+
+3. Start consumer
+```
+java -jar -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar -Dpinpoint.agentId=demo-consumer -Dpinpoint.applicationName=DC target/demo-comsumer-0.0.1-SNAPSHOT-exec.jar
+```
+
+4. Access the consumer address to simulate user requests
+
+`http://localhost:8080/sayHello?name=ABC`
+
+## Using Pinpoint locate problems
+
+### Homepage
+
+![/admin-guide/images/pinpoint-home.png](../sources/images/pinpoint-home.png)
+
+> The user request here is double the number of requests for DubboProvider, because the favicon.ico icon request is recorded.
+
+### Call tree
+
+![/admin-guide/images/pinpoint-calltree.png](../sources/images/pinpoint-calltree.png)
+
+### Mixed view
+
+![/admin-guide/images/pinpoint-mixedview.png](../sources/images/pinpoint-mixedview.png)
+
+### Other
+
+The example simply simulates the provision and call of Dubbo, and does not carry out the application of other middleware such as database. For detailed use, please refer to the Pinpoint document.
diff --git a/documentations/2.7/en-us/docs/admin/ops/skywalking.md b/documentations/2.7/en-us/docs/admin/ops/skywalking.md
new file mode 100644
index 0000000..510c823
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/ops/skywalking.md
@@ -0,0 +1,121 @@
+# Tracing Dubbo service with Apache Skywalking(incubator)
+## Introduction to Apache Skywalking(Incubator)
+[Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)  is the APM system that it designed for micro-services architectures and cloud native architecture systems and supports distribute tracking. [Apache skywalking (incubator)](https://github.com/apache/incubator-skywalking) collects and analyzes the trace data and generates the relationship between the application and the service metric, Apache skywalking  supports multiple languages agent, for example [Java](htt [...]
+
+Currently, Skywalking has supported analysis the operation of distributed systems from 6 visual dimensions. The overview view is a global view of your applications and components, including the number of components and applications, application alarm fluctuations, slow service lists, and application throughput; The topology shows the topological relationship of the whole application; The application view represents the upstream and downstream relationship of the application from single a [...]
+
+## Dubbo and Apache Skywalking(Incubator)
+### Build the Dubbo demo  project
+The Dubbo demo has been uploaded to the [GitHub repository](https://github.com/SkywalkingTest/dubbo-trace-example). 
+#### API project
+Service interface definition:
+package org.apache.skywalking.demo.interfaces;
+
+public interface HelloService {
+	String sayHello(String name);
+}
+#### Service provider project
+package org.apache.skywalking.demo.provider;
+
+@Service(version = "${demo.service.version}",
+	application = "${dubbo.application.id}",
+	protocol = "${dubbo.protocol.id}",
+	registry = "${dubbo.registry.id}", timeout = 60000)
+public class HelloServiceImpl implements HelloService {
+
+	public String sayHello(String name) {
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
+		return "Hello, " + name;
+	}
+
+}
+#### Service consumer project
+package org.apache.skywalking.demo.consumer;
+
+@RestController
+public class ConsumerController {
+
+	private static int COUNT = 0;
+
+	@Reference(version = "${demo.service.version}",
+		application = "${dubbo.application.id}",
+		url = "dubbo://localhost:20880", timeout = 60000)
+	private HelloService helloService;
+
+	@GetMapping("/sayHello/{name}")
+	public String sayHello(@PathVariable(name = "name") String name) {
+		if ((COUNT++) % 3 == 0){
+			throw new RuntimeException();
+		}
+		LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
+		return helloService.sayHello(name);
+	}
+}
+### Deploy Apache Skywalking(incubator)
+[Apache skywalking (Incubator)](https://github.com/apache/incubator-skywalking) offers  two deployment modes: single-node mode and cluster mode,Here is  the single-node mode deployment step, and more about how to deploy skywalking with cluster mode, please reference [document](https://github.com/apache/incubator-skywalking/blob/master/docs/en/Deploy-backend-in-cluster-mode.md).
+#### Third-party components
+1. JDK 8+
+2. Elasticsearch 5.x
+#### Deployment step
+1. Download [Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
+2. Deploy Elasticsearch service
+   * Set `cluster.name` to `CollectorDBCluster`
+   * Set `network.host` to `0.0.0.0`
+   * Start elasticsearch service
+3. Unzip and start the Skywalking Collector. Run the ' bin/startup.sh ' command to start skywalking Collector 
+
+#### Deploy the demo
+Before you deploy the demo service, please run the following command:
+
+```
+./mvnw clean package
+```
+
+#### Deploy the provider service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
+```
+
+#### Deploy the consumer service
+
+```
+java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar 
+```
+
+#### visit demo service
+
+```
+curl http://localhost:8080/sayHello/test
+```
+
+## Skywalking scren snapshot
+
+### Dashboard
+![/admin-guide/images/skywalking-dashboard.png](../sources/images/skywalking-dashboard.png)
+
+### Topology
+![/admin-guide/images/skywalking-topology.png](../sources/images/skywalking-topology.png)
+
+### Application view
+![/admin-guide/images/skywalking-application.png](../sources/images/skywalking-application.png)
+
+JVM Information
+![/admin-guide/images/skywalking-application_instance.png](../sources/images/skywalking-application_instance.png)
+
+### Service view
+
+Consumer side
+![/admin-guide/images/skywalking-service-consumer.png](../sources/images/skywalking-service-consumer.png)
+
+provider side
+![/admin-guide/images/skywalking-service-provider.png](../sources/images/skywalking-service-provider.png)
+
+### Trace
+![/admin-guide/images/skywalking-trace.png](../sources/images/skywalking-trace.png)
+
+Span info
+![/admin-guide/images/skywalking-span-Info.png](../sources/images/skywalking-span-Info.png)
+
+### Alarm view
+![/admin-guide/images/skywalking-alarm.png](../sources/images/skywalking-alarm.png)
diff --git a/documentations/2.7/en-us/docs/admin/serviceGovernance.md b/documentations/2.7/en-us/docs/admin/serviceGovernance.md
new file mode 100644
index 0000000..9ec330a
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/serviceGovernance.md
@@ -0,0 +1,46 @@
+# Service governance and configuration management
+## Service governance
+服务治理主要作用是改变运行时服务的行为和选址逻辑,达到限流,权重配置等目的,主要有以下几个功能:  
+the basic function of service governance is changing the runtime behaviour and routing logic, to do weight configuration and current limiting: 
+
+### 应用级别的服务治理
+### application level service governance
+在Dubbo2.6及更早版本中,所有的服务治理规则都只针对服务粒度,如果要把某条规则作用到应用粒度上,需要为应用下的所有服务配合相同的规则,变更,删除的时候也需要对应的操作,这样的操作很不友好,因此Dubbo2.7版本中增加了应用粒度的服务治理操作,对于条件路由(包括黑白名单),动态配置(包括权重,负载均衡)都可以做应用级别的配置:  
+In Dubbo 2.6 or earlier version, all service governance rule are in service scope, if you need to make application scope rule, you need to set the same rule for all services under an application, modify and delete need the same operation, this is very unfriendly. In Dubbo 2.7, application scope service governance is supported, condition route(including black white list) and dynamic configuration(including weight, load balance) all support application scope config.
+![condition](../../../img/blog/admin/conditionRoute.jpg)   
+picture above is condition route configuration, can create and search by both application name and service name.
+
+### tag route  
+标签路由是Dubbo2.7引入的新功能,配置以应用作为维度,给不同的服务器打上不同名字的标签,配置如下图所示:
+tag route is a new feature in Dubbo2.7, in application scope, to set different tag on different server, the screenshot is shown as below: 
+![tag](../../../img/blog/admin/route.jpg)
+the client can use `setAttachment` to specify different tag, is the above case, `setAttachment(tag1)`, the client will choose from the three servers in the picture above. In this way, you can implement features such as traffic isolation and gray release. 
+
+### condition route
+condition route is a traditional function in Dubbo, now you can create it in either service scope or application scope. Condition route is in `yaml` format, you can read [here](../user/demo/routing-rule.md) to find more.
+
+### black white list
+black white list is a part of condition route and store with condition route together, you can set black list or white list, in either service scope or application scope:
+![blackList](sources/images/blackList.jpg) 
+
+### dynamic configuration
+dynamic configuration has the same level with routing rule, it can change the RPC behaviour dynamically without restart service. It supports application scope since Dubbo 2,7, in Dubbo format, the screen shot shows in below:
+![config](sources/images/config.jpg)
+to read more, please refer [here](../user/demos/config-rule.md)
+
+### weight adjust  
+weigth adjuest is part of dynamic configuration, change the weight of server side to do traffic control dynamically: 
+![weight](sources/images/weight.jpg)
+
+### load balancing
+load balancing is also poart of dynamic configuration, to specify the route strategy in client side. now we have three strategies: random, least active and round robin, to read more, please refer [here](../user/demos/loadbalance.md)
+
+## configuration management
+configuration management is also a new feaature for Dubbo 2.7. In Dubbo 2.7, we can specify configurations in global scope and application scope(including services in application), you can view, modify and create new configurations in Dubbo Admin.
+* global configuration: 
+![config](../../../img/blog/admin/config.jpg)  
+you can set registry center, metadata center, timeout for provider and consumer in global configurations. If the implementation of registry center and metadata center is zookeeper, you can also check the location of configuration file. 
+* application and service scope configuration: 
+![appConfig](../../../img/blog/admin/appConfig.jpg)  
+application configuration can also set service configuration in this application. you need to specify consumer and provider in service scope: `dubbo.reference.{serviceName}`stands for configuration as consumer side,`dubbo.provider.{servcieName}`stands for configuration as provider side. the address of registry address and metadata center address can only be configured in global configuration, which is also the recommendation way in Dubbo 2.7
+* priority service configuration > application configuration > global configuration
diff --git a/documentations/2.7/en-us/docs/admin/serviceSearch.md b/documentations/2.7/en-us/docs/admin/serviceSearch.md
new file mode 100644
index 0000000..f4f16e3
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/serviceSearch.md
@@ -0,0 +1,7 @@
+# Service search and service detail
+Service search is the basic function of Dubbo OPS, you can search by service name, application name and IP address, the service name and application name support wildcard and autocomplete:
+![searchResult](sources/images/searchResult.png)
+the service detail page display providers, consumers, medata information is supported in Dubbo 2.7 or higher version: 
+![detail](sources/images/detail.jpg)
+
+
diff --git a/documentations/2.7/en-us/docs/admin/serviceTest.md b/documentations/2.7/en-us/docs/admin/serviceTest.md
new file mode 100644
index 0000000..9bb35ee
--- /dev/null
+++ b/documentations/2.7/en-us/docs/admin/serviceTest.md
@@ -0,0 +1 @@
+please refer to this [blog](../../../zh-cn/blog/service-test.md)
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/blackList.jpg b/documentations/2.7/en-us/docs/admin/sources/images/blackList.jpg
new file mode 100644
index 0000000..9f59e9f
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/blackList.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/check.gif b/documentations/2.7/en-us/docs/admin/sources/images/check.gif
new file mode 100644
index 0000000..28bb999
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/check.gif differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/config.jpg b/documentations/2.7/en-us/docs/admin/sources/images/config.jpg
new file mode 100644
index 0000000..e11dd9a
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/config.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/detail.jpg b/documentations/2.7/en-us/docs/admin/sources/images/detail.jpg
new file mode 100644
index 0000000..68daa39
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/detail.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-config.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-config.jpg
new file mode 100644
index 0000000..bbee7d7
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-config.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-route.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-route.jpg
new file mode 100644
index 0000000..48edfcd
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-add-route.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-applications.png b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-applications.png
new file mode 100644
index 0000000..60a95e9
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-applications.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-consumers.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-consumers.jpg
new file mode 100644
index 0000000..08f92b6
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-consumers.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-monitor-simple.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-monitor-simple.jpg
new file mode 100644
index 0000000..66967e5
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-monitor-simple.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-providers.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-providers.jpg
new file mode 100644
index 0000000..0005d86
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-providers.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/dubbo-search.jpg b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-search.jpg
new file mode 100644
index 0000000..7795905
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/dubbo-search.jpg differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-calltree.png b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-calltree.png
new file mode 100644
index 0000000..9bfe792
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-calltree.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-home.png b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-home.png
new file mode 100644
index 0000000..4cf1e28
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-home.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-mixedview.png b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-mixedview.png
new file mode 100644
index 0000000..4a4d08c
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/pinpoint-mixedview.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/searchResult.png b/documentations/2.7/en-us/docs/admin/sources/images/searchResult.png
new file mode 100644
index 0000000..7f5bd63
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/searchResult.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-alarm.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-alarm.png
new file mode 100644
index 0000000..7c19a64
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-alarm.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application.png
new file mode 100644
index 0000000..76fce2c
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application_instance.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application_instance.png
new file mode 100644
index 0000000..86353f5
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-application_instance.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-dashboard.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-dashboard.png
new file mode 100644
index 0000000..5d844fa
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-dashboard.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-consumer.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-consumer.png
new file mode 100644
index 0000000..7ab5237
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-consumer.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-provider.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-provider.png
new file mode 100644
index 0000000..fde08e3
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-service-provider.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-span-Info.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-span-Info.png
new file mode 100644
index 0000000..cb0ff74
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-span-Info.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-topology.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-topology.png
new file mode 100644
index 0000000..934d170
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-topology.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/skywalking-trace.png b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-trace.png
new file mode 100644
index 0000000..90add82
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/skywalking-trace.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/tip.png b/documentations/2.7/en-us/docs/admin/sources/images/tip.png
new file mode 100644
index 0000000..15064c0
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/tip.png differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/warning-3.gif b/documentations/2.7/en-us/docs/admin/sources/images/warning-3.gif
new file mode 100644
index 0000000..1c9883b
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/warning-3.gif differ
diff --git a/documentations/2.7/en-us/docs/admin/sources/images/weight.jpg b/documentations/2.7/en-us/docs/admin/sources/images/weight.jpg
new file mode 100644
index 0000000..ec4eb2e
Binary files /dev/null and b/documentations/2.7/en-us/docs/admin/sources/images/weight.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/LICENSE b/documentations/2.7/en-us/docs/dev/LICENSE
new file mode 100644
index 0000000..8dada3e
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/LICENSE
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "{}"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright {yyyy} {name of copyright owner}
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/documentations/2.7/en-us/docs/dev/README.md b/documentations/2.7/en-us/docs/dev/README.md
new file mode 100644
index 0000000..f9f3122
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/README.md
@@ -0,0 +1,3 @@
+# dubbo-dev-book
+This book dives into the design principles of dubbo, mainly covers the following topics: extension, coding styles, versio, build, etc.
+
diff --git a/documentations/2.7/en-us/docs/dev/SPI.md b/documentations/2.7/en-us/docs/dev/SPI.md
new file mode 100644
index 0000000..4581c88
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/SPI.md
@@ -0,0 +1,237 @@
+# SPI Loading
+
+## SPI Config
+
+### Source:
+
+Dubbo SPI is inherited from standard JDK SPI(Service Provider Interface) and makes it more powerful.
+
+Dubbo fixed below issues of the standard JDK SPI:
+
+* The standard JDK SPI will load and instantize all the implementations at once. It will be a waste of resources if one implementation is timecosted, but never be used.
+* We can't accquire the SPI name, if loading the SPI implementation is failed.For example: standard JDK ScriptEngine, get script type by invoking method getName(). RubyScriptEngine class will load failed if the depenency jar jruby.jar is missing, and the real error info will be lost. When user executes ruby scripts, the program throws exception that doesn't support ruby, but it is not the real cause.
+* Enhance the SPI functionality by supporting IoC and AOP, one SPI can be easily injected by another SPI simply using setter.
+
+### Appointment:
+
+In the jar file containing extension class [^1], places a config file `META-INF/dubbo/full interface name`, file content pattern: `SPI name=the fully qualified name for the extension class`, use new line seperator for multiple implementation.
+
+### Example:
+
+To extend Dubbo Protocol, place a text file in the extension jar file: `META-INF/dubbo/org.apache.dubbo.rpc.Protocol`, content:
+
+```properties
+xxx=com.alibaba.xxx.XxxProtocol
+```
+
+content of the implementation [^2]:
+
+```java
+package com.alibaba.xxx;
+ 
+import org.apache.dubbo.rpc.Protocol;
+ 
+public class XxxProtocol implements Protocol { 
+    // ...
+}
+```
+
+### Configuration in config module
+
+In Dubbo config module, all SPI points have related attributes or labels, we can choose the specific SPI implementation by using its name. Like:
+
+```xml
+<dubbo:protocol name="xxx" />
+```
+
+## SPI Features
+
+### SPI Auto Wrap
+
+Auto wrap the SPI's Wrapper class. `ExtensionLoader` loads the SPI implementation, if the SPI has a copy instructor, it will be regarded as the SPI's Wrapper class.
+
+Wrapper class content:
+
+```java
+package com.alibaba.xxx;
+ 
+import org.apache.dubbo.rpc.Protocol;
+ 
+public class XxxProtocolWrapper implements Protocol {
+    Protocol impl;
+ 
+    public XxxProtocolWrapper(Protocol protocol) { impl = protocol; }
+ 
+    //after interface method is executed, the method in extension will be executed
+    public void refer() {
+        //... some operation
+        impl.refer();
+        // ... some operation
+    }
+ 
+    // ...
+}
+```
+
+Wrapper class also implements the same SPI interface, but Wrapper is not the real implementation. It is used for wrap the real implementation returned from the `ExtensionLoader`. The real returned instance by `ExtensionLoader` is the Wrapper class instance, Wrapper holder the real SPI implementation class.
+
+There can be many Wrapper for one spi, simply add one if you need.
+
+With Wrapper class, you will be able to move same logics into Wrapper for all SPIs. Newly added Wrapper class add external logics for all SPIs, looks like AOP, Wrapper acts as a proxy for SPI.
+
+### SPI Auto Load
+
+when loading the SPI, Dubbo will auto load the depency SPI. When one SPI implementation contains attribute which is also an SPI of another type,`ExtensionLoader` will automatically load the depency SPI. `ExtensionLoader` knows all the members of the specific SPI by scanning the setter method of all implementation class.
+
+Demo: two SPI `CarMaker`(car maker)、`WheelMaker` (wheel maker)
+
+Intefaces look like:
+
+```java
+public interface CarMaker {
+    Car makeCar();
+}
+ 
+public interface WheelMaker {
+    Wheel makeWheel();
+}
+```
+
+`CarMaker`'s implementation:
+
+```java
+public class RaceCarMaker implements CarMaker {
+    WheelMaker wheelMaker;
+ 
+    public setWheelMaker(WheelMaker wheelMaker) {
+        this.wheelMaker = wheelMaker;
+    }
+ 
+    public Car makeCar() {
+        // ...
+        Wheel wheel = wheelMaker.makeWheel();
+        // ...
+        return new RaceCar(wheel, ...);
+    }
+}
+```
+
+when `ExtensionLoader` loads `CarMaker`'s implementation `RaceCarMaker`, the method `setWheelMaker` needs paramType `WheelMaker` which is also a SPI, It will be automatically loaded.
+
+This brings a new question:How `ExtensionLoader` determines which implementation to use when load the injected SPI. As for this demo, when existing multi `WheelMaker` implementation, which one should the `ExtensionLoader` chooses.
+
+Good question, we will explain it in the following chapter: SPI Auto Adaptive.
+
+### SPI Auto Adaptive
+
+The depency SPI that `ExtensionLoader` injects is an instance of `Adaptive`, the real spi implementation is known until the adaptive instance is executed.
+
+Dubbo use URL (containing Key-Value) to pass the configuration.
+
+The SPI method invocation has the URL parameter(Or Entity that has URL attribute)
+
+In this way depended SPI can get configuration from URL, after config all SPI key needed, configuration information will be passed from outer by URL. URL acts as a bus when passing the config information.
+
+Demo: two SPI `CarMaker`、`WheelMaker`
+
+interface looks like:
+
+```java
+public interface CarMaker {
+    Car makeCar(URL url);
+}
+ 
+public interface WheelMaker {
+    Wheel makeWheel(URL url);
+}
+```
+
+`CarMaker`'s implementation:
+
+```java
+public class RaceCarMaker implements CarMaker {
+    WheelMaker wheelMaker;
+ 
+    public setWheelMaker(WheelMaker wheelMaker) {
+        this.wheelMaker = wheelMaker;
+    }
+ 
+    public Car makeCar(URL url) {
+        // ...
+        Wheel wheel = wheelMaker.makeWheel(url);
+        // ...
+        return new RaceCar(wheel, ...);
+    }
+}
+```
+
+when execute the code above
+
+```java
+// ...
+Wheel wheel = wheelMaker.makeWheel(url);
+// ...
+```
+
+, the injected `Adaptive` object determine which `WheelMaker`'s `makeWheel` method will be executed by predefined Key. Such as `wheel.type`, key `url.get("wheel.type")` will determine `WheelMake` implementation. The logic of`Adaptive` instance of fixed, getting the predefined Key of the URL, dynamically creating the real implementation and execute it.
+
+For Dubbo, the SPI `Adaptive` implementation in `ExtensionLoader` is dynamically created when dubbo is loading the SPI. Get the Key from URL, the Key will be provided through `@Adaptive` annotation for the interface method definition.
+
+Below is Dubbo Transporter SPI codes:
+
+```java
+public interface Transporter {
+    @Adaptive({"server", "transport"})
+    Server bind(URL url, ChannelHandler handler) throws RemotingException;
+ 
+    @Adaptive({"client", "transport"})
+    Client connect(URL url, ChannelHandler handler) throws RemotingException;
+}
+```
+
+for the method bind(), Adaptive will firstly search `server` key, if no Key were founded then will search `transport` key, to determine the implementation that the proxy represent for.
+
+
+### SPI Auto Activation
+
+As for Collections SPI, such as: `Filter`, `InvokerListener`, `ExportListener`, `TelnetHandler`, `StatusChecker` etc, multi implementations can be loaded at one time. User can simplify configuration by using auto activation, Like:
+
+```java
+import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.rpc.Filter;
+ 
+@Activate // Active for any condition
+public class XxxFilter implements Filter {
+    // ...
+}
+```
+
+Or:
+
+```java
+import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.rpc.Filter;
+ 
+@Activate("xxx") // when configed xxx parameter and the parameter has a valid value,the SPI is activated, for example configed cache="lru", auto acitivate CacheFilter.
+public class XxxFilter implements Filter {
+    // ...
+}
+```
+
+Or:
+
+```java
+import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.rpc.Filter;
+ 
+@Activate(group = "provider", value = "xxx") // only activate for provider, group can be "provider" or "consumer"
+public class XxxFilter implements Filter {
+    // ...
+}
+```
+
+
+[^1]: Note: The config file here is in you own jar file, not in dubbo release jar file, Dubbo will scan all jar files with the same filename in classpath and then merge them together
+[^2]: Note: SPI will be loaded in singleton pattern(Please ensure thread safety), cached in `ExtensionLoader` 
+
+
diff --git a/documentations/2.7/en-us/docs/dev/SUMMARY.md b/documentations/2.7/en-us/docs/dev/SUMMARY.md
new file mode 100644
index 0000000..29ece0d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/SUMMARY.md
@@ -0,0 +1,41 @@
+# Summary
+
+* [1 How To Build](./build.md)
+* [2 Architecture](./design.md)
+* [3 How SPI Works](./SPI.md) 
+* [4 Init, Process, Protocols](./implementation.md) 
+* [5 SPI Extensions](./impls/introduction.md)
+    * [5.1 Protocol](./impls/protocol.md)
+    * [5.2 Filter](./impls/filter.md)
+    * [5.3 InvokerListener](./impls/invoker-listener.md)
+    * [5.4 ExporterListener](./impls/exporter-listener.md)
+    * [5.5 Cluster](./impls/cluster.md)
+    * [5.6 Router](./impls/router.md)
+    * [5.7 LoadBalance](./impls/load-balance.md)
+    * [5.8 Merger](./impls/merger.md)
+    * [5.9 Registry](./impls/registry.md)
+    * [5.10 Monitor](./impls/monitor.md)
+    * [5.11 ExtensionFactory](./impls/extension-factory.md)
+    * [5.12 ProxyFactory](./impls/proxy-factory.md)
+    * [5.13 Compiler](./impls/compiler.md)
+    * [5.14 Dispatcher](./impls/dispatcher.md)
+    * [5.15 Threadpool](./impls/threadpool.md)
+    * [5.16 Serialization](./impls/serialize.md)
+    * [5.17 Remoting](./impls/remoting.md)
+    * [5.18 Exchanger](./impls/exchanger.md)
+    * [5.19 Networker](./impls/networker.md)
+    * [5.20 TelnetHandler](./impls/telnet-handler.md)
+    * [5.21 StatusChecker](./impls/status-checker.md)
+    * [5.22 Container](./impls/container.md)
+    * [5.23 PageHandler](./impls/page.md)
+    * [5.24 Cache](./impls/cache.md)
+    * [5.25 Validation](./impls/validation.md)
+    * [5.26 LoggerAdapter](./impls/logger-adapter.md)
+* [6 Contract](./contract.md)
+* [7 Code Style](./coding.md)
+* [9 Versions](./release.md)
+* [10 Contribution](./contribution.md)
+* [11 Checklist](./checklist.md)
+* [12 Code Smell](./code-smell.md)
+* [13 TCK](./TCK.md)
+
diff --git a/documentations/2.7/en-us/docs/dev/TCK.md b/documentations/2.7/en-us/docs/dev/TCK.md
new file mode 100644
index 0000000..29f41dd
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/TCK.md
@@ -0,0 +1,19 @@
+# Compatibility test
+
+Dubbo's protocol, communication, serialization, registry, load balancing and other SPI all offer alternative strategies for different application scenarios while our test cases are very scattered. Ours is always uncertain whether it can satisfy the complete contract of the extension point when users need to add a new implementation.     
+
+Thus we need to use TCK (Technology Compatibility Kit) for the core extension points.  When users add a new implementaion, compatibility with the rest of the framework can be ensured with TCK. This can effectively improve the overall health and also facilitate the access of the third party extenders, which accelerates the maturity of the open source community.
+
+Xingzhi from the open source community is already working on this part. His preliminary idea is to build a TCK framework for Dubbo drawing on the CDI-TCK of JBoss first, then realize the TCK implementing case of Dubbo. 
+
+Reference:http://docs.jboss.org/cdi/tck/reference/1.0.1-Final/html/introduction.html
+
+Anyone interested  is welcomed to work on this together. 
+
+#### Protocol TCK
+
+> TODO
+
+#### Registry TCK
+
+> TODO
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/build.md b/documentations/2.7/en-us/docs/dev/build.md
new file mode 100644
index 0000000..2e254f4
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/build.md
@@ -0,0 +1,81 @@
+# Source Code Build
+
+## Checkout
+
+checkout the lastest project source code with commands blow:
+
+```sh
+git clone https://github.com/apache/dubbo.git dubbo
+```
+
+## Branches
+
+We use `master` as the major branch for new feature development, and use other branches for maintenance. Tags for all versions can be checked via https://github.com/apache/dubbo/tags.
+
+## Building
+
+Dubbo relies on [maven](http://maven.apache.org) as the building tool.
+
+Requirements:
+
+* Java above 1.5 version
+* Maven version 2.2.1 or above    
+
+The following `MAVEN_OPTS`should be configured before building:
+
+```sh    
+export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m
+```
+
+build with below command:
+
+```sh
+mvn clean install
+```
+
+skip testing using below building command:
+
+```sh
+mvn install -Dmaven.test.skip
+```
+
+## Building jar package of source code 
+
+build Dubbo source code jar package with below command.
+
+```sh
+mvn clean source:jar install -Dmaven.test.skip
+```
+and modify the dubbo dependency in your sample project to the SANPSHOT version of the local repository, and then use remote debugger to debug dubbo.
+
+
+## IDE support
+
+use below command to generate IDE.
+
+### Intellij Idea
+
+```sh
+mvn idea:idea
+```
+
+### Eclipse
+
+```sh
+mvn eclipse:eclipse
+```
+
+Importing into eclipse
+
+Firstly, a maven repository needs to be configured in eclipse. Define `M2_REPO` and point it to the local maven repository by clicking `Preferences -> Java -> Build Path -> Classpath`.
+
+
+Use the following maven command as well: 
+
+```sh
+mvn eclipse:configure-workspace -Declipse.workspace=/path/to/the/workspace/
+```
+
+1: view the source code through https://github.com/apache/dubbo 
+2: path under UNIX is ${HOME}/.m2/repository, path under Windows is C:\Documents and Settings\<user>\.m2\repository
+
diff --git a/documentations/2.7/en-us/docs/dev/checklist.md b/documentations/2.7/en-us/docs/dev/checklist.md
new file mode 100644
index 0000000..dde1591
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/checklist.md
@@ -0,0 +1,19 @@
+# Checklist
+
+## Checklist before release
+
+* github milestones
+* github change lists
+* Travis CI
+* test code
+* find bugs
+
+## Checklist for bigfix versions
+
+* Create a _github issue_ before coding
+* Create _unit test_ before bugfix
+* Review
+* Test your code (Normal process / Abnormal process)
+* Record your design on _github issue_
+* Complete javadoc and comment in code
+* Manager for every version, responsible for scope and check
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/code-smell.md b/documentations/2.7/en-us/docs/dev/code-smell.md
new file mode 100644
index 0000000..dc72828
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/code-smell.md
@@ -0,0 +1,205 @@
+# Bad Smell
+
+Ugly Dubbo design or implementation will be record here.
+
+## URL Convertion
+
+### 1. Point to Point Service export and refer
+
+service directly export:
+
+```
+EXPORT(dubbo://provider-address/com.xxx.XxxService?version=1.0.0")
+```
+
+service directly refer:
+
+```
+REFER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)
+```
+
+### 2. Export servie by registry
+
+export service to registry:
+
+```
+EXPORT(registry://registry-address/org.apache.dubbo.registry.RegistrySerevice?registry=dubbo&export=ENCODE(dubbo://provider-address/com.xxx.XxxService?version=1.0.0))
+```
+
+accquire registry:
+
+```
+url.setProtocol(url.getParameter("registry", "dubbo"))
+GETREGISTRY(dubbo://registry-address/org.apache.dubbo.registry.RegistrySerevice)
+```
+
+registry service address:
+
+```
+url.getParameterAndDecoded("export"))
+REGISTER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)
+```
+
+### 3. Refer service from registry
+
+refer service from registry:
+
+```
+REFER(registry://registry-address/org.apache.dubbo.registry.RegistrySerevice?registry=dubbo&refer=ENCODE(version=1.0.0))
+```
+
+accquire registry:
+
+```
+url.setProtocol(url.getParameter("registry", "dubbo"))
+GETREGISTRY(dubbo://registry-address/org.apache.dubbo.registry.RegistrySerevice)
+```
+
+subscribe service address:
+
+```
+url.addParameters(url.getParameterAndDecoded("refer"))
+SUBSCRIBE(dubbo://registry-address/com.xxx.XxxService?version=1.0.0)
+```
+
+notify service address:
+
+```
+url.addParameters(url.getParameterAndDecoded("refer"))
+NOTIFY(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)
+```
+
+### 4. Registry push route rule
+
+registry push route rule:
+
+```
+NOTIFY(route://registry-address/com.xxx.XxxService?router=script&type=js&rule=ENCODE(function{...}))
+```
+
+accquire routers:
+
+```
+url.setProtocol(url.getParameter("router", "script"))
+GETROUTE(script://registry-address/com.xxx.XxxService?type=js&rule=ENCODE(function{...}))
+```
+
+### 5. Load route rule from file
+
+load route rule from file:
+
+```
+GETROUTE(file://path/file.js?router=script)
+```
+
+accquire routers:
+
+```
+url.setProtocol(url.getParameter("router", "script")).addParameter("type", SUFFIX(file)).addParameter("rule", READ(file))
+GETROUTE(script://path/file.js?type=js&rule=ENCODE(function{...}))
+```
+
+## Invoke parameters
+
+* path      service path
+* group    service group
+* version  service version
+* dubbo   current dubbo release version
+* token    verify token
+* timeout   invocation timeout
+
+## SPI Loading
+
+### 1. SPI Auto Adaptive
+
+When ExtensionLoader loads SPI, It will check spi attributes(using set method) . If one attribute is SPI, ExtensionLoader  will load the SPI implementation. Auto injected object is an adaptive instance(proxy) ,because the real implementation is confirmed only in execution stage.。when adaptive spi is invoked, Dubbo will choose the real implementation and executes it. Dubbo choose the right implementation according to the parameters that the mehod defines.
+
+All the inner SPIs that  Dubbo defines have the URL  parameter defined for the method invocation. Adaptive SPI uses URL to determine which implementation is needed. One specific Key and Value in the URL confirms the usage of the specific implementation, All these is done by adding `@Adaptive`  annotation.
+
+```java
+@Extension
+public interface Car {
+    @Adaptive({"http://10.20.160.198/wiki/display/dubbo/car.type", "http://10.20.160.198/wiki/display/dubbo/transport.type"})
+    public run(URL url, Type1 arg1, Type2 arg2);
+}
+```
+
+For the rules above,ExtensionLoader  will create a adaptive instance for each SPI injected.
+
+ExtensionLoader generated adaptive classes  look like :
+
+```java
+package <package name for SPI interface>;
+ 
+public class <SPI interface name>$Adpative implements <SPI interface> {
+    public <contains @Adaptive annotation method>(<parameters>) {
+        if(parameters containing URL Type?) using URL parameter
+        else if(method returns URL) using the return URL
+        # <else throw exception,inject SPI fail!>
+         
+        if(URL accquired == null) {
+            throw new IllegalArgumentException("url == null");
+        }
+ 
+        According to the Key order from @Adaptive annotation,get the Value from the URL as the real SPI name
+        if no value is found then use the default SPI implementation。If no SPI point, throw new IllegalStateException("Fail to get extension");
+ 
+        Invoke the method using the spi and return the result.
+    }
+ 
+    public <method having annotation @Adaptive>(<parameters>) {
+        throw new UnsupportedOperationException("is not adaptive method!");
+    }
+}
+```
+
+`@Adaptive`  annotation usage:
+
+If no value is configed for those Keys in URL,default SPI implementation is used。For example ,String[] {"key1", "key2"},firstly Dubbo will look up value for key1 and use it as SPI name;if key1 value is not founded then look up for key2,if value of key2 is also not found ,then use default spi implementation. If no default implementation is configed, then the method will throw IllegalStateException。if not configed , then default implement is lower case of the interface class full package n [...]
+
+## Callback Function
+
+### 1. Parameter Callback
+
+main theory : in the persistent connection for one consumer->provider,export a service in  Consumer side,provider  side can reversely call the instance in consumer side.
+
+Implement details:
+
+* For exchanging interface instance in transmition, auto export and auto refer is implemented in DubboCodec . Need to seperate business logic and codec logic.
+* you will need to judge whether needing callback when getting exporter from invocation,if needed, get the callback instance id from the attachments. By using this method, consumer side can implement the callback interface with different implementations.
+
+### 2. Event Notification
+
+main theory : when Consumer  executing invoke method,judging if any configuration for  onreturn/onerror... put  the method for onreturn to the callback list of the async invocatioin.
+
+Implement details:parameters is passed using URL,but string-object is not supported for URL, so the method is stored in  staticMap,it needs to be optimized.
+
+## Lazy Connection
+
+DubboProtocol  specific features, default disabled
+
+When client creating proxy for server, do not establish TCP persistent connection at first, only init the connecton when data is needing transmision.
+
+This feather will disable the connection retry policy , resend the data again(if connection is lost when sending data ,try to establish a new connection to send data)
+
+## Share Connection
+
+DubboProtocol specific features, default enabled。
+
+JVM A export many services,JVM B  refer more than one services of A,Share Connection means those different services invocations between A and B uses the same TCP connection  to transmit data, reducing server connections.
+
+Implement details:when using share connection for the same address,you need pay more attention to the invoker's destroy action.on one hand, you should close the connection when all the invokers refering the same address is destroyed, on another hand ,you should not close the connection when not all of the invokers are destroyed. In design implementation, we uses a strategy called reference count , we create a connection called Lazy connection for exceptions not affacting business when cl [...]
+
+## sticky policy
+
+when existing many providers and configing the sticky policy,invocation will be sent to the same provider as last invocation. Sticky Policy opens the lazy attribute of connection, for avoiding open useless connectons.
+
+## provider selecting logic
+
+0. existing multi providers,firstly select by Loadbalance 。If the selected  provider is available ,then just doing the invocation
+1. If the selected provider is not available in stage 1, then choose from the remaining ,if available then doing the inovation
+2. If all providers are not available , rescan the list(not choosen invoker first),juding if any provider is available, if existing,doing the invocatiion.
+3. If no available provider in stage 3, then the next invoker of the invoker of stage 1 will be choosen(if not the last one),avoiding collision.
+
+
+
diff --git a/documentations/2.7/en-us/docs/dev/coding.md b/documentations/2.7/en-us/docs/dev/coding.md
new file mode 100644
index 0000000..1117083
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/coding.md
@@ -0,0 +1,53 @@
+# Coding convention
+
+## Code style
+
+The source and JavaDoc of Dubbo follow below specifications:
+
+* [Code Conventions for the Java Programming Language](http://www.oracle.com/technetwork/java/codeconvtoc-136057.html)
+* [How to Write Doc Comments for the Javadoc Tool](http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html)
+
+## Exception and Logging
+
+* Log more context information as possible, such as error reason, error server address, client address, registry center address, dubbo version and so on.
+* Try to put the main cause at the front, and display all other context information with key-value paris after it.
+* Log is not printed where the exception is thrown, log level is determined by the final exception handler, and must print log when dicarding exception.
+* `ERROR` log means NEED TO ALARM, `WARN` log means COULD AUTO RECOVERY, `INFO` long mean NORMAL.
+* Suggestion: config `ERROR` log in Monitor center for real-time alarm, summary and send `WARN` log weekly.
+* `RpcException` is the ONLY external exception of Dubbo,all internal exceptions mush be transfered to `RpcException` if need to throw out to user.
+* `RpcException` CAN NOT have sub-class, all types of information are identified with ErrorCode in order to keep compatible.
+
+## Configuration and URL
+
+* Use initials and camelCase for multiple words for object properties [^1].
+* Use lowercase and split by '-' for multiple words for config properties [^2].
+* Use lowercase and split by '.' for multiple words for URL properties [^3].
+* Use URL transfer parameters as possible, Don't define Map or other types, config information also transfer to URL style.
+* Minimize URL nesting to keep URL simplicity.
+
+## Unit testing and integration testing
+
+* Use JUnit and EasyMock for unit testing, use TestNG for integration testing, use DBUnit for database testing.
+* Don't put large integration test case in unit testing for running speed of unit test case.
+* Use `try...finally` or `tearDown` to release resource for all test cases of unit testing.
+* Minimize test case that with `while` loop which need waiting repsonse, use to make the logic in timer as function for timer and net testing.
+* For fail-safe testing, unified use `LogUtil` assertion log output.
+
+## Extension point base class and AOP
+
+* AOP class should be named as `XxxWrapper`,Base class should be named as `AbstractXxx`.
+* Use AOP for combine relationship between extension points, `ExtensionLoader` only loads extension points, including AOP extension.
+* Try to use Ioc inject dependency of extension points, Don't direct dependent on factory method of `ExtensionLoader`.
+* Try to use AOP implement the common action of extension points, instead of using base class, such as the `isAvailable` checking before load balancing, which is independent of load balance. Close the URL paramters which no need to check.
+* Use base class for abstaction for a variety of similar types, such as RMI, Hessian 3rd protocols which have generated interface proxy, only transfer interface proxy to `Invoker` to complete bridging, and public base class can do the logic.
+* The base class is also part of the SPI, and each extension should have a convenient base class support.
+
+## Module and packaging
+
+* Base on reusability for packaging, dividing the interface, base class and large implementation into separate modules.
+* Put all interfaces under the base package of module, and put base classes in support subpackage, different implementations are placed under the subpackage named by extension point.
+* Try to keep subpackage dependent on parent package, NOT reverse.
+
+[^1]: Java convention
+[^2]: Spring convention
+[^3]: Dubbo convention
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/contract.md b/documentations/2.7/en-us/docs/dev/contract.md
new file mode 100644
index 0000000..1f43d01
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/contract.md
@@ -0,0 +1,14 @@
+# Public Agreement
+
+This document is Dubbo public agreement, we expect all extension points comply with it.
+
+## URL
+
+* All extension points must include URL parameter, design URL as a context information which throughouts the whole extension point design system.
+* URL standard style: `protocol://username:password@host:port/path?key=value&key=value`
+
+## Logging
+
+* Print `ERROR` log for unrecoverable and NEED TO ALARM situation.
+* Print `WARN` log for recoverable exception or transient state inconsistency.
+* Print `INFO` log for normally status.
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/contribution.md b/documentations/2.7/en-us/docs/dev/contribution.md
new file mode 100644
index 0000000..9bd05ef
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/contribution.md
@@ -0,0 +1,89 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+# Contribution
+
+## Flow
+
+* Direct adding new project, black-box dependent on Dubbo for function extension.
+* Fork Dubbo on Github for BUG fixing or modify the framework.
+* Pull Request after changing.
+
+## Tasks
+
+Funcation  | Type | Priority | Status | Claimer | Plan complete time | progress
+------------- | ------------- | ------------- | ------------- | ------------- | ------------- | -------------
+<Use Guideline> Translation | Document | High | Unclaimed | Pending | Pending | 0%
+<Developing Guideline> translation |Document | High | Unclaimed | Pending | Pending |0%
+Extension point compatibility testing |Testing | High | Claimed | 罗立树 | Pending | 0%
+Performance benchmark testing | Testing | High | Unclaimed | Pending | Pending | 0%
+Functional unit testing | Testing | High | Unclaimed | Pending | Pending | 0%
+JTA/XA distributed transaction | Interceptor extension | High | Unclaimed | Pending | Pending | 0%
+Thrift | Protocol extension | High | Developing done | 闾刚 | 2012-04-27 | 90%
+ICE | Protocol extension | High | Unclaimed | Pending | Pending | 0%
+ACE | Protocol extension | Low | Unclaimed | Pending | Pending | 0%
+JSON-RPC | Protocol extension | Low | Unclaimed | Pending | Pending | 0%
+XML-RPC | Protocol extension | Low | Unclaimed | Pending | Pending | 0%
+JSR181&CXF(WebService) | Protocol extension | High | Developing done | 白文志 | 2012-04-27 | 90%
+JSR311&JSR339(RestfulWebService) | Protocol extension | High | Unclaimed | Pending | Pending | 0%
+JMS&ActiveMQ | Protocol extension | High | Unclaimed | Pending | Pending | 0%
+Protobuf | Serialization extension | High | Researching | 朱启恒 | 2012-02-30 | 20%
+Avro | Serialization extension | Low | Unclaimed | Pending | Pending | 0%
+XSocket | Transmission extension | Low | Unclaimed | Pending | Pending | 0%
+CGLib | Dynamic proxy extension | Low | Unclaimed | Pending | Pending | 0%
+JNDI | Registry extension | High | Unclaimed | Pending | Pending | 0%
+LDAP | Registry extension | Low | Unclaimed | Pending | Pending | 0%
+JSR140&SLP | Registry extension | High | Unclaimed | Pending | Pending | 0%
+UDDI | Registry extension | High | Unclaimed | Pending | Pending | 0%
+JMX | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+SNMP | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+Cacti | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+Nagios | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+Logstash | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+JRobin | Monitoring expansion | High | Unclaimed | Pending | Pending | 0%
+Maven | Package management | Low | Unclaimed | Pending | Pending | 0%
+Subversion | Package management | Low | Unclaimed | Pending | Pending | 0%
+JCR/JSR283 | Package management | Low | Unclaimed | Pending | Pending | 0%
+SimpleDeployer | Local deployment agent | Low | Unclaimed | Pending | Pending | 0%
+SimpleScheduler | Scheduler | Low | Unclaimed | Pending | Pending | 0%
diff --git a/documentations/2.7/en-us/docs/dev/design.md b/documentations/2.7/en-us/docs/dev/design.md
new file mode 100644
index 0000000..defd2ff
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/design.md
@@ -0,0 +1,99 @@
+# Framework Design
+
+## Overall design
+
+![/dev-guide/images/dubbo-framework.jpg](sources/images/dubbo-framework.jpg)
+
+Image description:
+
+* Left area with light blue background shows service consumer interfaces, Right area with light green background shows service provider interfaces, center area shows both side interfaces.
+* The image is divided into 10 layers from the bottom to the top, and the layers are one-way dependence. The black arrow on the right represents the dependency between layers, and each layer can be stripped from the upper layer to be reused, the Service and Config layers are API, and the other layers are SPI.
+* Green boxes are extension interfaces, blue boxes are implementation classes, image only shows implementation class of associated layers.
+* The blue dashed line is the initialization process, which is assembly chain when starting, red line for the method call process, which is calling chain when running, purple triangle arrow is inherited, can treat subclass as the same node of parent class, text of lines are the method invocation.
+
+## Layer description
+
+* **config layer**: external config interface, `ServiceConfig` and `ReferenceConfig` is the center of the layer, you can directly initialize config class, also can generate config class by spring.
+* **proxy layer**: transparent proxy of service interface, generate client Stub of service and server Skeletion of service, `ServiceProxy` is the center, extension interface is `ProxyFactory`.
+* **registry layer**: encapsulation of service registry and discovery, service URL is the center, extension interfaces are `RegistryFactory`, `Registry` and `RegistryService`.
+* **cluster layer**: encapsulation of cluster of muliple providers and load balance, and bridging registration center, `Invoker` is the center, extension interfaces are `Cluster`, `Directory`, `Router`, `LoadBalance`.
+* **monitor layer**: monitor of RPC call times and call execute time, `Statistics` is the center, extension interface are `MonitorFactory`, `Monitor`, `MonitorService`
+* **protocol layer**: encapsulation of RPC, `Invocation` and `Result` are the center, extension interfaces are `Protocol`, `Invoker`, `Exporter`
+* **exchange layer**: encapsulation of request and response, synchronous transfer asynchronous, `Request` and `Response` are the center, extension interfaces are `Exchanger`, `ExchangeChannel`, `ExchangeClient`, `ExchangeServer`
+* **transport layer**: abstraction of mina and netty, `Message` is the center, extension interfaces are `Channel`, `Transporter`, `Client`, `Server`, `Codec`
+* **serialize layer**: reusable tools, extension interfaces are `Serialization`, `ObjectInput`, `ObjectOutput`, `ThreadPool`
+
+## Relationship description
+
+* In RPC, Protocol is the core layer, it means that you can complete RPC calling by Protocol + Invoker + Exporter, then filter at the main process of Invoker.
+* Consumer and Provider are abstraction concepts, just want you have a more intuitive understanding of which classes belong to the client and server side, the reason not use Client and Server is that Dubbo uses Provider, Consumer, Registry, Monitor divide logical topology node in many scenes, keep the concept of unity.
+* Cluster is external concept, the purpose of Cluster is that make various Invoker disguise to one Invoker, so that we just pay attention to the Invoker in Protocol layer, adding Cluster or removing Cluster will not affect other layers, because we don't need Cluster when only have one provider.
+* The Proxy layer encapsulates the transparent proxy for all interfaces, and in other layers with Invoker as the center, turn Invoker into interface, or turn interface implementation into Invoker by Proxy only when exposuring to user. RPC still work even removing Proxy layer, but not so transparent, making remote service calling don't look like local service calling.
+* Remoting is the implemetation of Dubbo protocols, you can remove Remoting if choosing RMI. The Remoting is divided into Transport layer and Exchange layer, Transport layer is responsible for one-way message transmission, it's abstraction of Mina, Netty, Grizzly, it also can extend UDP transmission. The Exchange layer encapsulates the Request-Response semantics over the transport layer.
+* Actually Registry and Monitor are not at the same layer, they are independent nodes, draw them together by layer just for global view.
+
+## Modules packaging
+
+![/dev-guide/images/dubbo-modules.jpg](sources/images/dubbo-modules.jpg)
+
+Modules description:
+
+* **dubbo-common module**: includes Util classes and common modules.
+* **dubbo-remoting module**: is Dubbo protocol implementation, no need to use this module if using RMI for RPC.
+* **dubbo-rpc module**: abstraction of various protocols, and dynamic proxy, only one to one call, not concerned with the management of cluster.
+* **dubbo-cluster module**: disguise many service providers as one provider, including load balancing, fault tolerance, routing, etc. the address list of clusters can be either static or send by registry.
+* **dubbo-registry module**: Based on the cluster of registry send address and the abstraction of various registry centers.
+* **dubbo-monitor module**: statistics of service call times, call time, call chain tracked services.
+* **dubbo-config module**: is Dubbo external API, users use Dubbo by Config, hide Dubbo details.
+* **dubbo-container module**: is a Standlone container, just use Main method to load Spring, because usually service no need Tomcat/JBoss features.
+
+Package dividing according to the layer structure, and the difference with layer dividing:
+
+* container is service container, for service running deployment, not showed in the image.
+* protocol layer and proxy layer are placed in RPC module, they are the core of RPC module, you can use these 2 layers complete RPC call when only have 1 provider.
+* transport layer and exchange layer are placed in remoting module, for RPC call base comminucation.
+* serialize layer is placed in common module, for reuse.
+
+## Dependence relationship
+
+![/dev-guide/images/dubbo-relation.jpg](sources/images/dubbo-relation.jpg)
+
+Image description:
+
+* The boxes in image, Protocol, Cluster, Proxy, Service, Container, Registry, Monitor represent layer or module, the blues mean interactive with business, the greens mean only internal interactive with Dubbo.
+* The backgroud boxes in image, Consumer, Provider, Registry, Monitor represent deployment logical topology node.
+* The blue dashed line in the image is called for initialization, the red dashed line is called asynchronously for runtime, and the red line is called synchronously for runtime.
+* The image only includes RPC layer, don't includes Remoting layer, the whole Remoting hides in Protocol layer.
+
+## Call chain
+
+Expand the red call chain of the overall design map:
+
+![/dev-guide/images/dubbo-extension.jpg](sources/images/dubbo-extension.jpg)
+
+## Expose service sequence
+
+Expand the initialization chain of service provider exposes service which at the left of the overall design map, the sequence diagram shows below:
+
+![/dev-guide/images/dubbo-export.jpg](sources/images/dubbo-export.jpg)
+
+## Reference service sequence
+
+Expand the initialization chain of service consumer references service which at the right of the overall design map, the sequence diagram shows below:
+
+![/dev-guide/images/dubbo-refer.jpg](sources/images/dubbo-refer.jpg)
+
+## Domain model
+
+The core domain models of Dubbo:
+
+* Protocol is service domain, it is the main function entrance of Invoker exposure and reference, it is responsible for the life cycle management of Invoker.
+* Invoker is entity domain, it is the core model of Dubbo, all the other models are disturbed, or converted to it, it represents an executable, you can call it by calling invoke, it can be a local implementation, a remote implementation, or a cluster implementation.
+* Invocation is session domain, it holds variables in the calling process, such as the method name, the parameters, and so on.
+
+## Base design principle
+
+* Use Microkernel + Plugin design pattern,Microkernel only responsible for assembly Plugin, the functions of Dubbo are implemented by extension points, it means that all functions of Dubbo can be replaced by self defined extension by user.
+* Use URL to be the startdard format of config information, all extension points transfer config information by URL.
+
+More design principles refer to: [Framework design principle](./principals/introduction.md)
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/implementation.md b/documentations/2.7/en-us/docs/dev/implementation.md
new file mode 100644
index 0000000..5443c57
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/implementation.md
@@ -0,0 +1,155 @@
+# Implementation details
+
+## Initialization details
+
+### Service parsing
+
+Based on `META-INF/spring.handlers` config in dubbo.jar, Spring calls `DubboNamespaceHandler` when meeting dubbo namespace.
+
+All Dubbo tags are parsed by `DubboBeanDefinitionParser`, based on one to one attribute mapping, the XML label is parsed as a Bean object.
+
+Transfer Bean object to URL, and transfer all attributes of Bean to URL parameters when `ServiceConfig.export()` or `ReferenceConfig.get()` initialization.
+
+Then pase URL to [Protocol extension point](./impls/protocol.md), based on [Extension point adaptive mechanism](./SPI.md) of extension point, processing service exposure or reference for different protocols according to URL protocol header.
+
+### Service Exposure
+
+#### 1. Only expose service port:
+
+Direct exposing to provider when have not Registry, [^1], the URL format which parsing by `ServiceConfig`:
+`dubbo://service-host/com.foo.FooService?version=1.0.0`.
+
+Based on extension point adaptive mechanism, call `export()` method of `DubboProtocol` and open server port by identifying `dubbo://` protocol header of URL.
+
+#### 2. Expose to Registry:
+
+Expose provider address to Registry [^2], the URL format which parsing by `ServiceConfig`: `registry://registry-host/org.apache.dubbo.registry.RegistryService?export=URL.encode("dubbo://service-host/com.foo.FooService?version=1.0.0")`,
+
+Based on extension point adaptive mechanism, call `export()` method of `RegistryProtocol` by identifying  `registry://` protocol header, register the provider URL parameter of `export` to Registry.
+
+Resend to `Protocol` extension point to do exposure: `dubbo://service-host/com.foo.FooService?version=1.0.0`, then based on extension point adaptive mechanism, call `export()` method of `DubboProtocol` and open server port by identifying `dubbo://` protocol header of provider URL.
+
+### Service Reference
+
+#### 1. Direct connect service
+
+Direct connect provider when have not Registry [^3], the URL format which parsing by `ReferenceConfig`: `dubbo://service-host/com.foo.FooService?version=1.0.0`.
+
+Based on extension point adaptive mechanism, call `refer()` method of `DubboProtocol` by identifying `dubbo://` protocol header of URL, and return provider reference.
+
+#### 2. Service Registry discovery
+
+Discover provider address by Registry [^4], the URL format which parsing by `ReferenceConfig`:
+`registry://registry-host/org.apache.dubbo.registry.RegistryService?refer=URL.encode("consumer://consumer-host/com.foo.FooService?version=1.0.0")`.
+
+Based on extension point adaptive mechanism, call `refer()` method of `RegistryProtocol` by identifying `registry://` protocol header of URL, then based on the condition of parameter of `refer` to search provider URL, for example: `dubbo://service-host/com.foo.FooService?version=1.0.0`.
+
+Then based on extension point adaptive mechanism, call `refer()` method of `DubboProtocol` to get provider reference by identifying `dubbo://` protocol header of provider URL.
+
+Then `RegistryProtocol` disguise various provider references to single provider by `Cluster` extension point and return.
+
+### Service Filter
+
+Based on extension point adaptive mechanism, all `Protocol` extension points are auto wrapped `Wrapper` class.
+
+Based on `ProtocolFilterWrapper` class, make all `Filter` as chain, call the real reference at the end of the chain.
+
+Based on `ProtocolListenerWrapper` class, make all `InvokerListener` and `ExporterListener` as list, perform call back before and after exposure and reference.
+
+All additional functions would be implementated by `Filter`, including Monitor.
+
+## RPC details
+
+### The detail process of exposing service by service provider
+
+![/dev-guide/images/dubbo_rpc_export.jpg](sources/images/dubbo_rpc_export.jpg)
+
+The above image shows the main process of exposing service by service provider:
+
+First `ServiceConfig` class get the actual class `ref` that provides service(e.g. 如:HelloWorldImpl), then generating a `AbstractProxyInvoker` instance by the `getInvoker` method of `ProxyFactory` class, to this step, complete the transformation of specific service to `Invoker`, next is the process of converting `Invoker` to `Exporter`.
+
+The key of Dubbo processing service exposure is the process of converting `Invoker` to `Exporter`, the red part in the above image. Here we introduce the implementation of the two typical protocols, Dubbo and RMI:
+
+#### Dubbo implementation
+
+The transformation from `Invoker` of Dubbo protocol to `Exporter` takes place in the `export` method of `DubboProtocol` class, it mainly opens the socket to listen service and receive all kinds of requests sent by the client, and the communication details are implementated by Dubbo itself.
+
+#### RMI implementation
+
+The transformation from `Invoker` of RMI protocol to `Exporter` takes place in the `export` method of `RmiProtocol` class, the RMI service is implementated by Spring, Dubbo or JDK, and the communication details are implementated by JDK, which saves a lot of work.
+
+### The detail process of serving service for service consumer
+
+![/dev-guide/images/dubbo_rpc_refer.jpg](sources/images/dubbo_rpc_refer.jpg)
+
+The above image is the main process of service consumption:
+
+First, the `init` method of `ReferenceConfig` class calls the `refer` method of `Protocol` to generate `Invoker` instance(such as the red part in the above image), which is the key of service consumption. Then the `Invoker` is converted to the interface required by the client (such as: HelloWorld).
+
+For each protocol such as RMI/Dubbo/Web service, the details they call `refer` method generate `Invoker` instance are similar to the previous section.
+
+### Invoker everywhere
+
+Because of `Invoker` is a very important concept in the Dubbo domain model, many of the design ideas are close to it. This makes `Invoker` permeate the entire implementation code, and it's really easy to mix up for people who have just started Dubbo.
+
+Let's use a simple image below to describe the 2 important `Invoker`: service provider `Invoker` and service consumer `Invoker`:
+
+![/dev-guide/images/dubbo_rpc_invoke.jpg](sources/images/dubbo_rpc_invoke.jpg)
+
+To better explain the above image, we provide the below code examples of service consumption and providers:
+
+Service consumer code:
+
+```java
+public class DemoClientAction {
+ 
+    private DemoService demoService;
+ 
+    public void setDemoService(DemoService demoService) {
+        this.demoService = demoService;
+    }
+ 
+    public void start() {
+        String hello = demoService.sayHello("world");
+    }
+}
+```
+
+The `DemoService` in above code is the proxy of service consumer in above image, user can call `Invoker` [^5] which implementate the real RPC by the proxy.
+
+Service provider code:
+
+```java
+public class DemoServiceImpl implements DemoService {
+ 
+    public String sayHello(String name) throws RemoteException {
+        return "Hello " + name;
+    }
+}
+```
+
+The above class would be encapsulated to be a `AbstractProxyInvoker` instance, and create a new `Exporter` instance, then find corresponding `Exporter` instance and call its corresponding `AbstractProxyInvoker` instance when network communication layer recieve request, so that real call service provider code. There are some other `Invoker` classes, but the above 2 are the most important.
+
+## Remote communication details 
+
+### Protocol header agreement
+
+![/dev-guide/images/dubbo_protocol_header.jpg](sources/images/dubbo_protocol_header.png)
+
+### Thread dispatch model
+
+![/dev-guide/images/dubbo-protocol.jpg](sources/images/dubbo-protocol.jpg)
+
+* Dispather: `all`, `direct`, `message`, `execution`, `connection`
+* ThreadPool: `fixed`, `cached`
+
+
+[^1]: is `<dubbo:service regisrty="N/A" />` or `<dubbo:registry address="N/A" />`
+
+[^2]: is `<dubbo:registry address="zookeeper://10.20.153.10:2181" />`
+
+[^3]: is `<dubbo:reference url="dubbo://service-host/com.foo.FooService?version=1.0.0" />`
+
+[^4]: is `<dubbo:registry address="zookeeper://10.20.153.10:2181" />`
+
+[^5]: is one of `DubboInvoker`, `HessianRpcInvoker`, `InjvmInvoker`, `RmiInvoker`, `WebServiceInvoker`
diff --git a/documentations/2.7/en-us/docs/dev/impls/cache.md b/documentations/2.7/en-us/docs/dev/impls/cache.md
new file mode 100644
index 0000000..f7e677e
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/cache.md
@@ -0,0 +1,84 @@
+# Cache Extension
+
+## Summary
+
+Cache the return value, use request parameter as the key.
+
+## Extension Interface
+
+`org.apache.dubbo.cache.CacheFactory`
+
+## Extension Configuration
+
+```xml
+<dubbo:service cache="lru" />
+<!-- method level cache -->
+<dubbo:service><dubbo:method cache="lru" /></dubbo:service> 
+<!-- 缺省值设置,当<dubbo:service>没有配置cache属性时,使用此配置 -->
+<!-- default configuration, will take affect if cache attribute isn't configured in <dubbo:service> -->
+<dubbo:provider cache="xxx,yyy" /> 
+```
+
+## Existing Extensions
+
+* `org.apache.dubbo.cache.support.lru.LruCacheFactory`
+* `org.apache.dubbo.cache.support.threadlocal.ThreadLocalCacheFactory`
+* `org.apache.dubbo.cache.support.jcache.JCacheFactory`
+
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxCacheFactory.java (CacheFactory implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.cache.CacheFactory (plain text file with contents: xxx=com.xxx.XxxCacheFactory)
+```
+
+XxxCacheFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.cache.CacheFactory;
+ 
+public class XxxCacheFactory implements CacheFactory {
+    public Cache getCache(URL url, String name) {
+        return new XxxCache(url, name);
+    }
+}
+```
+
+XxxCacheFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.cache.Cache;
+ 
+public class XxxCache implements Cache {
+    public Cache(URL url, String name) {
+        // ...
+    }
+    public void put(Object key, Object value) {
+        // ...
+    }
+    public Object get(Object key) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.cache.CacheFactory:
+
+```properties
+xxx=com.xxx.XxxCacheFactory
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/impls/cluster.md b/documentations/2.7/en-us/docs/dev/impls/cluster.md
new file mode 100644
index 0000000..10be923
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/cluster.md
@@ -0,0 +1,74 @@
+# Cluster Extension
+
+## Summary
+
+Group service providers in a cluster, and treat them as one single provider.
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.cluster.Cluster`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol cluster="xxx" />
+<!-- default configuration, will take affect if cluster attribute is not configured in <dubbo:protocol>  -->
+<dubbo:provider cluster="xxx" />
+```
+
+## Existing Extensions
+
+* `org.apache.dubbo.rpc.cluster.support.FailoverCluster`
+* `org.apache.dubbo.rpc.cluster.support.FailfastCluster`
+* `org.apache.dubbo.rpc.cluster.support.FailsafeCluster`
+* `org.apache.dubbo.rpc.cluster.support.FailbackCluster`
+* `org.apache.dubbo.rpc.cluster.support.ForkingCluster`
+* `org.apache.dubbo.rpc.cluster.support.AvailableCluster`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxCluster.java (Cluster implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.cluster.Cluster (plain text file with the content: xxx=com.xxx.XxxCluster)
+```
+
+XxxCluster.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.cluster.Cluster;
+import org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker;
+import org.apache.dubbo.rpc.cluster.Directory;
+import org.apache.dubbo.rpc.cluster.LoadBalance;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.Invocation;
+import org.apache.dubbo.rpc.Result;
+import org.apache.dubbo.rpc.RpcException;
+ 
+public class XxxCluster implements Cluster {
+    public <T> Invoker<T> merge(Directory<T> directory) throws RpcException {
+        return new AbstractClusterInvoker<T>(directory) {
+            public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
+                // ...
+            }
+        };
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.cluster.Cluster:
+
+```properties
+xxx=com.xxx.XxxCluster
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/compiler.md b/documentations/2.7/en-us/docs/dev/impls/compiler.md
new file mode 100644
index 0000000..46c0e3d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/compiler.md
@@ -0,0 +1,55 @@
+# Compiler Extension
+
+## Summary
+
+Java compiler, used for byte code dynamic generation for RPC invocation.
+
+## Extension Interface
+
+`org.apache.dubbo.common.compiler.Compiler`
+
+## Extension Configuration
+
+No configuration required, the extension will be automatically discovered and loaded.
+
+## Existing Extensions
+
+* `org.apache.dubbo.common.compiler.support.JdkCompiler`
+* `org.apache.dubbo.common.compiler.support.JavassistCompiler`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxCompiler.java (Compiler implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.compiler.Compiler (plain text file with the content: xxx=com.xxx.XxxCompiler)
+```
+
+XxxCompiler.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.compiler.Compiler;
+ 
+public class XxxCompiler implements Compiler {
+    public Object getExtension(Class<?> type, String name) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.compiler.Compiler:
+
+```properties
+xxx=com.xxx.XxxCompiler
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/config-center.md b/documentations/2.7/en-us/docs/dev/impls/config-center.md
new file mode 100644
index 0000000..2d52c37
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/config-center.md
@@ -0,0 +1,96 @@
+# Dubbo Configuration Center
+
+## Design Purpose
+
+The key function of CC(Configuration Center) is to act as a Key-Value store. Dubbo Framework tells CC the key it care about, CC return the corresponding value.
+
+Divided by application scenarios, CC mainly undertake the following responsibilities in Dubbo Framework:
+
+- As a external configuration center, CC store configuration files like dubbo.properties, where the key is usually file name like dubbo.properties, and value is content of the file.
+- Store single configuration items, like all kinds of switchs, contants, etc.
+- Store service governance rules, where the key is usually formated like "ServiceName+RuleType", while value is the specific governance rule.
+
+Dubbo CC also introduced concepts of `namespace` and `group` to better manage Key-Value pairs by group, those concepts are already built-in in many professional third-party configuration centers. In most cases, `namespace` is used to isolate different tetants, while `group` is used to divid the key set from one tetant into groups.
+
+Dubbo CC has currently supported Zookeeper, Nacos, Etcd, Consul, Apollo, next we will see how Dubbo CC is mapped to a specific third-party implementation.
+
+## Extension Interface
+
+* `org.apache.dubbo.configcenter.DynamicConfigurationFactory`
+* `org.apache.dubbo.configcenter.DynamicConfiguration`
+
+## Existing Extension
+
+* `org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigurationFactory`
+* `org.apache.dubbo.configcenter.support.nacos.NacosDynamicConfigurationFactory`
+* `org.apache.dubbo.configcenter.support.etcd.EtcdDynamicConfigurationFactory`
+* `org.apache.dubbo.configcenter.consul.ConsulDynamicConfigurationFactory`
+* `org.apache.dubbo.configcenter.support.apollo.ApolloDynamicConfigurationFactory`
+* `org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfigurationFactory`
+
+## Implementation
+
+### Zookeeper
+
+Zookeeper provided a tree-structure storage model, the implementation is as follows:
+
+![image-20190127225608553](/img/configcenter_zk_model.jpg)
+
+namespace, group, key are corresponded to different levels of ZNodes, while value is content of the key ZNode.
+
+1. External configuration cetner dubbo.properties
+
+   ![image-20190127225608553](/img/configcenter_zk_properties.jpg)
+   
+   The figure above shows the storage structure of the dubbo.properties file in two different scopes in zookeeper:
+   - namespace: both are 'dubbo'
+   - group: 'dubbo' is globally shared by all applications; 'demo-provider' is application level, only affect the specific application
+   - key: dubbo.properties
+   
+2. Single configuration item
+
+   ![image-20190127225608553](/img/configcenter_zk_singleitem.jpg)
+   
+   The figure above shows how we set the shutdown wait time to 15000:
+   - namespace: dubbo
+   - group: dubbo
+   - key: dubbo.service.shutdown.wait
+   - value: 15000
+     
+3. Service governance rule
+
+    ![image-20190127225608553](/img/configcenter_zk_rule.jpg)
+    
+    The figure above shows an application-level conditional routing rule:
+    
+    - namespace:dubbo
+    - group:dubbo
+    - key:governance-conditionrouter-consumer.condition-router, in wich governance-conditionrouter-consumer is application name, condition-router represents condition router.
+    
+    
+    > Notice:
+    >
+    > Dubbo support two level of governance rules: application, service. The key format are as follows:
+    > * application level {application name + rule suffix}, such as: `demo-application.configurators`,`demo-application.tag-router`, etc.
+    > * service level {service interface name:[version]:[group] + rule suffix}, in which version and group are optional, such as: `org.apache.dubbo.demo.DemoService::.configurators`,`org.apache.dubbo.demo.DemoService:1.0.0:group1.configurators`, etc.
+
+### Etcd & Consul
+
+Etcd and Consul are essencially tree-structure storage like Zookeeper, see zookeeper for implementation.
+
+### Nacos
+
+Nacos is a professional third-party configuration center, it has a storage structure designed specifically for the configuration center, including built-in concepts like namespace, group, dataid, etc. And these concepts basically correspond to the configuration center of the Dubbo framework abstraction.
+
+The correspondence with the Zookeeper implementation is as follows:
+
+![image-20190127225608553](/img/configcenter_nacos_model.jpg)
+
+Refer to the example described in the zookeeper implementation above, where dataid might be:
+* External configuration center: dubbo.properties
+* Single configuration item: dubbo.service.shutdown.wait
+* Service governance rule: org.apache.dubbo.demo.DemoService:1.0.0:group1.configurators
+
+### Apollo
+
+Apollo is similar to Nacos. Please refer to the documentation on the Apollo section.
diff --git a/documentations/2.7/en-us/docs/dev/impls/container.md b/documentations/2.7/en-us/docs/dev/impls/container.md
new file mode 100644
index 0000000..9fd0bf6
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/container.md
@@ -0,0 +1,62 @@
+# Container Extension
+
+## Summary
+
+Service container extension, useful for loading custom contents.
+
+## Extension Interface
+
+`org.apache.dubbo.container.Container`
+
+## Extension Configuration
+
+```sh
+java org.apache.dubbo.container.Main spring jetty log4j
+```
+
+## Existing Extensions
+
+* `org.apache.dubbo.container.spring.SpringContainer`
+* `org.apache.dubbo.container.spring.JettyContainer`
+* `org.apache.dubbo.container.spring.Log4jContainer`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxContainer.java (Container implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.container.Container (plain text file with the content: xxx=com.xxx.XxxContainer)
+```
+
+XxxContainer.java:
+
+```java
+package com.xxx;
+ 
+org.apache.dubbo.container.Container;
+ 
+ 
+public class XxxContainer implements Container {
+    public Status start() {
+        // ...
+    }
+    public Status stop() {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.container.Container:
+
+```properties
+xxx=com.xxx.XxxContainer
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/dispatcher.md b/documentations/2.7/en-us/docs/dev/impls/dispatcher.md
new file mode 100644
index 0000000..ff65a3e
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/dispatcher.md
@@ -0,0 +1,62 @@
+# Dispatcher Extension
+
+## Summary
+
+Thread pool dispatch strategy.
+
+## Extension Interface
+
+`org.apache.dubbo.remoting.Dispatcher`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol dispatcher="xxx" />
+<!-- default configuration, will take effect if dispatcher attribute is not set in <dubbo:protocol> -->
+<dubbo:provider dispatcher="xxx" />
+```
+
+## Existing Extensions
+
+* `org.apache.dubbo.remoting.transport.dispatcher.all.AllDispatcher`
+* `org.apache.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher`
+* `org.apache.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher`
+* `org.apache.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher`
+* `org.apache.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxDispatcher.java (Dispatcher implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.remoting.Dispatcher (plain text file with the content: xxx=com.xxx.XxxDispatcher)
+```
+
+XxxDispatcher.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.Dispatcher;
+ 
+public class XxxDispatcher implements Dispatcher {
+    public Group lookup(URL url) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.remoting.Dispatcher:
+
+```properties
+xxx=com.xxx.XxxDispatcher
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/exchanger.md b/documentations/2.7/en-us/docs/dev/impls/exchanger.md
new file mode 100644
index 0000000..c389b7d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/exchanger.md
@@ -0,0 +1,91 @@
+# Exchanger Extension
+
+## Summary
+
+Exchange message between request and response on network transport layer.
+
+## Extension Interface
+
+* `org.apache.dubbo.remoting.exchange.Exchanger`
+* `org.apache.dubbo.remoting.exchange.ExchangeServer`
+* `org.apache.dubbo.remoting.exchange.ExchangeClient`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol exchanger="xxx" />
+<!-- default configuration, will take effect if exchanger attribute is not set in <dubbo:protocol> -->
+<dubbo:provider exchanger="xxx" />
+```
+
+## Existing Extension
+
+`org.apache.dubbo.remoting.exchange.exchanger.HeaderExchanger`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxExchanger.java (Exchanger implementation)
+                |-XxxExchangeServer.java (ExchangeServer implementation)
+                |-XxxExchangeClient.java (ExchangeClient implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.remoting.exchange.Exchanger (plain text file with the content: xxx=com.xxx.XxxExchanger)
+```
+
+XxxExchanger.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.exchange.Exchanger;
+ 
+ 
+public class XxxExchanger implements Exchanger {
+    public ExchangeServer bind(URL url, ExchangeHandler handler) throws RemotingException {
+        return new XxxExchangeServer(url, handler);
+    }
+    public ExchangeClient connect(URL url, ExchangeHandler handler) throws RemotingException {
+        return new XxxExchangeClient(url, handler);
+    }
+}
+```
+
+XxxExchangeServer.java:
+
+```java
+
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.exchange.ExchangeServer;
+ 
+public class XxxExchangeServer impelements ExchangeServer {
+    // ...
+}
+```
+
+XxxExchangeClient.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.exchange.ExchangeClient;
+ 
+public class XxxExchangeClient impelments ExchangeClient {
+    // ...
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.remoting.exchange.Exchanger:
+
+```properties
+xxx=com.xxx.XxxExchanger
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/exporter-listener.md b/documentations/2.7/en-us/docs/dev/impls/exporter-listener.md
new file mode 100644
index 0000000..a02e0b0
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/exporter-listener.md
@@ -0,0 +1,66 @@
+# ExporterListener Extension
+
+## Summary
+
+Fire events when there's any service exported. 
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.ExporterListener`
+
+## Extension Configuration
+
+```xml
+<!-- service exporter listener -->
+<dubbo:service listener="xxx,yyy" />
+<!-- default exporter listener for service provider -->
+<dubbo:provider listener="xxx,yyy" />
+```
+
+## Existing Extension
+
+`org.apache.dubbo.registry.directory.RegistryExporterListener`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxExporterListener.java (ExporterListener implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.ExporterListener (plain text file with the content: xxx=com.xxx.XxxExporterListener)
+```
+
+XxxExporterListener.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.ExporterListener;
+import org.apache.dubbo.rpc.Exporter;
+import org.apache.dubbo.rpc.RpcException;
+ 
+ 
+public class XxxExporterListener implements ExporterListener {
+    public void exported(Exporter<?> exporter) throws RpcException {
+        // ...
+    }
+    public void unexported(Exporter<?> exporter) throws RpcException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.ExporterListener:
+
+```properties
+xxx=com.xxx.XxxExporterListener
+```
+
diff --git a/documentations/2.7/en-us/docs/dev/impls/extension-factory.md b/documentations/2.7/en-us/docs/dev/impls/extension-factory.md
new file mode 100644
index 0000000..7473da0
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/extension-factory.md
@@ -0,0 +1,57 @@
+# ExtensionFactory Extension
+
+## Summary
+
+Factory to load dubbo extensions.
+
+## Extension Interface
+
+`org.apache.dubbo.common.extension.ExtensionFactory`
+
+## Extension Configuration
+
+```xml
+<dubbo:application compiler="jdk" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.common.extension.factory.SpiExtensionFactory`
+* `org.apache.dubbo.config.spring.extension.SpringExtensionFactory`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxExtensionFactory.java (ExtensionFactory implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.extension.ExtensionFactory (plain text file with the content: xxx=com.xxx.XxxExtensionFactory)
+```
+
+XxxExtensionFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.extension.ExtensionFactory;
+ 
+public class XxxExtensionFactory implements ExtensionFactory {
+    public Object getExtension(Class<?> type, String name) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.extension.ExtensionFactory:
+
+```properties
+xxx=com.xxx.XxxExtensionFactory
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/filter.md b/documentations/2.7/en-us/docs/dev/impls/filter.md
new file mode 100644
index 0000000..5a81554
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/filter.md
@@ -0,0 +1,89 @@
+# Filter Extension
+
+## Summary
+
+Extension for intercepting the invocation for both service provider and consumer, furthermore, most of functions in dubbo are implemented base on the same mechanism. Since every time when remote method is invoked, the filter extensions will be executed too, the corresponding penalty should be considered before more filters are added.
+
+Contract:
+
+* User defined filters are executed after built-in filters by default.
+* Special value `default` is introduced to represent the default extension location. For example: for `filter="xxx,default,yyy"`, `xxx` is before default filter, and `yyy` is after the default filter.
+* Special value `-` means delete. For example: `filter="-foo1"` excludes `foo1` extension. For example, `filter="-default"` exclues all default filters.
+* When provider and service have filter configured at the same moment, all filters are accumulated together instead of override, for example: for `<dubbo:provider filter="xxx,yyy"/>` and `<dubbo:service filter="aaa,bbb" />`,`xxx`, `yyy`, `aaa`, `bbb` are all count as filters. In order to change to override, use: `<dubbo:service filter="-xxx,-yyy,aaa,bbb" />` 
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.Filter`
+
+## Extension Configuration
+
+```xml
+<!-- filter for consumer -->
+<dubbo:reference filter="xxx,yyy" />
+<!-- default filter configuration for the consumer, will intercept for all references -->
+<dubbo:consumer filter="xxx,yyy"/>
+<!-- filter for provider -->
+<dubbo:service filter="xxx,yyy" />
+<!-- default filter configuration for the provider, will intercept for all services -->
+<dubbo:provider filter="xxx,yyy"/>
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.rpc.filter.EchoFilter`
+* `org.apache.dubbo.rpc.filter.GenericFilter`
+* `org.apache.dubbo.rpc.filter.GenericImplFilter`
+* `org.apache.dubbo.rpc.filter.TokenFilter`
+* `org.apache.dubbo.rpc.filter.AccessLogFilter`
+* `org.apache.dubbo.rpc.filter.CountFilter`
+* `org.apache.dubbo.rpc.filter.ActiveLimitFilter`
+* `org.apache.dubbo.rpc.filter.ClassLoaderFilter`
+* `org.apache.dubbo.rpc.filter.ContextFilter`
+* `org.apache.dubbo.rpc.filter.ConsumerContextFilter`
+* `org.apache.dubbo.rpc.filter.ExceptionFilter`
+* `org.apache.dubbo.rpc.filter.ExecuteLimitFilter`
+* `org.apache.dubbo.rpc.filter.DeprecatedFilter`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxFilter.java (Filter implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.Filter (plain text file with the content: xxx=com.xxx.XxxFilter)
+```
+
+XxxFilter.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.Filter;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.Invocation;
+import org.apache.dubbo.rpc.Result;
+import org.apache.dubbo.rpc.RpcException;
+ 
+public class XxxFilter implements Filter {
+    public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
+        // before filter ...
+        Result result = invoker.invoke(invocation);
+        // after filter ...
+        return result;
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.Filter:
+
+```properties
+xxx=com.xxx.XxxFilter
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/impls/introduction.md b/documentations/2.7/en-us/docs/dev/impls/introduction.md
new file mode 100644
index 0000000..3305369
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/introduction.md
@@ -0,0 +1,3 @@
+# SPI Extension Implementations
+
+SPI extension interface is used for system integration, it's also useful for dubbo contributor to extend dubbo functionality.
diff --git a/documentations/2.7/en-us/docs/dev/impls/invoker-listener.md b/documentations/2.7/en-us/docs/dev/impls/invoker-listener.md
new file mode 100644
index 0000000..0bd403a
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/invoker-listener.md
@@ -0,0 +1,65 @@
+# InvokerListener Extension
+
+## Summary
+
+Fire event when there's any service referenced.
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.InvokerListener`
+
+## Extension Configuration
+
+```xml
+<!-- 引用服务监听 -->
+<!-- service reference listener -->
+<dubbo:reference listener="xxx,yyy" /> 
+<!-- default service reference listener -->
+<dubbo:consumer listener="xxx,yyy" /> 
+```
+
+## Existing Extension
+
+`org.apache.dubbo.rpc.listener.DeprecatedInvokerListener`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxInvokerListener.java (InvokerListener implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.InvokerListener (plain text file with the content: xxx=com.xxx.XxxInvokerListener)
+```
+
+XxxInvokerListener.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.InvokerListener;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.RpcException;
+ 
+public class XxxInvokerListener implements InvokerListener {
+    public void referred(Invoker<?> invoker) throws RpcException {
+        // ...
+    }
+    public void destroyed(Invoker<?> invoker) throws RpcException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.InvokerListener:
+
+```properties
+xxx=com.xxx.XxxInvokerListener
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/load-balance.md b/documentations/2.7/en-us/docs/dev/impls/load-balance.md
new file mode 100644
index 0000000..75bfb73
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/load-balance.md
@@ -0,0 +1,63 @@
+# LoadBalance Extension
+
+## Summary
+
+Pick one from service providers and fire the invocation.
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.cluster.LoadBalance`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol loadbalance="xxx" />
+<!-- default configuration, will take effect when loadbalance is not configured in <dubbo:protocol> -->
+<dubbo:provider loadbalance="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalance`
+* `org.apache.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance`
+* `org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxLoadBalance.java (LoadBalance implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.cluster.LoadBalance (plain text file with the content: xxx=com.xxx.XxxLoadBalance)
+```
+
+XxxLoadBalance.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.cluster.LoadBalance;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.Invocation;
+import org.apache.dubbo.rpc.RpcException; 
+ 
+public class XxxLoadBalance implements LoadBalance {
+    public <T> Invoker<T> select(List<Invoker<T>> invokers, Invocation invocation) throws RpcException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.cluster.LoadBalance:
+
+```properties
+xxx=com.xxx.XxxLoadBalance
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/logger-adapter.md b/documentations/2.7/en-us/docs/dev/impls/logger-adapter.md
new file mode 100644
index 0000000..e7633a9
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/logger-adapter.md
@@ -0,0 +1,84 @@
+# LoggerAdapter Extension
+
+## Summary
+
+Extension for adapting logger output
+
+## Extension Interface
+
+`org.apache.dubbo.common.logger.LoggerAdapter`
+
+## Extension Configuration
+
+```xml
+<dubbo:application logger="xxx" />
+```
+
+Or:
+
+```sh
+-Ddubbo:application.logger=xxx
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.common.logger.slf4j.Slf4jLoggerAdapter`
+* `org.apache.dubbo.common.logger.jcl.JclLoggerAdapter`
+* `org.apache.dubbo.common.logger.log4j.Log4jLoggerAdapter`
+* `org.apache.dubbo.common.logger.log4j2.Log4j2LoggerAdapter`
+* `org.apache.dubbo.common.logger.jdk.JdkLoggerAdapter`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxLoggerAdapter.java (LoggerAdapter implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.logger.LoggerAdapter (plain text file with the content: xxx=com.xxx.XxxLoggerAdapter)
+```
+
+XxxLoggerAdapter.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.logger.LoggerAdapter;
+ 
+public class XxxLoggerAdapter implements LoggerAdapter {
+    public Logger getLogger(URL url) {
+        // ...
+    }
+}
+```
+
+XxxLogger.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.logger.Logger;
+ 
+public class XxxLogger implements Logger {
+    public XxxLogger(URL url) {
+        // ...
+    }
+    public void info(String msg) {
+        // ...
+    }
+    // ...
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.logger.LoggerAdapter:
+
+```properties
+xxx=com.xxx.XxxLoggerAdapter
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/impls/merger.md b/documentations/2.7/en-us/docs/dev/impls/merger.md
new file mode 100644
index 0000000..7bd5ddc
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/merger.md
@@ -0,0 +1,60 @@
+# Merger Extension
+
+## Summary
+
+Merge strategy for return result aggregation in group.
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.cluster.Merger`
+
+## Extension Configuration
+
+```xml
+<dubbo:method merger="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.rpc.cluster.merger.ArrayMerger`
+* `org.apache.dubbo.rpc.cluster.merger.ListMerger`
+* `org.apache.dubbo.rpc.cluster.merger.SetMerger`
+* `org.apache.dubbo.rpc.cluster.merger.MapMerger`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxMerger.java (Merger implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.cluster.Merger (plain text file with the content: xxx=com.xxx.XxxMerger)
+```
+
+XxxMerger.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.cluster.Merger;
+ 
+public class XxxMerger<T> implements Merger<T> {
+    public T merge(T... results) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.cluster.Merger:
+
+```properties
+xxx=com.xxx.XxxMerger
+```
+
diff --git a/documentations/2.7/en-us/docs/dev/impls/monitor.md b/documentations/2.7/en-us/docs/dev/impls/monitor.md
new file mode 100644
index 0000000..95b80c8
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/monitor.md
@@ -0,0 +1,75 @@
+# Monitor Extension
+
+## Summary
+
+Extension to monitor service invocation times and time taken for each service invocation.
+
+## Extension Interface
+
+* `org.apache.dubbo.monitor.MonitorFactory`
+* `org.apache.dubbo.monitor.Monitor`
+
+## Extension Configuration
+
+```xml
+<!-- configure monitor center -->
+<dubbo:monitor address="xxx://ip:port" />
+```
+
+## Existing Extension
+
+org.apache.dubbo.monitor.support.dubbo.DubboMonitorFactory
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxMonitorFactoryjava (MonitorFactory implementation)
+                |-XxxMonitor.java (Monitor implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.monitor.MonitorFactory (plain text file with the format: xxx=com.xxx.XxxMonitorFactory)
+```
+
+XxxMonitorFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.monitor.MonitorFactory;
+import org.apache.dubbo.monitor.Monitor;
+import org.apache.dubbo.common.URL;
+ 
+public class XxxMonitorFactory implements MonitorFactory {
+    public Monitor getMonitor(URL url) {
+        return new XxxMonitor(url);
+    }
+}
+```
+
+XxxMonitor.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.monitor.Monitor;
+ 
+public class XxxMonitor implements Monitor {
+    public void count(URL statistics) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.monitor.MonitorFactory:
+
+```properties
+xxx=com.xxx.XxxMonitorFactory
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/impls/networker.md b/documentations/2.7/en-us/docs/dev/impls/networker.md
new file mode 100644
index 0000000..d479955
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/networker.md
@@ -0,0 +1,59 @@
+# Networker Extension
+
+## Summary
+
+Extension for peer to peer network grouping.
+
+## Extension Interface
+
+`org.apache.dubbo.remoting.p2p.Networker`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol networker="xxx" />
+<!-- default configuration, it takes effect if networker attribute is not set in <dubbo:protocol> -->
+<dubbo:provider networker="xxx" /> 
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.remoting.p2p.support.MulticastNetworker`
+* `org.apache.dubbo.remoting.p2p.support.FileNetworker`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxNetworker.java (Networker implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.remoting.p2p.Networker (plain text file with the content: xxx=com.xxx.XxxNetworker)
+```
+
+XxxNetworker.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.p2p.Networker;
+ 
+public class XxxNetworker implements Networker {
+    public Group lookup(URL url) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.remoting.p2p.Networker:
+
+```properties
+xxx=com.xxx.XxxNetworker
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/page.md b/documentations/2.7/en-us/docs/dev/impls/page.md
new file mode 100644
index 0000000..de34107
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/page.md
@@ -0,0 +1,61 @@
+# Page Extension
+
+## Summary
+
+Extension for page handler
+
+## Extension Interface
+
+`org.apache.dubbo.container.page.PageHandler`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol page="xxx,yyy" />
+<!-- default configuration, will take effect if page attribute is not set in <dubbo:protocol> -->
+<dubbo:provider page="xxx,yyy" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.container.page.pages.HomePageHandler`
+* `org.apache.dubbo.container.page.pages.StatusPageHandler`
+* `org.apache.dubbo.container.page.pages.LogPageHandler`
+* `org.apache.dubbo.container.page.pages.SystemPageHandler`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxPageHandler.java (PageHandler implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.container.page.PageHandler (plain text file with the content: xxx=com.xxx.XxxPageHandler)
+```
+
+XxxPageHandler.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.container.page.PageHandler;
+ 
+public class XxxPageHandler implements PageHandler {
+    public Group lookup(URL url) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.container.page.PageHandler:
+
+```properties
+xxx=com.xxx.XxxPageHandler
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/protocol.md b/documentations/2.7/en-us/docs/dev/impls/protocol.md
new file mode 100644
index 0000000..d3f96e6
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/protocol.md
@@ -0,0 +1,150 @@
+# Protocol Extension
+
+## Summary
+
+Extension to RPC protocol, hide details of remote call.
+
+Contract:
+
+* When user calls `invoke()` method of `Invoker` object which's returned from `refer()` call, the protocol needs to correspondingly execute `invoke()` method of `Invoker` object passed from remote `export()` method associated with the same URL.
+* Moreover, it's protocol's responsibility to implement `Invoker` which's returned from `refer()`. Generally speaking, protocol sends remote request in the `Invoker` implementation, but needs not to care about the `Invoker` passed into `export()` since the framework will implement the logic and pass in the instance.
+
+Notes:
+
+* Protocol does not need to care about the proxy of the business interface. The upper layer of the framework will convert `Invoker` into business interface.
+* It is not a requirement that the protocol must use TCP for network communication. It could be file-sharing, IPC, or others.
+
+## Extension Interface
+
+* `org.apache.dubbo.rpc.Protocol`
+* `org.apache.dubbo.rpc.Exporter`
+* `org.apache.dubbo.rpc.Invoker`
+
+```java
+public interface Protocol {
+    /**
+     * Export remote service: <br>
+     * 1. Should save address info for the request when the protocol receives it: RpcContext.getContext().setRemoteAddress();<br>
+     * 2. export() must be implemented as idempotent, that is, it should not introduce side effect when the implementation gets called with the same Invoker for more than once.
+     * 3. Invoker is passed by the framework, and the protocol should not care about it. <br>
+     * 
+     * @param <T> Service type
+     * @param invoker Service invoker
+     * @return exporter The reference of service exporter, used for cancelling service export.
+     * @throws RpcException throw when there's any error during service export, e.g. the port is occupied
+     */
+    <T> Exporter<T> export(Invoker<T> invoker) throws RpcException;
+ 
+    /**
+     * Reference remote service: <br>
+     * 1. When user calls `invoke()` method of `Invoker` object which's returned from `refer()` call, the protocol needs to correspondingly execute `invoke()` method of `Invoker` object passed from remote `export()` method associated with the same URL. <br>
+     * 2. It's protocol's responsibility to implement `Invoker` which's returned from `refer()`. Generally speaking, protocol sends remote request in the `Invoker` implementation. <br>
+     * 3. When there's check=false set in URL, the implementation must not throw exception but try to recover when connection fails.
+     * 
+     * @param <T> Service type
+     * @param type Service type
+     * @param url URL address for the remote service
+     * @return invoker service's local proxy
+     * @throws RpcException throw when there's any error while connecting to the service provider
+     */
+    <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException;
+ 
+}
+```
+
+## Extension Configuration
+
+```xml
+<!-- declare protocol, if id is not set, then use the value of name for id -->
+<dubbo:protocol id="xxx1" name="xxx" />
+<!-- reference protocol, if protocol's attribute is not set, then protocol configuration will be scanned automatically from ApplicationContext -->
+<dubbo:service protocol="xxx1" />
+<!-- default value for referenced protocol, it will be used if protocol attribute is not configured in <dubbo:service> --> 
+<dubbo:provider protocol="xxx1" />
+```
+
+## Existing Protocol
+
+* `org.apache.dubbo.rpc.protocol.injvm.InjvmProtocol`
+* `org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol`
+* `org.apache.dubbo.rpc.protocol.rmi.RmiProtocol`
+* `org.apache.dubbo.rpc.protocol.http.HttpProtocol`
+* `org.apache.dubbo.rpc.protocol.http.hessian.HessianProtocol`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxProtocol.java (Protocol implementation)
+                |-XxxExporter.java (Exporter implementation)
+                |-XxxInvoker.java (Invoker implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.Protocol (plain text file with the content: xxx=com.xxx.XxxProtocol)
+```
+
+XxxProtocol.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.Protocol;
+ 
+public class XxxProtocol implements Protocol {
+    public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException {
+        return new XxxExporter(invoker);
+    }
+    public <T> Invoker<T> refer(Class<T> type, URL url) throws RpcException {
+        return new XxxInvoker(type, url);
+    }
+}
+```
+
+XxxExporter.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.support.AbstractExporter;
+ 
+public class XxxExporter<T> extends AbstractExporter<T> {
+    public XxxExporter(Invoker<T> invoker) throws RemotingException{
+        super(invoker);
+        // ...
+    }
+    public void unexport() {
+        super.unexport();
+        // ...
+    }
+}
+```
+
+XxxInvoker.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.support.AbstractInvoker;
+ 
+public class XxxInvoker<T> extends AbstractInvoker<T> {
+    public XxxInvoker(Class<T> type, URL url) throws RemotingException{
+        super(type, url);
+    }
+    protected abstract Object doInvoke(Invocation invocation) throws Throwable {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.Protocol:
+
+```properties
+xxx=com.xxx.XxxProtocol
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/proxy-factory.md b/documentations/2.7/en-us/docs/dev/impls/proxy-factory.md
new file mode 100644
index 0000000..c2c9cb0
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/proxy-factory.md
@@ -0,0 +1,65 @@
+# ProxyFactory Extension
+
+## Summary
+
+Convert `Invoker` into business interface.
+
+## Extension Interface
+
+`org.apache.dubbo.rpc.ProxyFactory`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol proxy="xxx" />
+<!-- default configuration, it will take effect when proxy attribute is not configured in <dubbo:protocol> -->
+<dubbo:provider proxy="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.rpc.proxy.JdkProxyFactory`
+* `org.apache.dubbo.rpc.proxy.JavassistProxyFactory`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxProxyFactory.java (ProxyFactory implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.ProxyFactory (plain text file with the content: xxx=com.xxx.XxxProxyFactory)
+```
+
+XxxProxyFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.ProxyFactory;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.RpcException;
+ 
+ 
+public class XxxProxyFactory implements ProxyFactory {
+    public <T> T getProxy(Invoker<T> invoker) throws RpcException {
+        // ...
+    }
+    public <T> Invoker<T> getInvoker(T proxy, Class<T> type, URL url) throws RpcException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.ProxyFactory:
+
+```properties
+xxx=com.xxx.XxxProxyFactory
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/registry.md b/documentations/2.7/en-us/docs/dev/impls/registry.md
new file mode 100644
index 0000000..bd5e4c9
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/registry.md
@@ -0,0 +1,207 @@
+# Registry Extension
+
+## Summary
+
+Registry extension is used for service registration and discovery.
+
+## Extension Interface
+
+* `org.apache.dubbo.registry.RegistryFactory`
+* `org.apache.dubbo.registry.Registry`
+
+## Extension Configuration
+
+```xml
+<!-- config registry server -->
+<dubbo:registry id="xxx1" address="xxx://ip:port" />
+<!-- reference registry server, if registry attribute is not specified, then ApplicationContext will be scanned to find if there's any -->
+<dubbo:service registry="xxx1" />
+<!-- default configuration for referencing registry server, it will take effect if there's no registry attribute specified in <dubbo:service> -->
+<dubbo:provider registry="xxx1" />
+```
+
+## Extension Contract
+
+RegistryFactory.java:
+
+```java
+public interface RegistryFactory {
+    /**
+     * Connect to registry server
+     * 
+     * The contract for connecting to registry server: <br>
+     * 1. Will not check connection when check=false is set, otherwise exception will be thrown if connection fails. <br>
+     * 2. Support authorizing against username:password in the URL <br>
+     * 3. Support registry server backup with backup=10.20.153.10 <br>
+     * 4. Support cache on local disk with file=registry.cache <br>
+     * 5. Support timeout setup with timeout=1000 <br>
+     * 6. Support session expiration setup with session=60000 <br>
+     * 
+     * @param url registry server address, null is not allowed
+     * @return reference to registry server, never return null
+     */
+    Registry getRegistry(URL url); 
+}
+```
+
+RegistryService.java:
+
+```java
+public interface RegistryService { // Registry extends RegistryService 
+    /**
+     * Register service.
+     * 
+     * Contract for registering service: <br>
+     * 1. Registration failure will be ignored and kept retrying if check=false is set in URL, otherwise exception will be thrown <br>
+     * 2. Persistence is required if dynamic=false is set in URL, otherwise, the registration info will be removed automatically when register quits accidentally <br>
+     * 3. Persistent by category if category=overrides is set in URL, default category is providers. It is possible to notify by category. <br>
+     * 4. Data lost is not tolerant when registry server reboots or network jitter happens. <br> 
+     * 5. It is not allowed to override each other when URLs have same URI part but different parameters <br>
+     * 
+     * @param url registration info,null is not allowed, e.g.: dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin
+     */
+    void register(URL url);
+ 
+    /**
+     * Unregister service.
+     * 
+     * Contract for unregistering service: <br>
+     * 1. IllegalStateException should be thrown when registration info which's supposed to be persistent (with dynamic=false set) cannot be found, otherwise it should be ignored. <br>
+     * 2. To cancel one service, extract match on its URL will be honored <br>
+     * 
+     * @param url registration info,null is not allowed, e.g.: dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin
+     */
+    void unregister(URL url);
+ 
+    /**
+     * 订阅服务.
+     * Subscribe service.
+     * 
+     * Contract for subscribing service: <br>
+     * 1. Subscription failure will be ignored and kept retrying if check=false is set in URL <br>
+     * 2. Only the specified category will be notified if category=overrides is set in URL. Categories are seperated with comma, and all categorized data will be subscribed when wildcard "*" is specified. <br>
+     * 3. Allow to query by interface, group, version, classifier, e.g.: interface=com.alibaba.foo.BarService&version=1.0.0<br>
+     * 4. Allow to query with wildcard "*" to subscribe all versions under all categories for all interfaces, e.g.: interface=*&group=*&version=*&classifier=*<br>
+     * 5. Subscription will be automatically recoverred when registry server reboots or network jitter happens. <br>
+     * 6. It is not allowed to override each other when URLs have same URI part but different parameters <br>
+     * 7. Subscription procedure will not return until the first notification happens. <br>
+     * 
+     * @param url URL for subscription, null isn't allowed, e.g.: consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin
+     * @param listener notification listener, null is not allowed
+     */
+    void subscribe(URL url, NotifyListener listener);
+ 
+    /**
+     * Unsubscribe service.
+     * 
+     * Contract for unsubscribing service: <br>
+     * 1. Simply ignore if not subscribe <br>
+     * 2. Unsubscribe with URL exact match <br>
+     * 
+     * @param url URL for unsubscription, null is not allowed, e.g.: consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin
+     * @param listener notification listener, null is not allowed
+     */
+    void unsubscribe(URL url, NotifyListener listener);
+ 
+    /**
+     * 查询注册列表,与订阅的推模式相对应,这里为拉模式,只返回一次结果。
+     * Lookup subscription list. Compared to push mode for subscription, this is pull mode and returns result only once.
+     * 
+     * @see org.apache.dubbo.registry.NotifyListener#notify(List)
+     * @param url URL for  query, null is not allowed, e.g.: consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin
+     * @return subscription list, could be null, has the same meaning as the parameters in {@link org.apache.dubbo.registry.NotifyListener#notify(List<URL>)}.
+     */
+    List<URL> lookup(URL url);
+ 
+}
+```
+
+NotifyListener.java:
+
+```java
+public interface NotifyListener { 
+    /**
+     * Fire event when receive service change notification.
+     * 
+     * Contract for notify: <br>
+     * 1. Always notify with the whole data instead of partial data from the perspective of service interface and data type. In this way, user needs not compare with the previous result. <br>
+     * 2. First notification for subscription must contain the full set of data for one particular service <br>
+     * 3. It is allowed to separate the different type of data in the upcoming notifications, e.g.: it is legal to only notify one of types among providers, consumers, routes or overrides each time, but pls. note for this particular type, the data must be a full set. <br>
+     * 4. If the data for one particular type is empty, need to notify with a special URL which has empty as its protocol and has category parameter for this particluar type.
+     * 5. Notifier (usually it is monitor center) needs to guarantee the notification sequence by, for say: single thread push, queuing in order,  versioning, etc. <br>
+     * 
+     * @param urls subscription list, always not empty, equivalent to the return result of {@link org.apache.dubbo.registry.RegistryService#lookup(URL)}.
+     */
+    void notify(List<URL> urls);
+ 
+}
+```
+
+## Existing Extension
+
+`org.apache.dubbo.registry.support.dubbo.DubboRegistryFactory`
+
+## Extension Guide
+
+Directory structure:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxRegistryFactoryjava (RegistryFactory implementation)
+                |-XxxRegistry.java (Registry implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.registry.RegistryFactory (plain text file with the content: xxx=com.xxx.XxxRegistryFactory)
+```
+
+XxxRegistryFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.registry.RegistryFactory;
+import org.apache.dubbo.registry.Registry;
+import org.apache.dubbo.common.URL;
+ 
+public class XxxRegistryFactory implements RegistryFactory {
+    public Registry getRegistry(URL url) {
+        return new XxxRegistry(url);
+    }
+}
+```
+
+XxxRegistry.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.registry.Registry;
+import org.apache.dubbo.registry.NotifyListener;
+import org.apache.dubbo.common.URL;
+ 
+public class XxxRegistry implements Registry {
+    public void register(URL url) {
+        // ...
+    }
+    public void unregister(URL url) {
+        // ...
+    }
+    public void subscribe(URL url, NotifyListener listener) {
+        // ...
+    }
+    public void unsubscribe(URL url, NotifyListener listener) {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.registry.RegistryFactory:
+
+```properties
+xxx=com.xxx.XxxRegistryFactory
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/impls/remoting.md b/documentations/2.7/en-us/docs/dev/impls/remoting.md
new file mode 100644
index 0000000..2463127
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/remoting.md
@@ -0,0 +1,122 @@
+# Transporter Extension
+
+## Summary
+
+Transportation extension for communication between server and client.
+
+## Extension Interface
+
+* `org.apache.dubbo.remoting.Transporter`
+* `org.apache.dubbo.remoting.Server`
+* `org.apache.dubbo.remoting.Client`
+
+## Extension Configuration
+
+```xml
+<!-- server and client use the same transporter -->
+<dubbo:protocol transporter="xxx" /> 
+<!-- server and client use the different transporter -->
+<dubbo:protocol server="xxx" client="xxx" /> 
+<!-- default configuration, will take effect when transport/server/client attribute is not set in <dubbo:protocol> -->
+<dubbo:provider transporter="xxx" server="xxx" client="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.remoting.transport.transporter.netty.NettyTransporter`
+* `org.apache.dubbo.remoting.transport.transporter.mina.MinaTransporter`
+* `org.apache.dubbo.remoting.transport.transporter.grizzly.GrizzlyTransporter`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxTransporter.java (Transporter implementation)
+                |-XxxServer.java (Server implementation)
+                |-XxxClient.java (Client implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.remoting.Transporter (plain text file with the content: xxx=com.xxx.XxxTransporter)
+```
+
+XxxTransporter.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.Transporter;
+ 
+public class XxxTransporter implements Transporter {
+    public Server bind(URL url, ChannelHandler handler) throws RemotingException {
+        return new XxxServer(url, handler);
+    }
+    public Client connect(URL url, ChannelHandler handler) throws RemotingException {
+        return new XxxClient(url, handler);
+    }
+}
+```
+
+XxxServer.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.transport.transporter.AbstractServer;
+ 
+public class XxxServer extends AbstractServer {
+    public XxxServer(URL url, ChannelHandler handler) throws RemotingException{
+        super(url, handler);
+    }
+    protected void doOpen() throws Throwable {
+        // ...
+    }
+    protected void doClose() throws Throwable {
+        // ...
+    }
+    public Collection<Channel> getChannels() {
+        // ...
+    }
+    public Channel getChannel(InetSocketAddress remoteAddress) {
+        // ...
+    }
+}
+```
+
+XxxClient.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.transport.transporter.AbstractClient;
+ 
+public class XxxClient extends AbstractClient {
+    public XxxServer(URL url, ChannelHandler handler) throws RemotingException{
+        super(url, handler);
+    }
+    protected void doOpen() throws Throwable {
+        // ...
+    }
+    protected void doClose() throws Throwable {
+        // ...
+    }
+    protected void doConnect() throws Throwable {
+        // ...
+    }
+    public Channel getChannel() {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.remoting.Transporter:
+
+```properties
+xxx=com.xxx.XxxTransporter
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/router.md b/documentations/2.7/en-us/docs/dev/impls/router.md
new file mode 100644
index 0000000..94c8708
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/router.md
@@ -0,0 +1,58 @@
+# Router Extension
+
+## Summary
+
+Pick one from service providers and fire the invocation.
+
+## Extension Interface
+
+* `org.apache.dubbo.rpc.cluster.RouterFactory`
+* `org.apache.dubbo.rpc.cluster.Router`
+
+## Existing Extension
+
+* `org.apache.dubbo.rpc.cluster.router.ScriptRouterFactory`
+* `org.apache.dubbo.rpc.cluster.router.FileRouterFactory`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxRouterFactory.java (RouterFactory implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.rpc.cluster.RouterFactory (plain text file with the content: xxx=com.xxx.XxxRouterFactory)
+
+```
+
+XxxRouterFactory.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.rpc.cluster.RouterFactory;
+import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.Invocation;
+import org.apache.dubbo.rpc.RpcException;
+ 
+public class XxxRouterFactory implements RouterFactory {
+    public <T> List<Invoker<T>> select(List<Invoker<T>> invokers, Invocation invocation) throws RpcException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.rpc.cluster.RouterFactory:
+
+```properties
+xxx=com.xxx.XxxRouterFactory
+```
+
+
diff --git a/documentations/2.7/en-us/docs/dev/impls/serialize.md b/documentations/2.7/en-us/docs/dev/impls/serialize.md
new file mode 100644
index 0000000..13d6314
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/serialize.md
@@ -0,0 +1,72 @@
+# Serialization Extension
+
+## Summary
+
+Extension to serializing java object into byte code stream for transporting on the network, and vise versa.
+
+## Extension Interface
+
+* `org.apache.dubbo.common.serialize.Serialization`
+* `org.apache.dubbo.common.serialize.ObjectInput`
+* `org.apache.dubbo.common.serialize.ObjectOutput`
+
+## Extension Configuration
+
+```xml
+<!-- protocol serialization style -->
+<dubbo:protocol serialization="xxx" />
+<!-- default configuration, will take effect if serialization is not configured in <dubbo:protocol> -->
+<dubbo:provider serialization="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.common.serialize.dubbo.DubboSerialization`
+* `org.apache.dubbo.common.serialize.hessian.Hessian2Serialization`
+* `org.apache.dubbo.common.serialize.java.JavaSerialization`
+* `org.apache.dubbo.common.serialize.java.CompactedJavaSerialization`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxSerialization.java (Serialization implementation)
+                |-XxxObjectInput.java (ObjectInput implementation)
+                |-XxxObjectOutput.java (ObjectOutput implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.serialize.Serialization (plain text file with the content: xxx=com.xxx.XxxSerialization)
+```
+
+XxxSerialization.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.serialize.Serialization;
+import org.apache.dubbo.common.serialize.ObjectInput;
+import org.apache.dubbo.common.serialize.ObjectOutput;
+ 
+ 
+public class XxxSerialization implements Serialization {
+    public ObjectOutput serialize(Parameters parameters, OutputStream output) throws IOException {
+        return new XxxObjectOutput(output);
+    }
+    public ObjectInput deserialize(Parameters parameters, InputStream input) throws IOException {
+        return new XxxObjectInput(input);
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.serialize.Serialization:
+
+```properties
+xxx=com.xxx.XxxSerialization
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/status-checker.md b/documentations/2.7/en-us/docs/dev/impls/status-checker.md
new file mode 100644
index 0000000..b46e4da
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/status-checker.md
@@ -0,0 +1,64 @@
+# StatusChecker Extension
+
+## Summary
+
+Extension to check status of resources service depends on. This status checker can be used in both telnet status command and status page.
+
+## Extension Interface
+
+`org.apache.dubbo.common.status.StatusChecker`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol status="xxx,yyy" />
+<!-- default configuration, will take effect if no status attribute is configured in <dubbo:protocol> -->
+<dubbo:provider status="xxx,yyy" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.common.status.support.MemoryStatusChecker`
+* `org.apache.dubbo.common.status.support.LoadStatusChecker`
+* `org.apache.dubbo.rpc.dubbo.status.ServerStatusChecker`
+* `org.apache.dubbo.rpc.dubbo.status.ThreadPoolStatusChecker`
+* `org.apache.dubbo.registry.directory.RegistryStatusChecker`
+* `org.apache.dubbo.rpc.config.spring.status.SpringStatusChecker`
+* `org.apache.dubbo.rpc.config.spring.status.DataSourceStatusChecker`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxStatusChecker.java (StatusChecker implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.status.StatusChecker (plain text file with the content: xxx=com.xxx.XxxStatusChecker)
+```
+
+XxxStatusChecker.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.status.StatusChecker;
+ 
+public class XxxStatusChecker implements StatusChecker {
+    public Status check() {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.status.StatusChecker:
+
+```properties
+xxx=com.xxx.XxxStatusChecker
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/telnet-handler.md b/documentations/2.7/en-us/docs/dev/impls/telnet-handler.md
new file mode 100644
index 0000000..2d1e20f
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/telnet-handler.md
@@ -0,0 +1,77 @@
+# TelnetHandler Extension
+
+## Summary
+
+Extension to telnet command. All server should support telnet access for operation convenience.
+
+## Extension Interface
+
+`org.apache.dubbo.remoting.telnet.TelnetHandler`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol telnet="xxx,yyy" />
+<!-- default configuration, will take effect if telnet attribute is not specified in <dubbo:protocol> -->
+<dubbo:provider telnet="xxx,yyy" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.remoting.telnet.support.ClearTelnetHandler`
+* `org.apache.dubbo.remoting.telnet.support.ExitTelnetHandler`
+* `org.apache.dubbo.remoting.telnet.support.HelpTelnetHandler`
+* `org.apache.dubbo.remoting.telnet.support.StatusTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.ListTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.ChangeTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.CurrentTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.InvokeTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.TraceTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.CountTelnetHandler`
+* `org.apache.dubbo.rpc.dubbo.telnet.PortTelnetHandler`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxTelnetHandler.java (TelnetHandler implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.remoting.telnet.TelnetHandler (plain text file with the content: xxx=com.xxx.XxxTelnetHandler)
+```
+
+XxxTelnetHandler.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.remoting.telnet.TelnetHandler;
+ 
+@Help(parameter="...", summary="...", detail="...")
+ 
+public class XxxTelnetHandler implements TelnetHandler {
+    public String telnet(Channel channel, String message) throws RemotingException {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.remoting.telnet.TelnetHandler:
+
+```properties
+xxx=com.xxx.XxxTelnetHandler
+```
+
+## 用法
+
+```sh
+telnet 127.0.0.1 20880
+dubbo> xxx args
+```
diff --git a/documentations/2.7/en-us/docs/dev/impls/threadpool.md b/documentations/2.7/en-us/docs/dev/impls/threadpool.md
new file mode 100644
index 0000000..8e36eee
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/threadpool.md
@@ -0,0 +1,61 @@
+# ThreadPool Extension
+
+## Summary
+
+Thread pool strategy extension for service provider. When server receives one request, it needs a thread from thread pool to execute business logic in service provider.
+
+## Extension Interface
+
+`org.apache.dubbo.common.threadpool.ThreadPool`
+
+## Extension Configuration
+
+```xml
+<dubbo:protocol threadpool="xxx" />
+<!-- default configuration, it will take effect when threadpool attribute is not specified in <dubbo:protocol> -->
+<dubbo:provider threadpool="xxx" />
+```
+
+## Existing Extension
+
+* `org.apache.dubbo.common.threadpool.FixedThreadPool`
+* `org.apache.dubbo.common.threadpool.CachedThreadPool`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxThreadPool.java (ThreadPool implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.common.threadpool.ThreadPool (plain text file with the content: xxx=com.xxx.XxxThreadPool)
+```
+
+XxxThreadPool.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.common.threadpool.ThreadPool;
+import java.util.concurrent.Executor;
+ 
+public class XxxThreadPool implements ThreadPool {
+    public Executor getExecutor() {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.common.threadpool.ThreadPool:
+
+```properties
+xxx=com.xxx.XxxThreadPool
+```
+
diff --git a/documentations/2.7/en-us/docs/dev/impls/validation.md b/documentations/2.7/en-us/docs/dev/impls/validation.md
new file mode 100644
index 0000000..9419867
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/impls/validation.md
@@ -0,0 +1,75 @@
+# Validation Extension
+
+## Summary
+
+Extension for parameter validation.
+
+## Extension Inteface
+
+`org.apache.dubbo.validation.Validation`
+
+## Extension Configuration
+
+```xml
+<dubbo:service validation="xxx,yyy" />
+<!-- default configuration, it will take effect when there's no validation attribute specified in <dubbo:service> -->
+<dubbo:provider validation="xxx,yyy" />
+```
+
+## Existing Extension
+
+`org.apache.dubbo.validation.support.jvalidation.JValidation`
+
+## Extension Guide
+
+Directory layout:
+
+```
+src
+ |-main
+    |-java
+        |-com
+            |-xxx
+                |-XxxValidation.java (Validation implementation)
+    |-resources
+        |-META-INF
+            |-dubbo
+                |-org.apache.dubbo.validation.Validation (plain text file with the content: xxx=com.xxx.XxxValidation)
+```
+
+XxxValidation.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.validation.Validation;
+ 
+public class XxxValidation implements Validation {
+    public Object getValidator(URL url) {
+        // ...
+    }
+}
+```
+
+XxxValidator.java:
+
+```java
+package com.xxx;
+ 
+import org.apache.dubbo.validation.Validator;
+ 
+public class XxxValidator implements Validator {
+    public XxxValidator(URL url) {
+        // ...
+    }
+    public void validate(Invocation invocation) throws Exception {
+        // ...
+    }
+}
+```
+
+META-INF/dubbo/org.apache.dubbo.validation.Validation:
+
+```properties
+xxx=com.xxx.XxxValidation
+```
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/introduction.md b/documentations/2.7/en-us/docs/dev/introduction.md
new file mode 100644
index 0000000..e69de29
diff --git a/documentations/2.7/en-us/docs/dev/principals/code-detail.md b/documentations/2.7/en-us/docs/dev/principals/code-detail.md
new file mode 100644
index 0000000..57ebc23
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/code-detail.md
@@ -0,0 +1,36 @@
+# The devil is in the details
+
+> http://javatar.iteye.com/blog/1056664
+
+Recently, I have been worried about the quality of the Dubbo distributed service framework. If there are more maintenance personnel or changes, there will be a decline in quality. I am thinking, is there any need for everyone to abide by it, according to a habit when writing code, I have summarized it. The code process, especially the framework code, should always keep in mind the details. Maybe the following will be said, everyone will feel very simple, very basic, but always keep in mi [...]
+
+## Prevent null pointer dereference and index out of bounds
+
+This is the exception I least like to see, especially in the core framework, in contrast I would like to see a parameter not legal exception with detail information. This is also a robust program developer who should be prevented in the subconscious by writing every line of code. Basically, you must be able to ensure that the code that is written once will not appear in the case of no test.
+
+## Ensure thread safety and visibility
+
+For framework developers, a deep understanding of thread safety and visibility is the most basic requirement. Developers are required to ensure that they are correct in the subconscious when writing each line of code. Because of this kind of code, it will look normal when doing functional tests under small concurrency. However, under high concurrency, there will be inexplicable problems, and the scene is difficult to reproduce, and it is extremely difficult to check.
+
+## Fail fast and precondition
+
+Fail fast should also become a subconscious mind, assert at the entrance when there are incoming parameters and state changes. An illegal value and state should be reported at the first time, rather than waiting until the time is needed. Because when it is time to use, other related states may have been modified before, and few people in the program handle the rollback logic. After this error, the internal state may be confusing, and it is easy to cause the program to be unrecoverable on [...]
+
+## Separate reliable operation and unreliable operation
+ 
+The reliability here is narrowly defined whether it will throw an exception or cause a state inconsistency. For example, writing a thread-safe Map can be considered reliable, but writing to a database can be considered unreliable. Developers must pay attention to its reliability when writing each line of code, divide it as much as possible in the code, and handle exceptions for failures, and provide clear logic for fault-tolerant, self-protection, automatic recovery or switching. The ent [...]
+
+## Safeguard against exceptions, but does not ignore exceptions
+
+The exception defense mentioned here refers to the maximum tolerance of the code on the non-crucial path, including the bug on the program. For example, the version number of program is retrieved by scanning the Manifest and jar package names. This logic is auxiliary, but the code is quite a bit. Although the initial test works well but you should add a try-catch block to cover the whole getVersion() function, if something goes wrong then print error message and return the basic version. [...]
+
+## Reduce scope of variable and use final liberally
+
+If a class can be an Immutable Class, it is preferred to design it as an Immutable Class. The immutable class has natural concurrency advantages, reduce synchronization and replication, it can efficiently help analyze the scope of thread safety. Even if a mutable class, for references passed in from constructor then held internally, it is better to make this field final, so as not to be mistakenly modified. Don't assume that the field won't be reassigned if this field is private or this  [...]
+
+## Reduce misunderstanding when modifying, do not bury mine
+ 
+It is repeatedly mentioned that the code being modified by the others, and this is something developers should keep in mind. This other person includes the future of yourself, you always have to think about this code, someone may change it. I should give the modified person a hint, let him know my current design intent, instead of adding hidden rules in the program, or bury some easily overlooked mines, such as: use null to indicate that it is not available, the size is equal to 0 means  [...]
+
+## Improve code testability
+The testability here mainly refers to the ease of Mock and the isolation of the test cases. As for the automation, repeatability, stability, disorder, completeness (full coverage), lightweight (fast execution) of the test, the general developer, plus the assist of tools such as JUnit can do it. Can also understand its benefits, just the matter of workload. Primary emphasis on unicity(only test the target class itself) and isolation(do not propagate failure). Nowadays there is too much em [...]
diff --git a/documentations/2.7/en-us/docs/dev/principals/configuration.md b/documentations/2.7/en-us/docs/dev/principals/configuration.md
new file mode 100644
index 0000000..be11a81
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/configuration.md
@@ -0,0 +1,83 @@
+# The configuration design
+
+> http://javatar.iteye.com/blog/949527
+
+Dubbo design is now completely unobtrusive, namely the user only depends on the configuration of contract.After multiple versions of the development, in order to meet the demand of various scenarios, configuration is more and more.In order to maintain compatibility with only grow, lurking inside all sorts of styles, convention, rules.The new version will also be configured for a adjustment, remove the dubbo, properties, instead of all the spring configuration.Will think of some written i [...]
+
+## Classification of configuration
+
+First of all, the purpose is to have a variety of configuration, which can be roughly divided into: 
+
+0. Environment configuration, such as: the number of connections, the timeout configuration, etc. 
+0. Describe the configuration, such as: service interface description, service version, etc.
+0. Extension configuration, such as: protocol extension, strategy to expand, etc.
+
+## Configuration format
+
+Usually environment configuration, using the configuration properties will be more convenient, because is some simple discrete values, with the key - value configuration can reduce the learning cost configuration. 
+
+Describe the configuration, information more often, and even have a hierarchy, using XML configuration would be more convenient, because the tree structure configuration expression was stronger.If very complex, and can also custom DSL as configuration.Sometimes such configuration can also use the Annotation instead of, because the configuration and related business logic, in the code is also reasonable.
+
+Another extension configuration, which may be different.If only policy interface implementation class to replace, can consider the properties of the structure.If there is a complex life cycle management, may need to configure such as XML.Sometimes extended by registering interface provided. 
+
+## Configuration is loaded 
+
+For environment configuration, in the Java world, comparing to conventional approach, was agreed in a project under the classpath for the name of the configuration properties, such as: log4j. Properties, velocity. The properties and so on.Product during initialization, automatically from the classpath under loading the configuration.Our platform of many programs use a similar strategy, such as: dubbo. Properties, comsat. XML, etc.This has its advantages, is based on agreement, simplifies [...]
+
+Dubbo new version removes `dubbo.properties`, because the contract often conflicts configuration. 
+
+And to describe the configuration, because want to participate in the business logic, usually embedded into the application of life cycle management.There are more and more using spring projects, directly using the spring configuration is common, and spring permits custom schema, configuration simplified is very convenient.Also has its disadvantages, of course, is strongly dependent on the spring, can ask programming interface to do the matching scheme
+
+In Dubbo configuration is described, but also environment configuration.Part with spring schame configuration is loaded, in part, from the classpath scanning properties configuration is loaded.Users feel very inconvenient, so in the new version of the merged, unified into spring schame configuration load, also increases the flexibility of configuration.
+
+Extension configuration, usually to the configuration of aggregate demand is higher.Because the product need to find the third party implementation, add it to the product inside.Agreed in the Java world, usually in a specified file each jar package down load, such as: the eclipse plugin. The XML, struts 2 struts - plugin. XML, and so on, this kind of configuration can consider Java standard service discovery mechanisms, namely in the jar meta-inf/services placed under the interface class [...]
+
+Dubbo old version under each jar package through agreement, place called Dubbo - context. The spring configuration XML extensions and integration, the new version to use the JDK's own meta-inf/services, spring from too much dependence.
+
+## Programmable configuration
+
+Configuration of programmability is very necessary, no matter in what way you load the configuration file, should provide a programming way of configuration, allows the user to not using a configuration file, complete the configuration process with code directly.As a product, especially the component products, usually require collaboration use and other products, when a user integration of your product, may need adapter configuration mode.
+
+Dubbo new version offers one-on-one configuration class with XML configuration, such as: ServiceConfig corresponding ` < Dubbo: service / > `, and one-to-one attributes, this configuration file configuration and programming the consistency of the understanding, reduce the learning cost.
+
+## Configure the default 
+
+Configuration of the default, usually set the reasonable value of a regular environment, thus reducing the user's configuration.Is generally recommended that in online environment for reference, the development environment can adapt by changing the configuration.The default Settings, had better be in the outermost configuration do processing load.The underlying program if found configuration is not correct, you should direct error, fault tolerance in the outermost layer.If, when the unde [...]
+
+## Configuration consistency 
+
+Configuration is always implied some style or hidden rules, should as far as possible to keep its consistency.For example: a lot of functions have switch, and then have a configuration value: 
+
+0. Whether to use the registry, the registry address. 
+0. Whether to allow a retry, retries. 
+
+You may agree:
+ 
+0. Each is to configure a Boolean type of switch, to configure a value.
+0. On behalf of the closed with an invalid values, N/A address 0 retries, etc. 
+
+No matter which way, all the configuration items, should keep the same style, Dubbo selected is the second.Also, similar to that of timeout, retry time, timer interval.If a unit is second, another unit is milliseconds (C3P0 configuration item is) so, staff will be crazy. 
+
+## Configuration coverage 
+
+Provide configuration, want to consider developers, testers, piping, the system administrator.Testers can't modify the code, and test environment is likely to be more complex, need to have some set aside for testers "back door", can be modified in the peripheral configuration items.Like spring is accomplished configuration, support ` SYSTEM_PROPERTIES_MODE_OVERRIDE `, can through the JVM -d parameters, or like hosts agreed a cover configuration files, on the outside of the program, modif [...]
+
+ 
+Dubbo support through the JVM parameter ` - Dcom. XXX. XxxService = Dubbo: / / 10.1.1.1:1234` directly make the remote service call bypass registry, point to point test.There is a kind of situation, developers to increase the configuration, can according to the deployment of online configuration, such as: ` < dubbo: registry address = "${dubbo. Registry. Address}" / > ` because only one online registry, this configuration is no problem, and the testing environment may have two registry,  [...]
+`<dubbo:registry address="${dubbo.registry.address1}" />`, 
+`<dubbo:registry address="${dubbo.registry.address2}" />`,So this place, Dubbo support in the ${Dubbo. Registry. Address} value, through vertical dividing multiple registry addresses, used to represent a registry address.
+
+## Configuration inheritance 
+
+Configuration is also "duplicate code", there is also a "generalization and elaboration" problem.Such as: Dubbo timeout Settings, each service, and each method, should be can set the timeout.But a lot of service don't care about overtime, if required each method configuration, it is not realistic.So Dubbo adopted method inherit service timeout, overtime service timeout to inherit the default timeout, no configuration, opens up search.
+
+Dubbo, moreover, the old version all the timeout, retries, load balancing strategies are only in the service consumer configuration.But in the process of actual use, found that the service provider knows better than consumer, but the configuration items are used in consumer.The new version, joined in the provider can match these parameters, through the registry to the consumer,As a reference, if there is no configuration, consumer to provide configuration shall prevail, the equivalent of [...]
+Dubbo, moreover, the old version all the timeout, retries, load balancing strategies are only in the service consumer configuration.But in the process of actual use, found that the service provider knows better than consumer, but the configuration items are used in consumer.The new version, joined in the provider can match these parameters, through the registry to the consumer. 
+ 
+![configuration-override](../sources/images/configuration-override.png)
+
+## Configuration backward compatibility 
+
+Forwards compatibility is very good, as long as you guarantee configuration only grow, basically can guarantee forwards compatibility.But backward compatibility, but also should pay attention to, to prepare for subsequent to join the new configuration items.If a special configuration in configuration, you should make an appointment a compatibility for the "special" case rules, because the special case, probably will happen later.For example, have a configuration file is save "service = a [...]
+
+Backward compatibility, can learn a lot from HTML5, refer to:[HTML5 design principle](http://javatar.iteye.com/blog/949390)
diff --git a/documentations/2.7/en-us/docs/dev/principals/dummy.md b/documentations/2.7/en-us/docs/dev/principals/dummy.md
new file mode 100644
index 0000000..0b73930
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/dummy.md
@@ -0,0 +1,203 @@
+# "Fool-proof" design
+
+> http://javatar.iteye.com/blog/804187
+
+Recently I was feeling stupid because I solved too many stupid problems. The service framework is becoming more widely used. Every day, I have to help the endpoint user to resolve problems. Gradually, it is found that most of the problems are configuration errors, or duplicated files or classes, or network failure. So I prepare to add some "fool-proof" design to the further version. It may be very simple, but it is still a little help for troubleshooting speed. I hope that I can throw a  [...]
+
+## Check for duplicated jars
+
+The most annoying problem is that, if we have several jars with different version number at the same time, there will be a problem. Imagine that, a new version of the Class A may invoke a old version of the Class B, it's related to the JVM loading order. The problem may encounter occasionally and hard to resolve. So the first, let's try to avoid it. For each jar package, pick a class that will be loaded, check it for duplication for example:
+
+```java
+static {  
+    Duplicate.checkDuplicate(Xxx.class);  
+}  
+``` 
+
+Utility class for check duplication:
+
+```java
+public final class Duplicate {  
+  
+    private Duplicate() {}  
+  
+    public static void checkDuplicate(Class cls) {  
+        checkDuplicate(cls.getName().replace('.', '/') + ".class");  
+    }  
+  
+    public static void checkDuplicate(String path) {  
+        try {  
+            // search from ClassPath
+            Enumeration urls = Thread.currentThread().getContextClassLoader().getResources(path);  
+            Set files = new HashSet();  
+            while (urls.hasMoreElements()) {  
+                URL url = urls.nextElement();  
+                if (url != null) {  
+                    String file = url.getFile();  
+                    if (file != null &amp;&amp; file.length() &gt; 0) {  
+                        files.add(file);  
+                    }  
+                }  
+            }  
+            // if there are more than one indicates duplication
+            if (files.size() &gt; 1) {  
+                logger.error("Duplicate class " + path + " in " + files.size() + " jar " + files);  
+            }  
+        } catch (Throwable e) { // safe guard
+            logger.error(e.getMessage(), e);  
+        }  
+    }  
+  
+}  
+```
+
+## Check for duplicate configuration files
+
+It is also a frequently encountered problem that the configuration file is loaded incorrectly. Users often complain that they have the right configuration but program says something is wrong. After some troubleshooting, found that the configuration file is not even loaded. Many products put a default configuration file under classpath, if there are several, usually the first one loaded by JVM is effective. In order not to be bothered by such problem, just like checking duplicate jars, add this:
+
+```java
+Duplicate.checkDuplicate("xxx.properties"); 
+```
+
+## Check for optional configuration
+
+The required configuration is estimated to be checked by everyone, because without it the program may not even start. However, for some optional parameters, some checks should also be made. For example, the service framework allows the service consumers and service providers to be associated with the registry, and allows direct configuring the service provider address to point-to-point direct connect. At this time, the registry address is optional, but if there is no point-to-point direc [...]
+
+## Provide error message with a solution if possible
+
+It's hard to troubleshooting problem with a simple error message which has no detail information. For example, the last time I encountered a "Failed to get session" exception, just the few words. I'm wondering which session is wrong? What is the reason Failed? It makes me crazy, the problem happens in an production environment and it's hard to reproduce. The exception should have some basic context information, such as author info, operation system, failed reason. The best exception info [...]
+
+## And also the environment information
+
+Every time an application error occurs, the developer or QA will send the error message and ask the reason. At this time, I will ask some question again, which version is used? Is it a production environment or a development environment? Which registry center? Which project is it? Which machine? And which service? The problem is, some developers or QA can't tell the difference, it waste me a lot of time. So, it is best to log some environment information, we can make a wrapper. Decorate  [...]
+
+```java
+public void error(String msg, Throwable e) {  
+    delegate.error(msg + " on server " + InetAddress.getLocalHost() + " using version " + Version.getVersion(), e);  
+}  
+```
+
+Utility class for retrieve version:
+
+```java
+public final class Version {  
+  
+    private Version() {}  
+  
+    private static final Logger logger = LoggerFactory.getLogger(Version.class);  
+  
+    private static final Pattern VERSION_PATTERN = Pattern.compile("([0-9][0-9\\.\\-]*)\\.jar");  
+  
+    private static final String VERSION = getVersion(Version.class, "2.0.0");  
+  
+    public static String getVersion(){  
+        return VERSION;  
+    }  
+  
+    public static String getVersion(Class cls, String defaultVersion) {  
+        try {  
+            // search version number from MANIFEST.MF 
+            String version = cls.getPackage().getImplementationVersion();  
+            if (version == null || version.length() == 0) {  
+                version = cls.getPackage().getSpecificationVersion();  
+            }  
+            if (version == null || version.length() == 0) {  
+                // if not found, extract from jar name
+                String file = cls.getProtectionDomain().getCodeSource().getLocation().getFile();  
+                if (file != null &amp;&amp; file.length() &gt; 0 &amp;&amp; file.endsWith(".jar")) {  
+                    Matcher matcher = VERSION_PATTERN.matcher(file);  
+                    while (matcher.find() &amp;&amp; matcher.groupCount() &gt; 0) {  
+                        version = matcher.group(1);  
+                    }  
+                }  
+            }  
+            // return version, return default if null
+            return version == null || version.length() == 0 ? defaultVersion : version;  
+        } catch (Throwable e) { 
+            // ignore exception, return default version
+            logger.error(e.getMessage(), e);  
+            return defaultVersion;  
+        }  
+    }  
+  
+}
+```
+
+## Dump before kill 
+
+Every time there is a problem with the production environment, everyone panics. Usually the most direct way is to rollback and restart, to reduce the downtime. So that the scene is destroyed, and it's hard to check the problem afterwards. Some problem is hard to reproduce in development environment and may happen under hard pressure. It is unlikely let the developer or Appops manually backup all the data before. Therefore, it is best to call dump before the kill script to backup automati [...]
+
+```sh
+JAVA_HOME=/usr/java  
+OUTPUT_HOME=~/output  
+DEPLOY_HOME=`dirname $0`  
+HOST_NAME=`hostname`  
+  
+DUMP_PIDS=`ps  --no-heading -C java -f --width 1000 | grep "$DEPLOY_HOME" |awk '{print $2}'`  
+if [ -z "$DUMP_PIDS" ]; then  
+    echo "The server $HOST_NAME is not started!"  
+    exit 1;  
+fi  
+  
+DUMP_ROOT=$OUTPUT_HOME/dump  
+if [ ! -d $DUMP_ROOT ]; then  
+    mkdir $DUMP_ROOT  
+fi  
+  
+DUMP_DATE=`date +%Y%m%d%H%M%S`  
+DUMP_DIR=$DUMP_ROOT/dump-$DUMP_DATE  
+if [ ! -d $DUMP_DIR ]; then  
+    mkdir $DUMP_DIR  
+fi  
+  
+echo -e "Dumping the server $HOST_NAME ...\c"  
+for PID in $DUMP_PIDS ; do  
+    $JAVA_HOME/bin/jstack $PID > $DUMP_DIR/jstack-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jinfo $PID > $DUMP_DIR/jinfo-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jstat -gcutil $PID > $DUMP_DIR/jstat-gcutil-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jstat -gccapacity $PID > $DUMP_DIR/jstat-gccapacity-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jmap $PID > $DUMP_DIR/jmap-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jmap -heap $PID > $DUMP_DIR/jmap-heap-$PID.dump 2>&1  
+    echo -e ".\c"  
+    $JAVA_HOME/bin/jmap -histo $PID > $DUMP_DIR/jmap-histo-$PID.dump 2>&1  
+    echo -e ".\c"  
+    if [ -r /usr/sbin/lsof ]; then  
+    /usr/sbin/lsof -p $PID > $DUMP_DIR/lsof-$PID.dump  
+    echo -e ".\c"  
+    fi  
+done  
+if [ -r /usr/bin/sar ]; then  
+/usr/bin/sar > $DUMP_DIR/sar.dump  
+echo -e ".\c"  
+fi  
+if [ -r /usr/bin/uptime ]; then  
+/usr/bin/uptime > $DUMP_DIR/uptime.dump  
+echo -e ".\c"  
+fi  
+if [ -r /usr/bin/free ]; then  
+/usr/bin/free -t > $DUMP_DIR/free.dump  
+echo -e ".\c"  
+fi  
+if [ -r /usr/bin/vmstat ]; then  
+/usr/bin/vmstat > $DUMP_DIR/vmstat.dump  
+echo -e ".\c"  
+fi  
+if [ -r /usr/bin/mpstat ]; then  
+/usr/bin/mpstat > $DUMP_DIR/mpstat.dump  
+echo -e ".\c"  
+fi  
+if [ -r /usr/bin/iostat ]; then  
+/usr/bin/iostat > $DUMP_DIR/iostat.dump  
+echo -e ".\c"  
+fi  
+if [ -r /bin/netstat ]; then  
+/bin/netstat > $DUMP_DIR/netstat.dump  
+echo -e ".\c"  
+fi  
+echo "OK!"
+```
diff --git a/documentations/2.7/en-us/docs/dev/principals/expansibility.md b/documentations/2.7/en-us/docs/dev/principals/expansibility.md
new file mode 100644
index 0000000..3526a67
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/expansibility.md
@@ -0,0 +1,18 @@
+# Talk about expansion of extension and incremental extension
+
+> http://javatar.iteye.com/blog/690845
+
+
+There are more and more products in our platform, the function of the product also more and more.Platform products in order to meet the requirement of each BU and department as well as product line, will surely will be a lot of irrelevant function together, the customer can use selective.In order to compatible with more demand for each product, each framework, are constantly expanding, and we often choose some extension of the extension, namely to old and new function expanded into a gen [...]
+
+Such as: remote invocation framework, definitely not serialize function, function is very simple, is to transfer as object, the object into a stream.But because of some places may be using osgi, such serialization, IO in this may be isolated and the business side of this.Need to stream into byte [] array, and then passed on to the business side of this serialization.In order to adapt itself to the requirements of the osgi, expanded the original non osgi with osgi scenes, so, no matter wh [...]
+
+Such as: remote invocation framework, definitely not serialize function, function is very simple, is to transfer as object, the object into a stream.But because of some places may be using osgi, such serialization, IO in this may be isolated and the business side of this.Need to stream into byte [] array, and then passed on to the business side of this serialization.In order to adapt itself to the requirements of the osgi, expanded the original non osgi with osgi scenes, so, no matter wh [...]
+
+Such as: no status messages before, is very simple, just pass a serialized object.Later a synchronous message send demand, need a Request/Response matching, using extended extension, naturally thought, stateless news is actually a Request without Response, add a Boolean state so in the Request, said do you want to return the Response.If the message is sent to a Session needs again, then add a Session interaction, and then found that the original synchronous message sent is a special case [...]
+
+![open-expand](../sources/images/open-expand.jpg)
+
+If the incremental extension, stateless messages intact, synchronous message is sent, on the basis of stateless news add a Request/Response processing, message sending session, plus a SessionRequest/SessionResponse processing. 
+
+![close-expand](../sources/images/close-expand.jpg)
diff --git a/documentations/2.7/en-us/docs/dev/principals/extension.md b/documentations/2.7/en-us/docs/dev/principals/extension.md
new file mode 100644
index 0000000..8d1560d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/extension.md
@@ -0,0 +1,135 @@
+# Extension points to reconstruct
+
+> http://javatar.iteye.com/blog/1041832
+
+With the promotion of service, the website of Dubbo service framework requirements gradually increase, Dubbo existing developers can implement demand is limited, many requirements have been delay, and site classmates also want to participate, combined with field, so the platform will be open to internal part of the project, let everyone together to implement, Dubbo as one of the pilot project. 
+
+Now that want to open it, about to take some extension point Dubbo, let participants black box extend as far as possible, rather than a white box to modify the code, or branch, quality, merger, the conflict will be hard to manage. 
+
+First look at the Dubbo existing design:
+
+![design-step-1](../sources/images/design-step1.png)
+
+There though some extension interface, but not very good collaboration, and loading and configuration of extension points are not unified handling, so face it under the refactoring.
+
+## Step 1, the core plug-in, equal treatment to the third party
+
+Now that want to expand, extension point loading mode, the first thing to unification, micro core + plug-in, can achieve the principle of OCP is train of thought.
+
+Made up of a plugin lifecycle management container, core, core does not include any functions, this will ensure that all functions can be replaced, and framework, the authors can achieve the function of the extension must also can do it, so as to guarantee the equal treatment to a third party, so, the function of the framework itself also want to use the plug-in way, cannot have any hard coded. 
+
+Micro core usually adopt the Factory, the IoC, the OSGi plugin lifecycle management.Consider the applicable Dubbo, strong don't want to rely on the Spring IoC container.The IoC container that you made a small also feel a little too much design, so intend to use the most simple way of Factory management plug-in. 
+
+Finally decided to adopt the JDK standard SPI extension mechanism, see: ` Java. Util. The ServiceLoader `, namely extension in the jar package ` meta-inf/services / ` directory placed with interface of text files, with the same content for interface implementation class name, multiple separate implementation class name with a newline.Need to expand Dubbo agreement, for example, simply by XXX. Placed in a jar file: ` meta-inf/services/com. Alibaba. Dubbo. RPC. Protocol `, contents for ` c [...]
+
+All plug-in and agreed, must be marked with: ` @ the Extension ` (" name "), as the identity of the name, after loading is used to configure option.
+
+## Step 2 each extension point encapsulate a change factor, only to maximize reuse 
+
+Each extension point implementers, usually only care about one thing, now the extension points, is not entirely separate.Such as: Failover, the Route, LoadBalance, Directory not completely separate, all written by RoutingInvokerGroup died.
+
+Again, for example, protocol extension, the extension may just want to replace the serialization way, or just replace transmission mode, and Remoting and Http can also reuse serialization, etc.In this way, the need for transport, the client, the server implementation, protocol parsing, data serialization, allow different extension point. 
+
+After break up, the design is as follows:
+
+![design-step-2](../sources/images/design-step2.png)
+
+
+## Step 3, the entire pipeline design, logic framework itself, are implemented using cross section intercept 
+
+Now a lot of logic, are placed in the base class implementation, then by the method of template back to the realization of the tone categories, including: local, mock, generic, echo, token, accesslog, monitor, count, limit, etc., can use the Filter to realize all split, each function is called a ring on the chain.Such as: (the base class template method) 
+
+```java
+public abstract AbstractInvoker implements Invoker {  
+  
+    public Result invoke(Invocation inv) throws RpcException {  
+        // Pseudo code  
+        active ++;  
+        if (active > max)  
+            wait();  
+          
+        doInvoke(inv);  
+          
+        active --;  
+        notify();  
+    }  
+      
+    protected abstract Result doInvoke(Invocation inv) throws RpcException  
+  
+}  
+```
+
+To: (chain filter)
+
+```java
+public abstract LimitFilter implements Filter {  
+  
+    public Result invoke(Invoker chain, Invocation inv) throws RpcException {  
+         // Pseudo code  
+        active ++;  
+        if (active > max)  
+            wait();  
+          
+        chain.invoke(inv);  
+          
+        active --;  
+        notify();  
+    }  
+  
+}
+```
+
+## Step 4, a minimum concept, consistent conceptual model
+
+Keep the concept of as little as possible, help to understand, for open systems is particularly important.In addition, the interface can use a consistent conceptual model, can guide each other, and reduce the model transformation, 
+
+For example, Invoker method signature as follows: 
+
+```java
+Result invoke(Invocation invocation) throws RpcException;
+```
+
+The Exporter method signature as follows: 
+
+```java
+Object invoke(Method method, Object[] args) throws Throwable;  
+```
+
+But they are the same, only is a on the client side, one on the server side, different model classes are applied.
+
+For example, the URL string, parse and assembled, not a URL model classes, and the Parameters of the URL, but sometimes the Map, and sometimes the Parameters class wrapping,
+
+```java
+export(String url)  
+createExporter(String host, int port, Parameters params);  
+```
+
+Use consistent model:
+
+```java
+export(URL url)  
+createExporter(URL url);  
+```
+
+For example, the existing: Invoker, Exporter, InvocationHandler, FilterChainAre actually invoke behavior at different stages, can abstract away completely, unified for the Invoker, reduce the concept. 
+
+## Step 5, hierarchical, modular extensions, rather than generic type extension
+
+Why see:[expansibility](../principals/expansibility.md)。
+
+Generalization expansion refers to: the extension point gradually abstraction, take all functions, sets and new function is always set in and expand the function of the old concept.
+
+Combined extension refers to: the extension points orthogonal decomposition, all functions of overlap, new function is always based on the old function implementation. 
+
+The above design, unconsciously will Dubbo existing function as the core functionality.Above contains the concept of Dubbo existing RPC all functions, including: the Proxy, the Router, Failover, LoadBalance, Subscriber, Publisher, Invoker, Exporter, Filter, etc., 
+But these are the core?RPC can Run, kicked off what?And what is not kick off?Based on this consideration, the RPC can be broken down into two levels, Protocol and Invoker is the core of RPC.Other, including the Router, Failover, Loadbalance, Subscriber, the Publisher is the core, but the Routing.Therefore, the Routing as an extension of the Rpc core, design is as follows:
+
+![design-step-3](../sources/images/design-step3.png)
+
+## Step 6, and networking
+
+After finishing, the design is as follows:
+
+![design-step-4](../sources/images/design-step4.png)
+
+
diff --git a/documentations/2.7/en-us/docs/dev/principals/general-knowledge.md b/documentations/2.7/en-us/docs/dev/principals/general-knowledge.md
new file mode 100644
index 0000000..b958a13
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/general-knowledge.md
@@ -0,0 +1,68 @@
+# Some in the design of the basic common sense
+
+> http://javatar.iteye.com/blog/706098
+
+Recently told the new team some design on the common sense, is likely to be new and some other help, the thought of a few temporarily, first write here. 
+
+## The API and SPI separation 
+
+Framework or component there are generally two types of customers, one is a consumer, is an extension.API (Application Programming Interface) is used to users, and SPI (Service dojo.provide Interface) is used to expand.At design time, try to put them off, and don't mix.In other words, the user is can't see write the implementation of the extension.
+
+For example, a Web framework, it has an API interface to call the Action, there is a the execute () method, which is for the user to write business logic.Then, Web frameworks have a SPI interface to extend the control output, such as velocity templates output or a json output, etc.If this Web framework using an inheritance VelocityAction and a JsonAction as extension of the Action, with output velocity templates will inherit VelocityAction, want to use the json output will inherit JsonAc [...]
+
+![mix-api-spi](../sources/images/mix-api-spi.jpg)
+
+
+Is a reasonable way, there is a separate Renderer interface, VelocityRenderer and JsonRenderer implementation, Web framework will transfer the output of the Action to the Renderer interface for rendering output.
+
+![seperate-api-spi](../sources/images/seperate-api-spi.jpg)
+ 
+
+## Service domain/entity/session domains separation
+
+Any framework or component, there will always be the core domain model, such as: Spring Bean, Struts Action, Service of Dubbo, Napoli Queue, and so on.The core areas of the model and its component is called physical domain, it represents our goal to operate on itself.Physical domain is thread-safe, usually either through the same class, sync, or copy the way.
+
+Service domain, that is, behavior domain, it is the function of the components, but also is responsible for the entity and session domains of life cycle management, such as Spring ApplicationContext, Dubbo ServiceManager, etc.Service domain objects often is heavy, and is thread-safe, and serve all calls to a single instance.
+ 
+What is a session?Is an interactive process.Session key is the concept of context, the context is what?For example, we said: "old place", the "old place" is the context information.Why do you say "old place" other person will know, because we defined earlier the specific content of the "old place".So, the context often hold state variables in the process of interaction, etc.The session object, were generally mild and every request to create an instance, destroyed after the request.In sho [...]
+
+![ddd](../sources/images/ddd.jpg)
+ 
+
+## On the important process to interceptor interface 
+
+If you want to write a remote invocation framework, the remote call block the process should have a unified interface.If you want to write an ORM framework, that at least the SQL execution, the Mapping process to intercept interface;If you want to write a Web framework, the request execution should be interception interfaces, and so on.No common framework can Cover all requirements, allowing external behavior, is the basic extension of the framework.Before a remote call, so that if someo [...]
+
+![filter-chain](../sources/images/filter-chain.jpg)
+
+## The important status of sending events and set aside to monitor interface 
+
+Here to tell the difference between an event and the interceptor above, the interceptor is in the process of intervention, it is part of the process, is based on process behavior, and event is based on state data, any behavior changes of the same condition, the event should be consistent.Event is usually after the event notification is a Callback interface, the method name is usually past tense, such as onChanged ().Remote invocation framework, for example, when the network disconnect or [...]
+
+![event-listener](../sources/images/event-listener.jpg)
+
+## Extension interface functions as a single, composability
+
+For example, the remote invocation framework agreement is to replace it.If only provide a general extension interface, switch can deal, of course, but the protocol support can be subdivided into the underlying communication, serialization, dynamic proxy mode and so on.If the interface split, orthogonal decomposition, will be easier to reuse existing logical extension, and just replace a part of the implementation strategy.Of course the decomposition the granularity of the need to grasp.
+
+## Micronucleus plug-in, equal treatment to the third party
+
+"A good framework of development, abide by the concept of micronucleus.Eclipse is OSGi microkernel, Spring's microkernel is the BeanFactory, Maven microkernel is breadth.With functional core is usually should not be, but a life cycle and integrated container, so that each function can interact through the same way and extension, and any function can be replaced.If they do not microkernel, must be at least equal treatment to a third party, namely, the author can realize the function of ex [...]
+
+## Don't control the external object lifecycle 
+
+Such as the above said the Action using the interface and the Renderer extension interface.Framework if let users or extend the Action or the Renderer implementation class name of the class or kind of meta information submitted, then internally by reflecting newInstance () to create an instance of this framework is to control the Action or the Renderer implementation class life cycle, the Action or the Renderer physical, frameworks do it himself, external extension or integration are pow [...]
+
+## Configurable must be programmable, and maintain friendly CoC conventions 
+
+Framework using the environment uncertainty because of the many, there will always be some configuration, usually to a specified name classpath straight sweep configuration, or startup allows you to specify the configuration path.As a common framework, should do all can do configuration file must be able to programmatically, or when the user needs to be your frame with another frame integration will bring a lot of unnecessary trouble.
+
+In addition, as far as possible do a standard contract, if the user has to do things by some sort of agreement, there is no need for the configuration items.Such as: configuration templates location, you can agree, if in the templates directory doesn't have to match, if you want to change the directory, and configuration.
+
+## Distinguish between commands and queries, clear pre-conditions and post-conditions
+
+This is part of the design by contract, try to keep to a return value method is to query methods, void return method is to command.Query methods are usually idempotence, without side effects, also is not change any state, the n results are the same, such as the get a property value, or query a database record.Command is to point to have side effects, namely will change state, such as set a value, or update a database record.If you have modified the status of the operation, do a query ret [...]
+
+## Incremental extension, and not to extend the original core concept
+
+refer to:[expansibility](./principals/expansibility.md)
diff --git a/documentations/2.7/en-us/docs/dev/principals/introduction.md b/documentations/2.7/en-us/docs/dev/principals/introduction.md
new file mode 100644
index 0000000..9a7c042
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/introduction.md
@@ -0,0 +1,3 @@
+# Design principals
+
+The design principles in this chapter are taken from a series of articles published by Liang Fei on javaeye.
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/dev/principals/robustness.md b/documentations/2.7/en-us/docs/dev/principals/robustness.md
new file mode 100644
index 0000000..1726e88
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/principals/robustness.md
@@ -0,0 +1,83 @@
+# The robustness of the design implementation
+
+> http://oldratlee.com/380/tech/java/robustness-of-implement.html
+
+
+Dubbo as a remote service exposure, calls and management solutions, through the meridians of the application is running, its itself to achieve robustness of importance is self-evident.
+
+Here are some Dubbo principle and method of use.
+
+## The log
+
+Logging is one of the most commonly used way to find, discover problems.Log quality is often neglected, there is no log on using expressly agreed upon.Attaches great importance to the use of the Log, and improve the concentration of the Log information.Log too much, too much chaos, could lead to useful information.
+
+To effectively use this tool to note:
+
+### Record the contents of the stipulated strictly WARN, the ERROR level
+
+* WARN that can restore the problem without human intervention.
+* The ERROR says requires human intervention.
+
+With such agreement, the regulatory system found in the ERROR log file of the string will call the police, and to minimize the occurrence.Excessive alarm can let a person tired, make the person lose vigilance in alarm, make the ERROR log.Along with artificial, regularly check the WARN level information to assess the degree of "subhealth" system.
+
+### In the log, as much as possible to collect key information
+
+What is the key information?
+
+* Site information at the time of the problem, namely the screening questions to use information.Such as service invocation fails, to give the use of Dubbo version, the service provider's IP, which is used in the registry;Which service invocation, which method and so on.This information if not given, then later artificial collection, problem after the site may have already can't recover, increase the difficulty of the problem.
+* If possible, the cause of the problem and the solution is given.This makes maintenance and problem solving becomes simple, rather than seeking savvy (often the implementer) for help.
+
+### Don't duplicate records many times the same or a class of problems
+
+The same or a kind of abnormal log continuous there dozens of times, still can often see.The human eye is easy to miss under the different important log information.Try to avoid this situation.Will appear in the foreseeable, it is necessary to add some logic to avoid.
+
+As a symbol for a question, a problem after log Settings after sign and avoid a repeat of the log.The problem clear sign after recovery.
+
+Although a bit troublesome, but do ensure log information concentration, the more effective for monitoring.
+
+## Limit set
+
+Resources are limited, CPU, memory, IO, etc.Don't cry because it is outside of the request, the data is not limited.
+
+### The size of the thread pool (ExectorService) and saturated strategy
+
+The Server end ExectorService set limit for processing requests.Use limited queue ExecutorService task waiting queue, avoid resource depletion.When the task waiting queue saturated, choose a suitable saturated strategy.This ensures smooth degradation.
+
+In Dubbo, saturated strategy is to discard data, waiting for the result is only a request timeout.
+
+Saturated, the specification has reached the maximum load, the service provider to logging in the operation of the saturated strategy of the problem, in order to monitor warnings.Remember to be careful not to repeat many times record well.(note that the default saturation strategy will not have these additional operation.)According to the frequency of the alarm, has decided to increase adjustment, etc., avoid system problems are ignored.
+
+### The collection capacity
+
+If to ensure element is controlled on the collection and is small enough, then you can rest assured use.This is most of the situation.If can't guarantee anything, use a bounded set.When reach the boundary, choose a suitable strategy.
+
+## Fault tolerant - retry - recovery
+
+High availability components to tolerate its dependence on the failure of the component.
+
+### Dubbo service registry
+
+The service registry using the database to store the information service providers and consumers.Different registry registry cluster through the database to synchronize data, to perceive other providers on the registry.Registry would ensure a provider and consumer data in memory, the database is unavailable, independent of the normal operation of foreign registry, just can't get other registry data.When the database recovery, retry logic will modify memory write data back to the database [...]
+
+### Service consumers
+
+After the message service provider list from the registry, will save the provider list to memory and disk file.Consumers can function properly after this registry is down, even in the registry during outage restart consumers.Consumers started, find the registry is not available, will read the list stored in the disk file provider.Retry logic to ensure the registry after recovery, update the information.
+
+## Retry delay strategy
+
+On a bit of the subproblem.Dubbo encountered two related scenario.
+
+### On the database lock
+
+Registration center will regularly update the database of a record timestamp, such cluster other registry perceive it is alive.Overdue registry and its associated data will be cleared.Database is normal, the mechanism as well.But the database load is high, its every action is slow.This occurs:
+
+A registry that B expired, delete B data.B find their data, to write their own data repeatedly.These repeated operation and increase load the database, deterioration.
+
+Use the following logic:
+
+When data is deleted B found themselves fail (write), choose to wait for this period of time and try again.Can choose to retry time exponentially, such as first class 1 minute, the second for 10 minutes, 100 minutes for the third time.
+This decrease after operation, ensure database can cooling Down (Cool Down).
+
+### The Client reconnection registry
+
+When a registry downtime, other Client will receive events at the same time, and to reconnect to another registry.The Client number is relatively more, will be the impact of the registry.Avoid method can be a Client reconnection random delay for 3 minutes, when the reconnection spread out.
diff --git a/documentations/2.7/en-us/docs/dev/release.md b/documentations/2.7/en-us/docs/dev/release.md
new file mode 100644
index 0000000..6f6b728
--- /dev/null
+++ b/documentations/2.7/en-us/docs/dev/release.md
@@ -0,0 +1,34 @@
+# Versions
+
+**New feature development** and **stability improvement** are equally important to product. But adding new features will affect stability, dubbo uses the following version development pattern to achieve a good balance.
+
+## Two versions evolving at the same time
+
+* BugFix Version:low version,e.g. `2.4.x`. This is called the GA version, which can be applied in production. We are supposed only to fix bugs in this version, and increase the third version number when release.
+* Feature Version:high version, e.g. `2.5.x`. We add new features to this version, so applications have opportunities try new features.
+
+When features in `2.5.x` are proved stable enough, we will announce `2.5.x` as a beta release. 
+
+When `2.5.x` proved stable after enough test on enough applications:
+
+* `2.5.x`, the GA Version, only do BugFix, the main version to be used. We can try to promote applications to upgrade to GA at the desired time.
+* `2.4.x`, no longer maintained. When bugs appear, applications have no choice but upgrade to the latest stable version- Sunset Clause
+* We create a new branch `2.6.0` based on `2.5.x` for new features.
+
+## Pros
+
+* GA Version are promised stable:
+    * only BugFix
+    * GA Version got enough tests before promotion
+* New features can respond quickly in Feature Version and allow applications to try that
+* Significantly reduces development and maintenance costs 
+
+## The responsibilities of users
+
+Users should always keep in track with the GA Version, make sure all bugs were fixed.
+
+There is a fake proposition: regular upgrades bring more risks. Here's the reasons:
+
+* GA remains stable after a trial period.
+* Bugs find on GA will be fixed immediately.
+* Comparing with the on-need-upgrade (only upgrade when find a serious problem, and may span multiple versions), upgrade periodically can flat risk. Experienced a long cycle of large projects, students will have such an experience, the tripartite library version does not upgrade for a long time, the result of the problem had to upgrade to the new version (across multiple versions) a huge risk.
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/close-expand.jpg b/documentations/2.7/en-us/docs/dev/sources/images/close-expand.jpg
new file mode 100644
index 0000000..58a72ce
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/close-expand.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/configuration-override.png b/documentations/2.7/en-us/docs/dev/sources/images/configuration-override.png
new file mode 100644
index 0000000..39afaad
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/configuration-override.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/ddd.jpg b/documentations/2.7/en-us/docs/dev/sources/images/ddd.jpg
new file mode 100644
index 0000000..f32972a
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/ddd.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/design-step1.png b/documentations/2.7/en-us/docs/dev/sources/images/design-step1.png
new file mode 100644
index 0000000..cef59da
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/design-step1.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/design-step2.png b/documentations/2.7/en-us/docs/dev/sources/images/design-step2.png
new file mode 100644
index 0000000..f1d9046
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/design-step2.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/design-step3.png b/documentations/2.7/en-us/docs/dev/sources/images/design-step3.png
new file mode 100644
index 0000000..bee3f5f
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/design-step3.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/design-step4.png b/documentations/2.7/en-us/docs/dev/sources/images/design-step4.png
new file mode 100644
index 0000000..66ca86f
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/design-step4.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-export.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-export.jpg
new file mode 100644
index 0000000..b4d83a3
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-export.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-extension.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-extension.jpg
new file mode 100644
index 0000000..5ebe3c9
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-extension.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-framework.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-framework.jpg
new file mode 100644
index 0000000..005408a
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-framework.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-modules.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-modules.jpg
new file mode 100644
index 0000000..946cb09
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-modules.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-protocol.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-protocol.jpg
new file mode 100644
index 0000000..181f60c
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-protocol.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-refer.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-refer.jpg
new file mode 100644
index 0000000..6154b7f
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-refer.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo-relation.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-relation.jpg
new file mode 100644
index 0000000..edd9c2a
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo-relation.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo_protocol_header.png b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_protocol_header.png
new file mode 100644
index 0000000..c1daac3
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_protocol_header.png differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_export.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_export.jpg
new file mode 100644
index 0000000..0800c8b
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_export.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_invoke.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_invoke.jpg
new file mode 100644
index 0000000..fda28cf
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_invoke.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_refer.jpg b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_refer.jpg
new file mode 100644
index 0000000..a70d08b
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/dubbo_rpc_refer.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/event-listener.jpg b/documentations/2.7/en-us/docs/dev/sources/images/event-listener.jpg
new file mode 100644
index 0000000..ea67d8a
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/event-listener.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/filter-chain.jpg b/documentations/2.7/en-us/docs/dev/sources/images/filter-chain.jpg
new file mode 100644
index 0000000..1e0e8b4
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/filter-chain.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/mix-api-spi.jpg b/documentations/2.7/en-us/docs/dev/sources/images/mix-api-spi.jpg
new file mode 100644
index 0000000..60daa63
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/mix-api-spi.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/open-expand.jpg b/documentations/2.7/en-us/docs/dev/sources/images/open-expand.jpg
new file mode 100644
index 0000000..c686be3
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/open-expand.jpg differ
diff --git a/documentations/2.7/en-us/docs/dev/sources/images/seperate-api-spi.jpg b/documentations/2.7/en-us/docs/dev/sources/images/seperate-api-spi.jpg
new file mode 100644
index 0000000..ec6823c
Binary files /dev/null and b/documentations/2.7/en-us/docs/dev/sources/images/seperate-api-spi.jpg differ
diff --git a/documentations/2.7/en-us/docs/developers/committer-guide/apache-dubbo-page_dev.md b/documentations/2.7/en-us/docs/developers/committer-guide/apache-dubbo-page_dev.md
new file mode 100644
index 0000000..632f9de
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/committer-guide/apache-dubbo-page_dev.md
@@ -0,0 +1,33 @@
+# Apache Official Dubbo Page Maintenance
+
+Apache has an official website that maintains information about all incubation projects. 
+Each incubation project has an information page under this website. 
+Dubbo's information page address is https://incubator.apache.org/projects/dubbo.html.
+
+When the project has undergone major changes, such as the addition of a new committer, 
+the election of a new PMC, or a new version of Release, etc, these updates need to be maintained on this page.
+The project address for this official website is 
+https://svn.apache.org/repos/asf/incubator/public/trunk.
+
+Here's how to maintain this page:
+
+1. Install the SVN. If it is a Mac OS X system or a Linux system, it comes with SVN. If it is a Windows system, 
+please install SVN first.
+
+2. Check out the [project](https://svn.apache.org/repos/asf/incubator/public/trunk) with SVN.
+
+3. Modify the content/projects/dubbo.xml file and save it.
+
+4. Install ANT. And execute the ant command in the trunk directory to build.
+
+5. After the build is complete, open the target/site/projects/dubbo.html file with your browser to see if the changes take effect.
+
+6. Use the commit command of SVN to submit the dubbo.xml file to the server, and do not submit the dubbo.html file 
+(because the server will automatically build it at regular intervals).
+This process will ask for the Apache id and password.
+
+References:
+
+1.http://incubator.apache.org/guides/website.html
+
+2.https://svn.apache.org/repos/asf/incubator/public/trunk/README.txt
diff --git a/documentations/2.7/en-us/docs/developers/committer-guide/label-an-issue-guide_dev.md b/documentations/2.7/en-us/docs/developers/committer-guide/label-an-issue-guide_dev.md
new file mode 100644
index 0000000..6c18c87
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/committer-guide/label-an-issue-guide_dev.md
@@ -0,0 +1,29 @@
+# Label an Issue
+
+If you are handling an issue, remember to **mark the issue cearly with one or more labels** whenever you think it's meaningful. With labels on, other developers can easily recognize problems, classify them or track progress. 
+
+For issues or pull requests that need coding and further version release to fix, you should always **mark it with a [milestone](https://github.com/apache/dubbo/milestones)**. 
+
+Some frequently used labels:
+* Help Wanted
+  * help wanted
+  * good first issue
+
+* Prority
+  * priority/blocker
+  * priority/high
+  * priority/low
+  * priority/normal
+
+* Status
+  * status/need-triage
+  * status/DO-NOT-MERGE
+  * status/READY-TO-MERGE
+  * status/invalid 
+  * status/wontfix
+
+* Type
+  * type/bug
+  * type/documentation
+  * type/enhancement
+  * type/feature
diff --git a/documentations/2.7/en-us/docs/developers/committer-guide/new-committer-guide_dev.md b/documentations/2.7/en-us/docs/developers/committer-guide/new-committer-guide_dev.md
new file mode 100644
index 0000000..867c72e
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/committer-guide/new-committer-guide_dev.md
@@ -0,0 +1,95 @@
+# Apache Committer Guide
+
+## First: How to become a committer
+
+### Initial committers at the project incubator stage
+At the project incubator stage, there will be an initial committers list in the proposal of the incubator project. Confirm that you are one of the initial committers. After the vote is passed in the Apache incubator community, these committers can start preparing their account. See [incubator wiki](https://wiki.apache.org/incubator/) for details.
+
+### The active contributor is elected as a committer
+At the late development stage, an active contributor can be elected as a committer. See [how to become a committer](https://www.apache.org/dev/new-committers-guide.html#becoming-a-committer)
+
+## Second: The individual contributor signs ICLA
+
+### 1, Apache ID
+Choose a Apache ID not in the [apache committers list page](http://people.apache.org/committer-index.html).
+
+### 2, Individual Contributor License Agreement  (ICLA):
+Download the [ICLA template](https://www.apache.org/licenses/icla.pdf). After filling the icla.pdf with personal information correctly, print, sign, scan, and send it in mail as an attachment to the secretary secretary@apache.org, the secretary will help to create the Apache user ID. At the same time, a your-id@apache.org mailbox will be created. You can see if the user has been created on the [apache committers list page (http://people.apache.org/committer-index.html).
+
+## Third: Join The Apache Developer Group
+
+* 1, login via the [Apache account tool](https://id.apache.org/), when you login at the first time, you can select the "Change password?" checkbox  to get the initial password. Then the initial password will be sent to the forward mailbox (the developer mail recorded in the project incubator proposal)
+
+* 2, about Apache mailbox: does not have its own mail content storage server. It needs to borrow the mail content storage and mail sending functions of other mail providers. In many voting sessions, Apache mailbox is recommended.
+
+There is a question about how to configure the apache.org mailbox forwarding function using other mailboxes.
+
+1) inbox: to receive mails that sent to youer-id@apache.org mailbox. The forward mailbox configured in the Apache account tool in the first step can use the forward mailbox to pick up incoming mail.
+
+2) the Outbox: emails sent out will show the sender as  your-id@apache.org account. Please refer to: [set up Apache mailbox guide](https://reference.apache.org/committer/email) and [Gmail mailbox setting](http://gmailblog.blogspot.com/2009/07/send-mail-from-another-address-without.html). In other mailbox service settings, this forwarding mode is not easy to find. Gmail is the most convenient, which is recommended  (no advertising).
+
+* 3, Modify the homepage URL option in the edit page, homepage link of  your account can be added in [apache committer index page](http://people.apache.org/committer-index.html) 
+
+* 4, Modify the GitHub account in the edit page, and an email will be sent to invite you to join the github.com/apache-commiiters group. Now, please learn from the way [ASF works](http://www.apache.org/foundation/how-it-works.html#developers) to do some basic preparation of ASF development.
+
+## Fourth: To obtain write permission of the project
+
+Operation of the [GitBox account link tool](https://gitbox.apache.org/setup/) 
+
+### 1, Apache account authorization
+
+According to the prompt, the OAuth protocol of Apache account is authorized to login.
+
+### 2, Github account authorization
+
+According to the prompt, the OAuth protocol of Github account is authorized to login.
+
+### 3, Set up GitHub account in github.com, two-factors authorization (2FA)
+
+* 1) install "Google Authenticator" app on your cell phone
+* 2), Following the [authorized GitHub 2FA wiki](https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/),  you can operation step by step .
+
+In the [two-factors authorization authentication (2. Scan this barcode with your app.)](https://github.com/settings/two_factor_authentication/verify) page, it is not recommended to select a two-dimensional code with a cell phone, because some of the cell phones will not be able to scan.
+
+Please open the cell phone "Google Authenticator" app, click "+" to select "input the secret key": write the GitHub account in the account name input box. In your "secret key" input box, write the text of the "enter this text code" link in the open web page. After clicking "add" in app, 6 digit dynamic will be generated for this account. Write the 6 digit number to the text box in the web page, and then click "Enable". In this way, the 2fa is set successfully.
+
+* 3), logout and login to Github again, and one more step will appear after entering user name and password. Fill in the 6 digit number dynamic password  generated by the app 
+
+* 4),It will take about half an hour, and you will be notified by mail that you have joined the XX project-committers developer group. You can also check it in the [apache teams] (https://github.com/orgs/apache/teams) page yourself.
+
+* 5), After the 2fa has been submitted, you will have the permission check problem for the cloned projects. The solution is one of below two:
+
+* A. Apply for Access Token
+
+When access token is generated on GitHub, the token where the instruction line needs a password is pasted.
+
+Refer to website [referenced link one](https://help.github.com/articles/https-cloning-errors/#provide-access-token-if-2fa-enabled) and [referenced link two](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
+
+* B. switch to SSH
+
+ssh-keygen then paste the content in the pub file into GitHub.
+
+**Note**: ensure that GitHub's 2fa is "enabled". When you set 2fa to "off", it will be delisted by the corresponding Apache committer write permission group until you set it up again.
+
+## Fifth: other
+
+### The Apache way
+
+See [wiki](http://apache.org/foundation/governance/).
+
+The community is more important than the code
+If not discussed in the community (mailing list), just as it did not happen.
+
+### Add your name
+
+Please update Dubbo incubator status [page](https://incubator.apache.org/projects/dubbo.html) to add your name. See this [guide](http://dubbo.apache.org/en-us/docs/developers/committer-guide/apache-dubbo-page_dev.html) for instructions.
+
+Please update Dubbo offiical [website](http://dubbo.apache.org/en-us/docs/developers/developers_dev.html) to update your name.
+
+
+### A small benefit
+
+Jetbrains company gives Apache committers a small benefit, which is free to use IDEA's full series products. The specific address is: https://www.jetbrains.com/shop/eform/apache?Product=ALL
+
+### Reference wiki
+https://www.apache.org/dev/new-committers-guide.html
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/developers/committer-guide/release-guide_dev.md b/documentations/2.7/en-us/docs/developers/committer-guide/release-guide_dev.md
new file mode 100644
index 0000000..fc1db45
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/committer-guide/release-guide_dev.md
@@ -0,0 +1,500 @@
+---
+title: Understanding the Apache Release Cycle
+keywords: Dubbo, Apache, Release
+---
+
+## Understanding the Apache Release Cycle
+
+In general, Source Release is the key and the required content of Apache. But Binary Release is optional, Dubbo can choose whether to release binary packages to the Apache repository or to the Maven central repository.
+
+Please refer to the following links for more information on ASF's release guide:
+
+- [Apache Release Guide](http://www.apache.org/dev/release-publishing)
+- [Apache Release Policy](http://www.apache.org/dev/release.html)
+- [Maven Release Info](http://www.apache.org/dev/publishing-maven-artifacts.html)
+
+## Preparation of Local Building Environment 
+
+Mainly including the related preparation of signature utilities and Maven repository certification
+
+1. Install GPG,refer to https://www.gnupg.org/download/index.html
+
+   - For example, in Mac OS
+
+    ```sh
+    $ brew install gpg
+    $ gpg --version #check version,should be 2.x
+    ```
+
+2. Generate the key with GPG
+
+   - Generate the key according to the prompt
+
+    ```shell
+    $ gpg2 --full-gen-key
+    gpg (GnuPG) 2.0.12; Copyright (C) 2009 Free Software Foundation, Inc.
+    This is free software: you are free to change and redistribute it.
+    There is NO WARRANTY, to the extent permitted by law.
+    
+    Please select what kind of key you want:
+      (1) RSA and RSA (default)
+      (2) DSA and Elgamal
+      (3) DSA (sign only)
+      (4) RSA (sign only)
+    Your selection? 1
+    RSA keys may be between 1024 and 4096 bits long.
+    What keysize do you want? (2048) 4096
+    Requested keysize is 4096 bits
+    Please specify how long the key should be valid.
+            0 = key does not expire
+         <n>  = key expires in n days
+         <n>w = key expires in n weeks
+         <n>m = key expires in n months
+         <n>y = key expires in n years
+    Key is valid for? (0) 
+    Key does not expire at all
+    Is this correct? (y/N) y
+    
+    GnuPG needs to construct a user ID to identify your key.
+    
+    Real name: Robert Burrell Donkin
+    Email address: rdonkin@apache.org
+    Comment: CODE SIGNING KEY
+    You selected this USER-ID:
+       "Robert Burrell Donkin (CODE SIGNING KEY) <rd...@apache.org>"
+    
+    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
+    You need a Passphrase to protect your secret key. # enter the password, which will be used frequently when packaging.
+    ```
+
+   - View key id 
+
+    ```sh
+    $ gpg --list-keys
+    pub   rsa4096/28681CB1 2018-04-26 # 28681CB1 is the key id
+    uid       [ultimate] liujun (apache-dubbo) <li...@apache.org>
+    sub   rsa4096/D3D6984B 2018-04-26
+    
+    ########### Note: Different diaplay for different version.
+    $ gpg --list-keys
+    pub   rsa4096 2018-11-12 [SC]
+          63AAE9838F4A303E40BAF5FEA3A1CA7A5D4A3981     # Last 8 character(5D4A3981) as key id,it will be used when send public key to keyserver
+    uid           [ 绝对 ] Victory Cao (CODE SIGNING KEY) <vi...@apache.org>
+    sub   rsa4096 2018-11-12 [E]
+        
+    
+    # send public key to keyserver via key id 
+    $ gpg --keyserver pgpkeys.mit.edu --send-key 28681CB1
+    # Here pgpkeys.mit.edu is a random selection of keyserver. Any key server from the list https://sks-keyservers.net/status/ is acceptable because they are automatically synchronized.
+    ```
+
+   - If there are multiple public keys,you can set the default key 
+
+    ~/.gnupg/gpg.conf
+    
+    ```proper
+    # If you have more than 1 secret key in your keyring, you may want to
+    # uncomment the following option and set your preferred keyid.
+    
+    default-key 28681CB1
+    ```
+    
+   - If there are multiple public keys, you can also delete unuseful key:
+   
+    ```sh  
+    ### Delete the private key first, then delete the public key.
+    
+    $ gpg --yes --delete-secret-keys shenglicao2@gmail.com   ### indicate email address  
+    
+    $ gpg --delete-keys 1808C6444C781C0AEA0AAD4C4D6A8007D20DB8A4 
+    
+    ```
+   
+   - config your fingerprint.
+   ```sh
+   ### Show fingerprint info:
+   $ gpg --fingerprint liujun
+   pub   rsa4096 2019-10-17 [SC]
+         1376 A2FF 67E4 C477 5739  09BD 7DB6 8550 D366 E4C0
+   uid           [ultimate] liujun (CODE SIGNING KEY) <li...@apache.org>
+   sub   rsa4096 2019-10-17 [E]
+   ```
+    Save the fingerprint, as above `1376 A2FF 67E4 C477 5739  09BD 7DB6 8550 D366 E4C0`, 
+    to the field `OpenPGP Public Key Primary Fingerprint` in you profile page at https://id.apache.org.
+
+3. Set up Apache central repository.
+
+   - The parent pom of Dubbo project is apache pom
+
+    ```xml
+    <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>19</version>
+    </parent>
+    ```
+
+   - Add the following contents to .m2/settings.xml
+
+     Enter the passwords after
+     encrypting by [maven-encryption-plugin](http://maven.apache.org/guides/mini/guide-encryption.html)
+
+    ```xml
+    <settings>
+    ...
+     <servers>
+       <!-- To publish a snapshot of some part of Maven -->
+       <server>
+         <id>apache.snapshots.https</id>
+         <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+         <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
+       </server>
+       <!-- To stage a release of some part of Maven -->
+       <server>
+         <id>apache.releases.https</id>
+         <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+         <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
+       </server>
+      ...
+         <!-- gpg passphrase used when generate key -->
+        <server>
+         <id>gpg.passphrase</id>
+         <passphrase><!-- yourKeyPassword --></passphrase>
+       </server>
+     </servers>
+    </settings>
+    ```
+
+
+## Pack & Upload
+
+1. Pull the new branch from the master branch as the release branch. If you want to release the ${release_version} version now, pull the new branch ${release_version}-release from 2.6.x. Then the 
+modifications and taggings related to ${release_version} Release Candidates are applied to ${release_version}-release branch, and is merged into the master branch after the final release. 
+
+2. First of all, verify that the maven component packing, source packing, signature, etc are working properly on the ${release_version}-release branch.
+
+   ```shell
+   $ mvn clean install -Papache-release
+   $ mvn deploy
+   ```
+
+  This push the snapshot package to the maven central repository.
+
+3. ~~Release with maven-release-plugin~~ (`Deprecated`,Skip this step and refer to next step)
+
+   - ~~verify with dryRun~~
+
+    ```shell
+    $ mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID -DdryRun=true
+    ```
+
+   - ~~After verification, run release:prepare~~
+
+    ```shell
+    $ mvn release:clean
+    $ mvn release:prepare -Prelease -Darguments="-Dmaven.test.skip=true" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID -DpushChanges=false
+    ```
+
+    > If you are promted to input password for pushing to GitHub (basically including adding new commits and tags), do not input your login password of GitHub. Use `Personal access tokens` instead. You can go to https://github.com/settings/profile, click `Developer settings` -> `Personal access tokens`, and generate a new token if not. Please refer to this [guide](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) for more infomation.
+    > you need to choose the release artifactId, next artifactId and the release tag, the default tag is dubbo-parent-xxxx, you need to change it to dubbo-xxxx
+
+
+    After executing the above commands, you will find that:
+    1. source-release.zip and bin-release.zip are generated under dubbo-distribution directory, please unzip it and check the file structure
+    2. `-DpushChanges=false` tells maven not to push the commits and tags to the remote repostiroy. If not specified, the version tag will be pushed to github repository, you will see a commit called `[maven-release-plugin] prepare release dubbo-x.x.x` added.
+    3. The branch version is upgraded to ${release_version+1}-SNAPSHOT automatically. If `-DpushChanges=true` is specified, the modifications will be pushed to the remote repository, you will see a commit called `[maven-release-plugin] prepare for next development iteration` added.
+
+    If `-DpushChanges=false` is specified, you will have to manually push the commit to remote repository before go to next step.
+
+   - ~~Run release:perform~~
+
+    ```shell
+    $ mvn release:perform -Prelease -Darguments="-Dmaven.test.skip=true" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID
+    ```
+
+    Maven will download the source code from the tag you just pushed, compile it, and deploy to remote maven repsoitry in staging state.
+
+### use `mvn deploy` to deploy
+
+> Requirement:maven 3.5+ 
+
+modify pom version from 2.7.x-SNAPSHOT to 2.7.x . You can search the full-text in the dubbo project.
+
+```shell
+$ mvn clean install -Prelease
+$ mvn deploy -Prelease -DskipTests
+```
+
+After this, maven will deploy jar to remote maven repsoitry in staging state.
+
+### Note
+
+> When you deploy the package into repository, it will be interrupted for network. So you must restart to desploy.  
+> The problem is that missing package occurred many times at deploying. So you should check the quantity of package, especially parent package.
+
+## Prepare Apache Release 
+
+1. Prepare the svn local environment (Apache hosting the release content of project by svn)
+
+2. Checkout dubbo to local directory
+
+   ```shell
+   $ svn checkout https://dist.apache.org/repos/dist/dev/dubbo
+   ```
+   Assume that the local directory is `~/apache/dubbo`
+
+3. The current release version is ${release_version}, new directory
+
+   ```shell
+   $ cd ~/apache/dubbo # dubbo svn root directory
+   $ mkdir ${release_version}
+   ```
+
+4. Add public key to [KEYS](https://dist.apache.org/repos/dist/dev/dubbo/KEYS) file if you are the first time to be a release manager. KEYS is mainly used to allow people who participate in the voting to be imported locally to verify the correctness of the sign.
+
+   ```shell
+   $ (gpg --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS
+   ```
+
+   For more information on how to get your key id, please refer to this [guide](https://help.github.com/articles/generating-a-new-gpg-key/)
+
+5. Copy the source.zip package from the Dubbo root directory to the svn local repository dubbo/${release_version} 
+
+6. Generate sha512 sign
+
+   For source-release.zip
+
+   ```shell
+   $ shasum -a 512 apache-dubbo-${release_version}-source-release.zip >> apache-dubbo-${release_version}-source-release.zip.sha512
+   ```
+
+   For bin-release.zip
+
+   Please add `-b` paramter when generating sha512 for bin-release.zip, which indicates it is a binary file. 
+
+   ```shell
+   $ shasum -b -a 512 apache-dubbo-${release_version}-bin-release.zip >> apache-dubbo-${release_version}-bin-release.zip.sha512
+   ```
+   You should generate something like this:
+
+   ```
+   b8f13d1df6d6c9a1facc72fafc00b2d22bea1e600517c507467d8fca2f776a7a3877101742da53114bfa629ca5b941eb4d9ef989de43f0833e2a794e7ccf5c8a *apache-dubbo-spring-boot-project-2.7.0-bin-release.zip
+   ```
+
+   Note there is a `*` sign before the file name.
+
+7. If the binary release is accompanied with the source release. Run the following command in the dubbo-distribution module:
+
+   ```shell
+   $ mvn install
+   ```
+   Go to target directory, copy bin-release.zip and bin-release.zip.asc to svn local repository dubbo/${release_version}, and refer to step 6 to generate sha512 sign.
+
+8. Commit to Apache svn
+
+   ```shell
+   $ svn status
+   $ svn commit -m 'prepare for ${release_version} RC1'
+   ```
+
+9. Close the maven staging repository
+
+   This step is required when prepare for a 2.7.0+ release, where package name has been changed to org.apache. Before that, please make sure all the maven artifacts look good. Login to http://repository.apache.org, click the `Staging repositories` on the left bar, search with keyword Dubbo, and you will see a list of repositories. Find the one you just uploaded, and then click the close button in the top area. This will do some sannity check, such as gpg signature check, and checksum che [...]
+
+   > Please be aware that it may fail when you close the repository, this is normally due to network issues, please try again if it failed. You can confirm it by clicking the `Activiey` tab next to `Summary`.
+
+## Verify Release Candidates
+
+**A full check list can be found [here](https://wiki.apache.org/incubator/IncubatorReleaseChecklist)**
+
+The verification link includes but is not limited to the following contents and forms:
+
+### Check signatures and hashes are good
+
+#### check the sha512 sum
+
+  
+```sh
+$ shasum -c apache-dubbo-${release_version}-source-release.zip.sha512
+$ shasum -c apache-dubbo-${release_version}-bin-release.zip.sha512
+```
+#### check the gpg signarure
+
+If it's your first time verify a release candidte, you should import public keys first.  
+
+```sh
+ $ curl https://dist.apache.org/repos/dist/dev/dubbo/KEYS >> KEYS # download public keys to local directory
+ $ gpg --import KEYS # import keys
+ $ gpg —edit-key liujun
+   > trust # type trust command
+ ```
+Now, you can verify signature with command
+ 
+ ```sh
+gpg --verify apache-dubbo-2.6.3-source-release.zip.asc apache-dubbo-2.6.3-source-release.zip
+gpg --verify apache-dubbo-2.6.3-bin-release.zip.asc apache-dubbo-2.6.3-bin-release.zip
+ ```
+
+### Check source release file content
+
+Unzip apache-dubbo-${release_version}-source-release.zip to the default directory and check the following:
+
+- DISCLAIMER exists
+- LICENSE and NOTICE exists and contents are good
+- All files and no binary files exist
+- All files has standard ASF License header
+- Can compile from source
+- All unit tests can pass
+  ```sh
+  mvn clean test # This will run all unit tests
+  # you can also open rat and style plugin to check if every file meets requirements.
+  mvn clean test -Drat.skip=false -Dcheckstyle.skip=false
+  ```
+- Release candidates match with corresponding tags, you can find tag link and hash in vote email.
+  - check the version number in pom.xml are the same
+  - check there are no extra files or directories in the source package, for example, no empty directories or useless log files.  
+    `diff -r rc_dir tag_dir`
+  - check the top n tag commits, dive into the related files and check if the source package has the same changes
+
+
+### check third party dependencies
+
+According to ASF policy, any [Category X](https://www.apache.org/legal/resolved.html#what-can-we-not-include-in-an-asf-project-category-x) dependency can not be included in ASF product, this includes common LGPL/GPL licensed dependencies. Even transitive dependencies are not allowed. Therefore we need to run the following command to ensure no such dependencies are included.
+
+```sh
+mvn license:add-third-party -Dlicense.useMissingFile
+find . -name THIRD-PARTY.txt | xargs grep -E 'GPL|General Public License' | grep -v Apache | grep -v MIT | grep -v CDDL
+```
+
+If one dependency is dual/multiple licensed, just choose the most permissive one.
+
+### Check binary distribution file content
+
+Unzip apache-dubbo-${release_version}-bin-release.zip and check:
+
+* Check signatures are good
+* LICENSE and NOTICE exists and contents are good
+
+Note that if the binary distribution contains third party files, you may need to update LICENSE file by adding the 3rd party license files. If these dependency is Apache License 2.0, and it contains NOTICE file, you may also need to update NOTICE file as well.
+
+## Release vote
+
+The voting just only one round:
+
+Dubbo community votes and sends the voting email to dev@dubbo.apache.org. After reviewing by community developers and winning 3 binding tickets that agree to release, you can go to the next stage of voting.
+
+The mail template for Apache Dubbo vote:
+
+```tex
+Hello Dubbo Community,
+
+This is a call for vote to release Apache Dubbo version 2.7.2.
+
+The release candidates:
+https://dist.apache.org/repos/dist/dev/dubbo/2.7.2/
+
+The staging repo:
+https://repository.apache.org/content/repositories/orgapachedubbo-1005
+
+Git tag for the release:
+https://github.com/apache/dubbo/tree/dubbo-2.6.2
+
+Hash for the release tag:
+afab04c53edab38d52275d2a198ea1aff7a4f41e
+
+Release Notes:
+https://github.com/apache/dubbo/releases/tag/untagged-4775c0a22c60fca55118
+
+The artifacts have been signed with Key : 28681CB1, which can be found in the keys file:
+https://dist.apache.org/repos/dist/dev/dubbo/KEYS
+
+The vote will be open for at least 72 hours or until necessary number of votes are reached.
+
+Please vote accordingly:
+
+[ ] +1 approve 
+[ ] +0 no opinion 
+[ ] -1 disapprove with the reason
+
+Thanks,
+The Apache Dubbo Team
+```
+
+
+
+The mail template to announce the vote result:
+
+```text
+We’ve received 3 +1 binding votes and one +1 non-binding vote:
+
++1 binding, Ian Luo
++1 binding, Huxing Zhang
++1 binding, Jun Liu
+
++1 non-binding, Jerrick
+
+I will release this version today.
+
+Best regards,
+The Apache Dubbo Team
+```
+
+## Official Release
+
+When the release vote has passed,
+
+
+1. Add the release files to [official release directory](https://dist.apache.org/repos/dist/release/dubbo)
+2. Remove the release files in [dev directory](https://dist.apache.org/repos/dist/dev/dubbo)
+3. Remove the the release file for the previous release under [official release directory](https://dist.apache.org/repos/dist/release/dubbo/), which will be archived and can be found [here](https://archive.apache.org/dist/dubbo/)
+5. Publish [release notes](https://github.com/apache/dubbo/releases) on Github.
+6. Update the recommend dependency on [Github](https://github.com/apache/dubbo#maven-dependency) to the latest version, also update the version in other place if necessary.
+7. Add the download link to official website http://dubbo.apache.org/en-us/blog/download.html, using the ASF mirror system. The latest release download link should be something like [this](https://www.apache.org/dyn/closer.cgi?path=dubbo/$VERSION/apache-dubbo-$VERSION-source-release.zip). The download link for the previous release version should be changed like [this](https://archive.apache.org/dist/dubbo/$VERSION/apache-dubbo-$VERSION-bin-release.zip). Please refer to the [download page [...]
+8. Make sure all the commits in the release branch are merged into master branch, and then remove the remote release branch. For example: `git push origin --delete 2.7.0-release`
+9. Send mail to dev@dubbo.apache.org , notify the community that the release is completed. 
+The mail template to announce release: 
+```text
+Hello Community,
+
+The Apache Dubbo team is pleased to announce that the
+2.6.6 has just been released.
+
+Apache Dubbo™  is a high-performance, java based, open source
+RPC framework. Dubbo offers three key functionalities, which include
+interface based remote call, fault tolerance & load balancing, and
+automatic service registration & discovery.
+
+Both the source release[1] and the maven binary release[2] are available
+now, you can also find the detailed release notes here[3].
+
+
+If you have any usage questions, or have problems when upgrading or find
+any problems about enhancements included in this release, please don’t
+hesitate to let us know by sending feedback to this mailing list or filing
+an issue on GitHub[4].
+
+
+
+[1] http://dubbo.apache.org/en-us/blog/download.html
+[2] https://repo1.maven.org/maven2/org/apache/dubbo/dubbo
+[3] https://github.com/apache/dubbo/releases
+[4] https://github.com/apache/dubbo/issues
+
+```
+
+
+## Complete Maven Convenient Binary release
+
+**[repository.apache.org](https://repository.apache.org/) The permissions of the nexus repository have been applied, see [jira](https://issues.apache.org/jira/browse/INFRA-16451)。**
+
+To release the maven artifacts, go to [repository.apache.org](https://repository.apache.org), and choose the staging repository, click the release button. Wait for a moment and verify it at [here](https://repository.apache.org/content/repositories/releases/org/apache/dubbo/), make sure your artifacts are there and correct. It will take some time to sync to maven central repository. You can verify it at [here](https://repo.maven.apache.org/maven2/org/apache/dubbo)
+
+## FAQ
+
+#### gpg: signing failed: Inappropriate ioctl for device
+
+If you've encoutered this error, try the following commands:
+
+```
+export GPG_TTY=$(tty)
+```
diff --git a/documentations/2.7/en-us/docs/developers/committer-guide/website-guide_dev.md b/documentations/2.7/en-us/docs/developers/committer-guide/website-guide_dev.md
new file mode 100644
index 0000000..6597132
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/committer-guide/website-guide_dev.md
@@ -0,0 +1,4 @@
+# Website Guide
+
+1. The website repository of Apache Dubbo is https://github.com/apache/dubbo-website
+2. After building the website, it'll be published to dubbo.apache.org automatically, you can also trigger it manually via https://selfserve.apache.org (need to login with Apache account) 
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/become-a-committer_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/become-a-committer_dev.md
new file mode 100644
index 0000000..b8452da
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/become-a-committer_dev.md
@@ -0,0 +1,15 @@
+# How to become a Dubbo committer
+
+Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.
+
+If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources. 
+
+In Dubbo community, if a committers who have earned even more merit, can be invited to be a part of the Project Management Committee (PMC).
+
+One thing that is sometimes hard to understand when you are new to the open development process used at the ASF, is that we value the community more than the code. A strong and healthy community will be respectful and be a fun and rewarding place. More importantly, a diverse and healthy community can continue to support the code over the longer term, even as individual companies come and go from the field.
+
+More details could be found [here](https://community.apache.org/contributors/).
+
+### What can I contribute?
+
+Please refer to the [new contributor guide](new-contributor-guide_dev.md).
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/cla-signing-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/cla-signing-guide_dev.md
new file mode 100644
index 0000000..974ba8c
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/cla-signing-guide_dev.md
@@ -0,0 +1,25 @@
+# CLA Signing Guide
+
+You are required to sign the Apache ICLA under the following condition:
+* You have made lots of contribution to Dubbo before Dubbo get donated to Apache, and you haven't sign the Alibaba-CLA before.
+* You have made lots of contribution to Dubbo, and you are invited to become committer of Dubbo, and you have not signed Alibaba-CLA or Apache ICLA before.
+
+#### Steps
+
+* Download this [pdf](https://www.apache.org/licenses/icla.pdf)
+* Fill in the necessary blanks
+* Print it out
+* Sign the printed file
+* Scan it
+* Send an email to secretary@apache.org and cc private@dubbo.apache.org:
+  * entitled with "ICLA submission"
+  * please also provide the link to your github account in the email body
+  * remember to add you ICLA as attachment.
+
+
+#### Explanation to the fields
+
+* Mailing address: Your company address in English is preferred.
+* preferred apache id(s): if you are invited to become committers, you have to choose one apache id, otherwise you can leave it blank.
+* notify project: Dubbo  (This means Dubbo is the project who notifies you to sign the ICLA)
+
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/dubbo-extension-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/dubbo-extension-guide_dev.md
new file mode 100644
index 0000000..f298143
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/dubbo-extension-guide_dev.md
@@ -0,0 +1,37 @@
+# Extension guide
+
+Dubbo Use microkernel + plugin design pattern. Microkernel is only responsible for assembling plugins, the functions of Dubbo are implemented by extension points(plugins), which means that all functions of Dubbo can be replaced by user customized extension.
+
+## Dubbo Ecosystem
+
+We recommend you to put extension to Dubbo [ecosystem](https://github.com/dubbo). Using this pattern will keep the core repository cleaner and decrease the maintains work. With less code also speed up core repository build process.
+
+## Dependency
+Implement your own Dubbo extension, in general is just dependence on API jar correspond to what you want.
+For example:
+```xml
+<dependency>
+    <groupId>org.apache.dubbo</groupId>
+    <artifactId>dubbo-serialization-api</artifactId>
+    <version>${dubbo.version}</version>
+</dependency>
+```
+
+## Src Guide
+Usually, implement special extension, just need reference the [Developer Guide](http://dubbo.apache.org/#/docs/dev/build.md?lang=en-us) docs. Implement necessary interface and adapt extension to dubbo. Besides, some others should be considered:
+1. Well tested. You should write unit test and mock test to eliminate potential bugs.
+2. No warning, if some warning cannot to avoid, use @SuppressWarnings to suppress it, but do not abuse it.
+3. README. Add necessary readme to show how to use your extension, and something to take notice.
+4. License. Make sure of use Apache License 2.0.
+
+## Notify the Community
+1. Commit your code to [GitHub](https://github.com).
+2. Join the mail list (recommended). [HowTo](https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide)
+2. Send email to dev@incubator.dubbo.apache.org to notify the community
+3. Usually, after sending email, community will discuss your extension, and Administrators of dubbo group will contact you for transfer project to dubbo ecosystem.
+
+## Transfer Project to Dubbo Group
+1. Administrators of dubbo group will ask you, grant your project owner to dubbo.
+2. Administrators of dubbo group will create a new project under dubbo group and invite you join the project.
+3. Once you accept the invitation, you can transfer your project to new project under dubbo group.
+4. Existing members of dubbo group will do the code review. After that you may make some improvement to code.
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.md
new file mode 100644
index 0000000..362f354
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.md
@@ -0,0 +1,80 @@
+# Mailing list subscription guide
+
+The Dubbo developer mailing list (dev@dubbo.apache.org) for Apache Incubator has been established, please feel free to subscribe and refer to [^1] for more details.
+
+You can also view [the archive of the mailing list](https://lists.apache.org/list.html?dev@dubbo.apache.org)
+
+Here is a brief guide specific to Dubbo:
+
+1. Send an email to dev-subscribe@dubbo.apache.org, you can have empty subject and empty content. You will receive an email with the following content:
+
+```
+from: dev-help@dubbo.apache.org
+reply-to: dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
+to: hello@example.com
+date: Sat, Feb 24, 2018 at 3:12 PM
+subject: confirm subscribe to dev@dubbo.apache.org
+mailed-by: apache.org
+
+Hi! This is the ezmlm program. I'm managing the
+dev@dubbo.apache.org mailing list.
+
+I'm working for my owner, who can be reached
+at dev-owner@dubbo.apache.org.
+
+To confirm that you would like
+
+   hello@example.com
+
+added to the dev mailing list, please send
+a short reply to this address:
+
+   dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
+
+Usually, this happens when you just hit the "reply" button.
+If this does not work, simply copy the address and paste it into
+the "To:" field of a new message.
+
+or click here:
+        mailto:dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
+
+...
+```
+
+2. Reply the email directly, you can have empty subject and empty content. You will receive an email with the following content:
+
+```
+from: dev-help@dubbo.apache.org
+to: hello@example.com
+date: Sat, Feb 24, 2018 at 3:14 PM
+subject: WELCOME to dev@dubbo.apache.org
+mailed-by: apache.org
+
+Hi! This is the ezmlm program. I'm managing the
+dev@dubbo.apache.org mailing list.
+
+I'm working for my owner, who can be reached
+at dev-owner@dubbo.apache.org.
+
+Acknowledgment: I have added the address
+
+   hello@example.com
+
+to the dev mailing list.
+
+Welcome to dev@dubbo.apache.org!
+
+Please save this message so that you know the address you are
+subscribed under, in case you later want to unsubscribe or change your
+subscription address.
+
+...
+```
+
+3. After that, you will receive any email that is posted to this mailing list. If you have any further questions, just send email to dev@dubbo.apache.org and hopefully someone will answer your questions.
+
+4. If you want to unsubscribe, just send an email to dev-unsubscribe@dubbo.apache.org, and follow the steps once you get an reply.
+
+> Note that both dev@dubbo.apache.org and dev@dubbo.apache.org should work, you can pick any of it.
+
+[^1] http://apache.org/foundation/mailinglists.html#subscribing
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/new-contributor-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/new-contributor-guide_dev.md
new file mode 100644
index 0000000..081c994
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/new-contributor-guide_dev.md
@@ -0,0 +1,62 @@
+# New contributor guide
+
+This is a guide for new comers who wants to contribute to Dubbo.
+
+### Subscribe to the mailing list
+
+The mailing list is the recommended way for discussing almost anything that related to Dubbo. Please refer to this [issue](https://github.com/apache/dubbo/issues/1393) for detailed documentation on how to subscribe.
+
+To subscribe to the following mailing list, please refer to [Mailing list subscription guide](/en-us/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.html)
+
+* dev@dubbo.apache.org: the develop mailing list, you can ask question here if you have encountered any problem when using or developing Dubbo.
+* commits@dubbo.apache.org: all the commits will be sent to this mailing list. You can subscribe to it if you are interested in Dubbo's development.
+* issues@dubbo.apache.org: all the JIRA [issues](https://issues.apache.org/jira/projects/DUBBO/issues) and updates will be sent to this mailing list. The Dubbo community has decided to use github issues rather than JIRA issues, therefore it is expected that most of the issues will be tracked by github issues. The JIRA issues are used to track ASF related issues.
+
+
+### Reporting issue
+
+You can always reporting an issue to Dubbo via Github [Issues](https://github.com/apache/dubbo/issues).
+
+If you are reporting bugs, please refer to the issue report [template](https://github.com/apache/dubbo/issues/new?template=dubbo-issue-report-template.md).
+
+If you are reporting regualur issues, like raise an question, you can open an [regular issue](https://github.com/apache/dubbo/issues/new)
+
+### Sending pull request
+
+* Follow the checklist in the [pull request template](https://github.com/apache/dubbo/blob/master/PULL_REQUEST_TEMPLATE.md)
+* Before you sending out the pull request, please sync your forked repository with remote repository, this will make your pull request simple and clear. See guide below:
+
+```sh
+git remote add upstream git@github.com:apache/dubbo.git
+git fetch upstream
+git rebase upstream/master
+git checkout -b your_awesome_patch
+... add some work
+git push origin your_awesome_patch
+```
+
+### Code convention
+
+Please check the [CONTRIBUTING.md](https://github.com/apache/dubbo/blob/master/CONTRIBUTING.md) for code convention.
+
+### Participate in the release vote
+
+Participate in the release vote is an important way to contribute to Dubbo. The Dubbo community welcomes everyone to partipate, you can check the release vote using this [check list](https://wiki.apache.org/incubator/IncubatorReleaseChecklist).
+If you have any question regarding the check list, please feel free to ask on dev@dubbo.apache.org.
+
+
+### What can I contribute?
+
+* Take a look at issues with tag called [`Good first issue`](https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) or [`Help wanted`](https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).
+* Join the discussion on mailing list, subscription [guide](https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide).
+* Answer questions on [issues](https://github.com/apache/dubbo/issues).
+* Fix bugs reported on [issues](https://github.com/apache/dubbo/issues), and send us pull request.
+* Review the existing [pull request](https://github.com/apache/dubbo/pulls).
+* Improve the [website](https://github.com/apache/dubbo-website), typically we need
+  * blog post
+  * translation on documentation
+  * use cases about how Dubbo is being used in enterprise system.
+* Improve the [dubbo-admin/dubbo-monitor](https://github.com/apache/dubbo-admin).
+* Contribute to the projects listed in [ecosystem](https://github.com/dubbo).
+* Any form of contribution that is not mentioned above.
+* If you would like to contribute, please send an email to dev@dubbo.apache.org to let us know!
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/reporting-security-issues_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/reporting-security-issues_dev.md
new file mode 100644
index 0000000..b8a7182
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/reporting-security-issues_dev.md
@@ -0,0 +1,21 @@
+# Reporting Security Issues
+
+The Apache Software Foundation takes a rigorous standpoint in annihilating the security issues in its software projects. Apache Dubbo is highly sensitive and forthcoming to issues pertaining to its features and functionality.
+
+## REPORTING VULNERABILITY
+
+If you have apprehensions regarding Dubbo's security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Dubbo Security Team by dropping a mail at security@dubbo.apache.org. In the mail, specify the description of the issue or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The Dubbo community will get back to you after assessing and analysing the findings.
+
+PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on public domain.
+
+
+## VULNERABILITY HANDLING
+
+An overview of the vulnerability handling process is:
+
+* The reporter reports the vulnerability privately to Apache.
+* The appropriate project's security team works privately with the reporter to resolve the vulnerability.
+* A new release of the Apache product concerned is made that includes the fix.
+* The vulnerability is publically announced.
+
+A more detailed description of the process can be found [here](https://www.apache.org/security/committers.html)
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/software-donation-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/software-donation-guide_dev.md
new file mode 100644
index 0000000..6868cb7
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/software-donation-guide_dev.md
@@ -0,0 +1,106 @@
+# Software donation guide
+
+Before you go through this guide, make sure you have confirmed with PMC that a SGA is actually needed.
+
+If you are donating significant amount of code or documentation to Apache Dubbo , you will be required to sign a [Software Grant](https://www.apache.org/licenses/#grants) before your code/doc could be merged.
+
+#### Steps
+
+1. Download this [pdf](https://www.apache.org/licenses/software-grant-template.pdf)
+2. Print it out
+3. Fill in the blanks (see below as an example)
+4. Request your boss to sign it
+5. Scan it
+6. Send an email to secretary@apache.org and cc private@dubbo.apache.org
+
+#### Example:
+
+Below is an text versioned **example**, original text could be found [here](https://www.apache.org/licenses/software-grant.txt) 
+
+```
+License Agreement
+
+
+    This License Agreement is entered into as of the _12th_ day of
+___April____, __2018__ by ___ABC Software Co., Ltd.____ ("Licensor"),
+in favor of The Apache Software Foundation, a Delaware nonstock
+membership corporation (the "Foundation").
+
+    WHEREAS, Licensor owns or has sufficient rights to contribute the
+software source code and other related intellectual property as
+itemized on Exhibit A ("Software") under the terms of this agreement
+to the Foundation for use within Foundation software development
+projects ("Projects").
+
+    NOW, THEREFORE, FOR GOOD AND VALUABLE CONSIDERATION, the receipt
+and legal sufficiency of which are hereby acknowledged, the parties
+hereto, intending to be legally bound, agree as follows:
+
+1. Subject to the terms and conditions of this License, Licensor
+hereby grants to the Foundation:
+
+  a) a non-exclusive, worldwide, royalty-free, irrevocable
+     copyright license to reproduce, prepare derivative works of,
+     publicly display, publicly perform, distribute and sublicense,
+     internally and externally, the Software and such derivative
+     works, in source code and object code form; and,
+
+  b) a non-exclusive, worldwide, royalty-free, irrevocable
+     patent license under Licensed Patents to make, use, sell,
+     offer to sell, import and otherwise transfer the Software
+     in source code and object code form. "Licensed Patents" mean
+     patent claims owned by Licensor which are necessarily
+     infringed by the use or sale of the Software alone.
+
+2. Licensor represents that, to Licensor's knowledge, Licensor is
+legally entitled to grant the above license. Licensor agrees to notify
+the Foundation of any facts or circumstances of which Licensor becomes
+aware and which makes or would make Licensor's representations in this
+License Agreement inaccurate in any respect.
+
+3. This Software is provided AS-IS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE.  NEITHER THE LICENSOR NOR ITS
+SUPPLIERS WILL BE LIABLE TO THE FOUNDATION OR ITS LICENSEES FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+THE USE OR DISTRIBUTION OF THE WORK OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+This License Agreement is the entire agreement of the parties
+with respect to its subject matter, and may only be amended by a
+writing signed by each party. This License Agreement may be
+executed in one or more counterparts, each of which shall be
+considered an original.
+
+    IN WITNESS WHEREOF, Licensor has executed this License Agreement
+as of the date first written above.
+
+
+    LICENSOR:
+
+
+    Signed By: _____________________________________   <--- Your boss's sign here
+
+    Print Name: _____Lei Li_________________________   <--- Your boss's name here
+
+    Title: ____Director_____________________________   <--- Your boss's title here
+
+    Representing: ____ABC Software Co., Ltd. _______ 
+
+    ________________________________________________
+
+    Contact Name: ____Lei Li________________________   <--- Your boss's name here
+
+    Contact Email: ____lilei@abc.com________________   <--- Your boss's email here
+
+Exhibit A
+
+List of software and other intellectual property covered by this agreement:
+
+* Github address where your code is hosted
+* Pull request link
+```
diff --git a/documentations/2.7/en-us/docs/developers/contributor-guide/test-coverage-guide_dev.md b/documentations/2.7/en-us/docs/developers/contributor-guide/test-coverage-guide_dev.md
new file mode 100644
index 0000000..33ab179
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/contributor-guide/test-coverage-guide_dev.md
@@ -0,0 +1,16 @@
+# Test coverage guide
+
+### 1.The benefits of unit testing 
+  * Unit test code can help everyone to go into details and understand the function of the code.
+  * We can find bugs by test case, and then enhance the robustness of the code.
+  * Test case code is also the demo usage of the core code.
+### 2.Some design principle of unit test case 
+  * Steps, fine-grained and combination conditions should be well designed.
+  * Attention to boundary condition test
+  * Test code should also be designed without writing useless code.
+  * When you find a `method` that is hard to write unit test, if you can be sure the `method` is "smelly code", then  refactor it with the committer.
+  * The mock framework in dubbo is: [mockito](http://site.mockito.org/). Some tutorials:[mockito tutorial](http://www.baeldung.com/bdd-mockito),[mockito refcard](https://dzone.com/refcardz/mockito)
+  * TDD(optional):When you start a new issue, you can try to write test case at first 
+### 3.The specified value of the test coverage
+  * In the stage, the test coverage specified value of delta changed codes is :>=60%. The higher, the better.
+  * We can see the coverage report in this page: https://codecov.io/gh/apache/dubbo
diff --git a/documentations/2.7/en-us/docs/developers/developers_dev.md b/documentations/2.7/en-us/docs/developers/developers_dev.md
new file mode 100644
index 0000000..41ac51d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/developers_dev.md
@@ -0,0 +1,57 @@
+## Developers
+
+This page shows Dubbo developers. Please file PR to add or change items.
+
+### Committers
+
+| Apache ID       | Name                | Organization     | Role      | TimeZone |
+| --------------- | ------------------- | ------------     | --------- | -------- |
+| jmclean         | Justin Mclean       | Apache           | Mentor    | +11      |
+| markt           | Mark Thomas         | Apache           | Mentor    | +0       |
+| wave            | Dave Fisher         | Apache           | Mentor    |          |
+| johndament      | John D. Ament       | retired          | Mentor    |          |
+| jfclere         | Jean-Frederic Clere | retired          | Mentor    |          |
+| huxing          | Huxing Zhang        | Alibaba          | PMC      | +8       |
+| vongosling      | Von Gosling         | Alibaba          | PMC      | +8       |
+| iluo            | Ian Luo             | Alibaba          | PMC      | +8       |
+| liujun          | Jun Liu             | Alibaba          | PMC      | +8       |
+| zhangliang      | Liang Zhang         | Jingdong         | PMC      | +8       |
+| liujieqin       | Liujie Qin          | Alibaba          | PMC      | +8       |
+| mercyblitz      | Mercy Ma            | Alibaba          | PMC      | +8       |
+| wangxin         | Xin Wang            | Weidian          | PMC      | +8       |
+| yiji            | Shang Zonghai       | Youzan           | PMC      | +8       |
+| jerrick         | Yong Zhu            | Alibaba          | PMC      | +8       |
+| carryxyh        | Yuhang Xiu          | Netease          | PMC      | +8       |
+| hyunkun         | YunKun Huang        | Meituan-Dianping | PMC      | +8       |
+| min             | Minxuan Zhuang      | Alibaba          | PMC      | +8       |
+| kimmking        | Kimm King           | Rongguan         | PMC      | +8       |
+| leonleeldc      | Dingcheng Li        | Alibaba          | Committer | +8       |
+| yuyijq          | Zhaohui Yu          | Qunar            | Committer | +8       |
+| mjk             | Jinkai Ma           | Handuyishe       | Committer | +8       |
+| yizhenqiang     | Zhenqiang Yi        | Didi             | Committer | +8       |
+| victory         | Victory Cao         | Alibaba          | Committer | +8       |
+| purpleforce     | Liandong Chen       | Alibaba          | Committer | +8       |
+| jefflv          | Jeff Lv             | Alibaba          | Committer | +8       |
+| tswstarplanet   | Taosheng Wei        | NetsUnion        | Committer | +8       |
+| kexianjun       | Xianjun Ke          | Caocaokeji       | Committer | +8       |
+| songkun         | Kun Song            | Huawei           | Committer | +8       |
+| lixiaojie       | Xiaojie Li          | GomeFinance      | Committer | +8       |
+| biyuhao         | Yuhao Bi            | Asiainfo-sec     | Committer | +8       |
+| crazyhzm        | Zhongming Hua       | iFlytek          | Committer | +8       |
+| kezhenxu94      | Zhenxu Ke           | Lizhi FM         | Committer | +8       |
+| LiZhenNet       | Zhen Li             | Keep             | Committer | +8       |
+| lexburner       | Jingfeng Xu         | Alibaba          | Committer | +8       |
+| khanimteyaz     | Imteyaz Khan        |                  | Committer |          |
+| xxz             | Xiaoxiang Zhai      | Souche           | Committer | +8       |
+| codingsinger    | Zechao Zheng        | iQIYI            | Committer | +8       |
+| zouyx           | Yixian Zou          | Shein            | Committer | +8       |
+| baze            | Chao Jiang          | Biosan           | Committer | +8       |
+
+### Contributors
+
+| Github ID  | Github URL                      | Organization | TimeZone |
+| ---------- | ------------------------------- | ------------ | -------- |
+| leyou240   | <https://github.com/leyou240>   |              | +8       |
+| chenzhiguo | <https://github.com/chenzhiguo> |              | +8       |
+| huyuechy   | <https://github.com/huyuechy>   |              | +8       |
+| caojiele   | <https://github.com/caojiele>   |              | +8       |
diff --git a/documentations/2.7/en-us/docs/developers/guide_dev.md b/documentations/2.7/en-us/docs/developers/guide_dev.md
new file mode 100644
index 0000000..cd21f8f
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/guide_dev.md
@@ -0,0 +1,76 @@
+## Contributing to Dubbo
+
+Dubbo is released under the non-restrictive Apache 2.0 license, and follows a very standard Github development process, using Github tracker for issues and merging pull requests into master. If you want to contribute even something trivial please do not hesitate, but follow the guidelines below.
+
+### Sign the Contributor License Agreement
+Before we accept a non-trivial patch or pull request we will need you to sign the Contributor License Agreement. Signing the contributor’s agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do. Active contributors might be asked to join the core team, and given the ability to merge pull requests.
+
+### Contact
+
+#### Mailing list
+
+The mailing list is the recommended way for discussing almost anything that related to Dubbo. Please refer to this [guide](https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide) for detailed documentation on how to subscribe.
+
+- [dev@dubbo.apache.org](mailto:dev-subscribe@dubbo.apache.org): the develop mailing list, you can ask question here if you have encountered any problem when using or developing Dubbo.
+- [commits@dubbo.apache.org](mailto:commits-subscribe@dubbo.apache.org): all the commits will be sent to this mailing list. You can subscribe to it if you are interested in Dubbo's development.
+- [notification@dubbo.apache.org](mailto:notification-subscribe@dubbo.apache.org): all the Github [issue](https://github.com/apache/dubbo/issues) updates and [pull request](https://github.com/apache/dubbo/pulls) updates will be sent to this mailing list.
+
+### Reporting issue
+
+Please follow the [template](https://github.com/apache/dubbo/issues/new?template=dubbo-issue-report-template.md) for reporting any issues.
+
+### Code Conventions
+Our code style is almost in line with the standard java conventions (Popular IDE's default setting satisfy this), with the following additional restricts:  
+* If there are more than 120 characters in current line, start a new line.
+
+* Make sure all new .java files to have a simple Javadoc class comment with at least a @date tag identifying birth, and preferably at least a paragraph on what the class is for.
+
+* Add the ASF license header comment to all new .java files (copy from existing files in the project)
+
+* Make sure no @author tag added to the file you contribute since @author tag is not used at Apache, other ways such as cvs will record all your contributions fairly.
+
+* Add some Javadocs and, if you change the namespace, some XSD doc elements.
+
+* A few unit tests should be added for a new feature or an important bugfix.
+
+* If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project).
+
+* When writing a commit message please follow these conventions, if you are fixing an existing issue please add Fixes #XXX at the end of the commit message (where XXX is the issue number).
+
+### Contribution flow
+
+This is a rough outline of what a contributor's workflow looks like:
+
+* Fork the current repository
+* Create a topic branch from where to base the contribution. This is usually master.
+* Make commits of logical units.
+* Make sure commit messages are in the proper format (see below).
+* Push changes in a topic branch to your forked repository.
+* Follow the checklist in the [pull request template](https://github.com/apache/dubbo/blob/master/PULL_REQUEST_TEMPLATE.md)
+* Before you sending out the pull request, please sync your forked repository with remote repository, this will make your pull request simple and clear. See guide below:
+```
+git remote add upstream git@github.com:apache/dubbo.git
+git fetch upstream
+git rebase upstream/master
+git checkout -b your_awesome_patch
+... add some work
+git push origin your_awesome_patch
+```
+* Submit a pull request to apache/dubbo and wait for the reply.
+
+Thanks for contributing!
+
+### Code style
+
+We provide a template file [dubbo_codestyle_for_idea.xml](https://github.com/apache/dubbo/tree/master/codestyle/dubbo_codestyle_for_idea.xml) for IntelliJ idea, you can import it to you IDE. 
+If you use Eclipse you can config manually by referencing the same file.
+
+**NOTICE**
+
+It is very important to set the dubbo_codestyle_for_idea.xml, otherwise you will fail to pass the Travis CI. Steps to set the code style are as below:
+
+1. Enter `Editor > Code Style`
+2. To manage a code style scheme, in the Code Style page, select the desired scheme from the drop-down list, and click ![manage profiles](/img/manage_profiles.png).
+From the drop-down list, select `Import Scheme`, then select this option `IntelliJ IDEA code style XML` to import scheme
+3. In the Scheme field, type the name of the new scheme and press ⏎ to save the changes.
+
diff --git a/documentations/2.7/en-us/docs/developers/user-guide/faq_dev.md b/documentations/2.7/en-us/docs/developers/user-guide/faq_dev.md
new file mode 100644
index 0000000..3788995
--- /dev/null
+++ b/documentations/2.7/en-us/docs/developers/user-guide/faq_dev.md
@@ -0,0 +1,27 @@
+# FAQ
+
+### Where is dubbo-admin?
+
+dubbo-admin has been moved from core repository to https://github.com/apache/dubbo-admin since 2.6.1
+
+### Which version should I choose?
+
+Currently, dubbo keeps 3 versions evolve in parallel:
+
+* 2.7.x (master): requires Java 1.8, major feature branch.
+
+* 2.6.x: requires Java 1.6, minor feature & bugfix branch, GA, production ready.
+
+* 2.5.x: requires Java 1.6, maintenance branch, only accept security vulnerability and critical bugfix, the support will end on 2019-6-15, please upgrade to 2.6.x as soon as possible.
+
+check [this](https://github.com/apache/dubbo/issues/1208) for detailed version management plan.
+
+For contributors, please make sure all changes on the right branch, that is, most of the pull request should go to 2.7.x, and be backported to 2.6.x and 2.5.x if necessary. If the fix is specific to a branch, please make sure your pull request goes to the right branch.
+
+For committers, make sure select the right label and target branch for every PR, and don't forget to back port the fix to lower version is necessary.
+
+####  How to register ip correctly in docker?  
+
+[Example question](https://github.com/alibaba/dubbo/issues/742)  
+
+Dubbo supports specifying ip/port via system environment variables, examples can be found [here](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-docker).
diff --git a/documentations/2.7/en-us/docs/index.md b/documentations/2.7/en-us/docs/index.md
new file mode 100644
index 0000000..7e92c6d
--- /dev/null
+++ b/documentations/2.7/en-us/docs/index.md
@@ -0,0 +1,13 @@
+# Dubbo Overview
+Apache Dubbo is a high-performance, open source RPC framework. 
+
+## Basic Architecture
+![arch](./user/sources/images/arch.png)
+
+## Features
+* Transparent interface based RPC
+* Intelligent load balancing
+* Automatic service registration and discovery
+* High extensibility
+* Runtime traffic routing
+* Visualized service governance
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/user/LICENSE b/documentations/2.7/en-us/docs/user/LICENSE
new file mode 100644
index 0000000..8dada3e
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/LICENSE
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "{}"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright {yyyy} {name of copyright owner}
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/documentations/2.7/en-us/docs/user/README.md b/documentations/2.7/en-us/docs/user/README.md
new file mode 100644
index 0000000..3d223ef
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/README.md
@@ -0,0 +1,3 @@
+# dubbo-user-book
+The dubbo cookbook, covering almost all features of dubbo framework.
+
diff --git a/documentations/2.7/en-us/docs/user/SUMMARY.md b/documentations/2.7/en-us/docs/user/SUMMARY.md
new file mode 100644
index 0000000..9abf667
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/SUMMARY.md
@@ -0,0 +1,94 @@
+# Summary
+* [1 Preface](./preface/index.md)
+    * [1.1 Background](./preface/background.md)
+    * [1.2 Requirements](./preface/requirements.md)
+    * [1.3 Architecture](./preface/architecture.md)
+    * [1.4 Usage](./preface/usage.md)
+* [2 Quick start](./quick-start.md)
+* [3 Dependencies](./dependencies.md)
+* [4 Maturity](./maturity.md)
+* [5 Configuration](./configuration/index.md)
+    * [5.1 XML configuration](./configuration/xml.md)
+    * [5.2 Properties configuration](./configuration/properties.md)
+    * [5.3 API configuration](./configuration/api.md)
+    * [5.4 Annotation configuration](./configuration/annotation.md)
+* [6 Demos](./demos/index.md)
+    * [6.1 Start check](./demos/preflight-check.md)
+    * [6.2 Fault-tolerent strategy](./demos/fault-tolerent-strategy.md)
+    * [6.3 Load balance](./demos/loadbalance.md)
+    * [6.4 Thread model](./demos/thread-model.md)
+    * [6.5 Connecting certain provider straightly](./demos/explicit-target.md)
+    * [6.6 Subscribe only](./demos/subscribe-only.md)
+    * [6.7 Registry only](./demos/registry-only.md)
+    * [6.8 Static service](./demos/static-service.md)
+    * [6.9 Multi-protocols](./demos/multi-protocols.md)
+    * [6.10 Multi-registries](./demos/multi-registry.md)
+    * [6.11 Service group](./demos/service-group.md)
+    * [6.12 Multi-versions](./demos/multi-versions.md)
+    * [6.13 Group merger](./demos/group-merger.md)
+    * [6.14 Parameter validation](./demos/parameter-validation.md)
+    * [6.15 Result cache](./demos/result-cache.md)
+    * [6.16 Generic reference](./demos/generic-reference.md)
+    * [6.17 Generic service](./demos/generic-service.md)
+    * [6.18 Echo service](./demos/echo-service.md)
+    * [6.19 Context](./demos/context.md)
+    * [6.20 Attachment](./demos/attachment.md)
+    * [6.21 Asynchronous call](./demos/async-call.md)
+    * [6.22 Local call](./demos/local-call.md)
+    * [6.23 Callback parameter](./demos/callback-parameter.md)
+    * [6.24 Events notify](./demos/events-notify.md)
+    * [6.25 Local stub](./demos/local-stub.md)
+    * [6.26 Local mock](./demos/local-mock.md)
+    * [6.27 Delay publish](./demos/delay-publish.md)
+    * [6.28 Concurrency control](./demos/concurrency-control.md)
+    * [6.29 Connections limitation](./demos/config-connections.md)
+    * [6.30 Lazy connect](./demos/lazy-connect.md)
+    * [6.31 Stickness connections](./demos/stickiness.md)
+    * [6.32 Token authorization](./demos/token-authorization.md)
+    * [6.33 Routing rule](./demos/routing-rule.md)
+    * [6.34 Configuration rule](./demos/config-rule.md)
+    * [6.35 Service downgrade](./demos/service-donwngrade.md)
+    * [6.36 Graceful shutdown](./demos/graceful-shutdown.md)
+    * [6.37 Hostname binding ](./demos/hostname-binding.md)
+    * [6.38 Logger strategy](./demos/logger-strategy.md)
+    * [6.39 Accesslog](./demos/accesslog.md)
+    * [6.40 Service container](./demos/service-container.md)
+    * [6.41 Reference config cache](./demos/reference-config-cache.md)
+    * [6.42 Distributed transaction](./demos/distributed-transaction.md)
+    * [6.43 Dumping thread stack automatically](./demos/dump.md)
+    * [6.44 Netty4](./demos/netty4.md)
+* [7 API introduction](./references/api.md)
+* [8 Schema configuration introduction](./references/xml/introduction.md)
+    * [8.1 dubbo:service](./references/xml/dubbo-service.md)
+    * [8.2 dubbo:reference](./references/xml/dubbo-reference.md)
+    * [8.3 dubbo:protocol](./references/xml/dubbo-protocol.md)
+    * [8.4 dubbo:registry](./references/xml/dubbo-registry.md)
+    * [8.5 dubbo:monitor](./references/xml/dubbo-monitor.md)
+    * [8.6 dubbo:application](./references/xml/dubbo-application.md)
+    * [8.7 dubbo:module](./references/xml/dubbo-module.md)
+    * [8.8 dubbo:provider](./references/xml/dubbo-provider.md)
+    * [8.9 dubbo:consumer](./references/xml/dubbo-consumer.md)
+    * [8.10 dubbo:method](./references/xml/dubbo-method.md)
+    * [8.11 dubbo:argument](./references/xml/dubbo-argument.md)
+    * [8.12 dubbo:parameter](./references/xml/dubbo-parameter.md)
+* [9 Protocol introduction](./references/protocol/introduction.md)
+    * [9.1 dubbo://](./references/protocol/dubbo.md)
+    * [9.2 rmi//](./references/protocol/rmi.md)
+    * [9.3 hessian://](./references/protocol/hessian.md)
+    * [9.4 http://](./references/protocol/http.md)
+    * [9.5 webservice://](./references/protocol/webservice.md)
+    * [9.6 thrift://](./references/protocol/thrift.md)
+    * [9.7 memcached://](./references/protocol/memcached.md)
+    * [9.8 redis://](./references/protocol/redis.md)
+* [10 registry introduction](./references/registry/introduction.md)
+    * [10.1 Multicast registry](./references/registry/multicast.md)
+    * [10.2 Zookeeper registry](./references/registry/zookeeper.md)
+    * [10.3 Redis registry](./references/registry/redis.md)
+    * [10.4 Simple registry](./references/registry/simple.md)
+* [11 Telnet command](./references/telnet.md)
+* [12 maven plugins](./references/maven.md)
+* [13 Servitization best practice](./best-practice.md)
+* [14 Recommended usage](./recommend.md)
+* [15 Capacity plan](./capacity-plan.md)
+* [16 Performance testing reports](./perf-test.md)
+* [17 Test coverage report](./coveragence.md)
diff --git a/documentations/2.7/en-us/docs/user/benchmark-tool.md b/documentations/2.7/en-us/docs/user/benchmark-tool.md
new file mode 100644
index 0000000..1a4dfe8
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/benchmark-tool.md
@@ -0,0 +1,34 @@
+# Beanchmark testing tool installer
+
+* download: git clone https://github.com/apache/dubbo.git  
+* compile benchmark: cd dubbo/dubbo-test/dubbo-test-benchmark; mvn clean install  
+* uncompress benchmark: 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.)
+
+* Build a new benchmark project, such as demo.benchmark 
+
+* Import the your own interface api jar and dubbo.benchmark.jar (Unzip dubbo.benchmark.tar.gz, under the lib directory )
+
+* Create a new class to implement AbstractClientRunnable
+
+    * Implement the constructor of the parent class 
+    * Implement the invoke method and create a local interface proxy by serviceFactory,and finish your own business logic, as follows:
+
+    ```java
+        public Object invoke(ServiceFactory serviceFactory) {
+            DemoService demoService = (DemoService) serviceFactory.get(DemoService.class);
+            return demoService.sendRequest("hello");
+        }
+    ```
+
+* Make your own benchmark project into a jar package, such as demo.benchmark.jar 
+
+* Put the demo.benchmark.jar and service API jar into directory dubbo.benchmark/lib
+
+* Configuring dubbo.properties
+
+* Run run.bat(windows) or run.sh(linux)
+
+If you want to test the different versions of Dubbo, you can replace the jar of the Dubbo. 
+
diff --git a/documentations/2.7/en-us/docs/user/best-practice.md b/documentations/2.7/en-us/docs/user/best-practice.md
new file mode 100644
index 0000000..0a451f9
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/best-practice.md
@@ -0,0 +1,63 @@
+# Servitization best practice 
+
+## Modularization
+
+It is recommended to put service interfaces, service models, service exceptions, and so on in the API package,Because the service model and exception are part of the API, it is also in conformity with the modularization principle:Reusing the publish equivalence principle (REP) and the Common Reuse Principle (CRP).
+
+If you need, you can also consider placing a spring reference configuration in the API package, so that the user can only use the configuration in the spring loading process, and the configuration suggestion is placed in the package directory of the module, so as not to conflict, eg:`com/alibaba/china/xxx/dubbo-reference.xml`。
+
+## Granularity
+
+The service interface should have large granularity as possible.Each service method should represent a function rather than a step of a function, otherwise it will be faced with distributed transaction problem. Dubbo does not provide distributed transaction support at present.
+
+The service interface recommends the division of the business scene as a unit and abstract the similar business to prevent the explosion of the number of interfaces.
+
+It is not recommended to use an too abstract universal interface, such as Map query (Map), which has no explicit semantics, which will inconvenience later maintenance.
+
+## Version
+
+Each interface should define a version number to provide possible subsequent incompatible upgrades,eg: `<dubbo:service interface="com.xxx.XxxService" version="1.0" />`。
+
+It is recommended to use a two bit version number, because the third - bit version number is usually compatible with a compatible upgrade, and a change of service version is required only when incompatible.
+
+When incompatible, half of the provider is upgraded to a new version, and all the consumers are upgraded to a new version, and the remaining half providers are upgraded to a new version.
+
+## Compatibility
+
+The service interface adds method or the service model adds fields. It can be backward compatible, delete methods or delete fields, and will not be compatible. The new fields of the enumerated type are not compatible, so we need to upgrade by changing the version number.
+
+The compatibility of each protocol is different, see: [Protocol introduction](./references/protocol/introduction.md)
+
+## Enumeration type
+
+If it is a complete set, you can use Enum, eg:`ENABLE`, `DISABLE`。
+
+If it is the type of business, there will be an obvious type of increase in the future, and it is not recommended to use  `Enum`, and it is not recommended to use Enum and can be replaced by  `String` .
+
+If you use`Enum`in the return value,And add the  `Enum` value,suggestions to upgrade the service consumption, so that the service provider does not return a new value.
+
+If the  `Enum`  value is used in the incoming parameter,and add the `Enum` value,it is suggested that the service provider be upgraded first, so that the service consumer will not pass the new value.
+
+## Serialization
+
+The service parameters and return values suggest that the POJO object is used, that is, the object of the attribute is represented by the `setter`, `getter` method.
+
+Service parameters and return values do not recommend the use of interfaces, because data model abstraction is of little significance, and serialization requires interfaces to implement meta information of classes, and can not play the purpose of hiding implementation.
+
+Service parameters and return values must be byValue, but not byReference. The reference or return values of consumers and providers are not the same, but the values are the same. Dubbo does not support remote objects.
+
+## Exception
+
+It is suggested that abnormal reporting errors are used rather than return error codes, and exception information can carry more information and have more semantic friendliness.
+
+If you are worried about performance problems, you can use the override () method of fillInStackTrace () out of the exception class as an empty method to make it not a copy of the stack information when necessary.
+
+Query method is not recommended throws checked, otherwise the caller in the query will be too much `try...catch, and can not be processed.`
+
+Service providers should not throw the exception of DAO or SQL to the consumer side. They should package the exception that consumers do not care about in service implementation, otherwise consumers may not be able to serialize the corresponding exception.
+
+## Call
+
+Not just because it is a Dubbo call, wrap the call logic eith `try...catch`clause. `try...catch` should be added to the appropriate rollback boundary.
+
+The check logic for the input parameters should be available at the Provider side. For performance considerations, the service implementer may consider adding a service Stub class to the API package to complete the test.
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/user/capacity-plan.md b/documentations/2.7/en-us/docs/user/capacity-plan.md
new file mode 100644
index 0000000..b7bf3da
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/capacity-plan.md
@@ -0,0 +1,17 @@
+# Capacity plan
+
+The following data for reference:
+
+## Use member service project of Dubbo
+
+* Receive 400,000,000 remote calls one day 
+* Use 12 standard servers to provide services (CPU:8 core, memory: 8G)
+* The average load is less than 1 (For 8 core CPU, the load is very low)
+* The average response time is 2.3 to 2.5 ms,Network cost about 1.5 to 1.6 ms(Related to the size of the packet )
+
+## Use product authorization service project of Dubbo
+
+* Receive 300,000,000 remote calls one day 
+* Use 8 standard servers to provide services (CPU:8 core, memory: 8G)
+* The average load is less than 1 (For 8 core CPU, the load is very low)
+* The average response time is  1.4 to 2.8 ms,Network cost about 1.0 to 1.1 ms(Related to the size of the packet )
\ No newline at end of file
diff --git a/documentations/2.7/en-us/docs/user/configuration/annotation.md b/documentations/2.7/en-us/docs/user/configuration/annotation.md
new file mode 100644
index 0000000..20afa09
--- /dev/null
+++ b/documentations/2.7/en-us/docs/user/configuration/annotation.md
@@ -0,0 +1,94 @@
+---
+title: Annotation Configuration
+keywords: dubbo,annotation configuration
+description: Annotation Configuration
+---
+
+# Annotation Configuration
+
+ Requires`2.6.3` or higher
+ click here to view the [complete sample](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-annotation)
... 540455 lines suppressed ...