You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2018/09/10 05:15:13 UTC

[GitHub] carryxyh closed pull request #146: Increase the registry's group attribute description.

carryxyh closed pull request #146: Increase the registry's group attribute description.
URL: https://github.com/apache/incubator-dubbo-website/pull/146
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/en-us/docs/user/references/xml/dubbo-registry.html b/en-us/docs/user/references/xml/dubbo-registry.html
index bb7c13af..9fb4f7e1 100644
--- a/en-us/docs/user/references/xml/dubbo-registry.html
+++ b/en-us/docs/user/references/xml/dubbo-registry.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1609569437"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-toggle" src="/img/menu_gray.png" data-reactid="8"/><ul data-reactid="9"><li class="menu-item menu-item-normal" data-reactid="10"><a href="/en-us/index.html" data-reactid="11">HOME</a></li><li class="menu-item menu-item-normal menu-item-normal-active" data-reactid="12"><a href="/en-us/docs/user/quick-start.html" data-reactid="13">DOCS</a></li><li class="menu-item menu-item-normal" data-reactid="14"><a href="/en-us/blog/index.html" data-reactid="15">BLOG</a></li><li class="menu-item menu-item-normal" data-reactid="16"><a href="/en-us/community/index.html" data-reactid="17">COMMUNITY</a></li></ul></div></div></header><div class="bar" data-reactid="18"><div class="bar-body" data-reactid="19"><img src="/img/docs.png" class="front-img" data-reactid="20"/><span data-reactid="21">Documentation</span><img src="/img/docs.png" class="back-img" data-reactid="22"/></div></div><section class="content-section" data-reactid="23"><div class="sidemenu" data-reactid="24"><div class="sidemenu-toggle" data-reactid="25"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png" data-reactid="26"/></div><ul data-reactid="27"><li class="menu-item menu-item-level-1" data-reactid="28"><span data-reactid="29">User doc</span><ul data-reactid="30"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="31"><span data-reactid="32"><!-- react-text: 33 -->Preface<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="34"/></span><ul data-reactid="35"><li class="menu-item menu-item-level-3" data-reactid="36"><a href="/en-us/docs/user/preface/background.html" target="_self" data-reactid="37">Background</a></li><li class="menu-item menu-item-level-3" data-reactid="38"><a href="/en-us/docs/user/preface/requirements.html" target="_self" data-reactid="39">Requirements</a></li><li class="menu-item menu-item-level-3" data-reactid="40"><a href="/en-us/docs/user/preface/architecture.html" target="_self" data-reactid="41">Architecture</a></li><li class="menu-item menu-item-level-3" data-reactid="42"><a href="/en-us/docs/user/preface/usage.html" target="_self" data-reactid="43">Usage</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="44"><a href="/en-us/docs/user/quick-start.html" target="_self" data-reactid="45">Quick start</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="46"><a href="/en-us/docs/user/dependencies.html" target="_self" data-reactid="47">Dependencies</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="48"><a href="/en-us/docs/user/maturity.html" target="_self" data-reactid="49">Maturality</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="50"><span data-reactid="51"><!-- react-text: 52 -->Configuration<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="53"/></span><ul data-reactid="54"><li class="menu-item menu-item-level-3" data-reactid="55"><a href="/en-us/docs/user/configuration/xml.html" target="_self" data-reactid="56">XML configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="57"><a href="/en-us/docs/user/configuration/properties.html" target="_self" data-reactid="58">Properties configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="59"><a href="/en-us/docs/user/configuration/api.html" target="_self" data-reactid="60">API configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="61"><a href="/en-us/docs/user/configuration/annotation.html" target="_self" data-reactid="62">Annotation configuration</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="63"><span data-reactid="64"><!-- react-text: 65 -->Demos<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="66"/></span><ul data-reactid="67"><li class="menu-item menu-item-level-3" data-reactid="68"><a href="/en-us/docs/user/demos/preflight-check.html" target="_self" data-reactid="69">Start check</a></li><li class="menu-item menu-item-level-3" data-reactid="70"><a href="/en-us/docs/user/demos/fault-tolerent-strategy.html" target="_self" data-reactid="71">Fault-tolerent strategy</a></li><li class="menu-item menu-item-level-3" data-reactid="72"><a href="/en-us/docs/user/demos/loadbalance.html" target="_self" data-reactid="73">Load balance</a></li><li class="menu-item menu-item-level-3" data-reactid="74"><a href="/en-us/docs/user/demos/thread-model.html" target="_self" data-reactid="75">Thread model</a></li><li class="menu-item menu-item-level-3" data-reactid="76"><a href="/en-us/docs/user/demos/explicit-target.html" target="_self" data-reactid="77">Connecting certain provider straightly</a></li><li class="menu-item menu-item-level-3" data-reactid="78"><a href="/en-us/docs/user/demos/subscribe-only.html" target="_self" data-reactid="79">Subscribe only</a></li><li class="menu-item menu-item-level-3" data-reactid="80"><a href="/en-us/docs/user/demos/registry-only.html" target="_self" data-reactid="81">Registry only</a></li><li class="menu-item menu-item-level-3" data-reactid="82"><a href="/en-us/docs/user/demos/static-service.html" target="_self" data-reactid="83">Static service</a></li><li class="menu-item menu-item-level-3" data-reactid="84"><a href="/en-us/docs/user/demos/multi-protocols.html" target="_self" data-reactid="85">Multi-protocols</a></li><li class="menu-item menu-item-level-3" data-reactid="86"><a href="/en-us/docs/user/demos/multi-registry.html" target="_self" data-reactid="87">Multi-registries</a></li><li class="menu-item menu-item-level-3" data-reactid="88"><a href="/en-us/docs/user/demos/service-group.html" target="_self" data-reactid="89">Service group</a></li><li class="menu-item menu-item-level-3" data-reactid="90"><a href="/en-us/docs/user/demos/multi-versions.html" target="_self" data-reactid="91">Multi-versions</a></li><li class="menu-item menu-item-level-3" data-reactid="92"><a href="/en-us/docs/user/demos/group-merger.html" target="_self" data-reactid="93">Group merger</a></li><li class="menu-item menu-item-level-3" data-reactid="94"><a href="/en-us/docs/user/demos/parameter-validation.html" target="_self" data-reactid="95">Parameter validation</a></li><li class="menu-item menu-item-level-3" data-reactid="96"><a href="/en-us/docs/user/demos/result-cache.html" target="_self" data-reactid="97">Result cache</a></li><li class="menu-item menu-item-level-3" data-reactid="98"><a href="/en-us/docs/user/demos/generic-reference.html" target="_self" data-reactid="99">Generic reference</a></li><li class="menu-item menu-item-level-3" data-reactid="100"><a href="/en-us/docs/user/demos/generic-service.html" target="_self" data-reactid="101">Generic service</a></li><li class="menu-item menu-item-level-3" data-reactid="102"><a href="/en-us/docs/user/demos/echo-service.html" target="_self" data-reactid="103">Echo service</a></li><li class="menu-item menu-item-level-3" data-reactid="104"><a href="/en-us/docs/user/demos/context.html" target="_self" data-reactid="105">Context</a></li><li class="menu-item menu-item-level-3" data-reactid="106"><a href="/en-us/docs/user/demos/attachment.html" target="_self" data-reactid="107">Attachment</a></li><li class="menu-item menu-item-level-3" data-reactid="108"><a href="/en-us/docs/user/demos/async-call.html" target="_self" data-reactid="109">Asynchronous call</a></li><li class="menu-item menu-item-level-3" data-reactid="110"><a href="/en-us/docs/user/demos/local-call.html" target="_self" data-reactid="111">Local call</a></li><li class="menu-item menu-item-level-3" data-reactid="112"><a href="/en-us/docs/user/demos/callback-parameter.html" target="_self" data-reactid="113">Callback parameter</a></li><li class="menu-item menu-item-level-3" data-reactid="114"><a href="/en-us/docs/user/demos/events-notify.html" target="_self" data-reactid="115">Events notify</a></li><li class="menu-item menu-item-level-3" data-reactid="116"><a href="/en-us/docs/user/demos/local-stub.html" target="_self" data-reactid="117">Local stub</a></li><li class="menu-item menu-item-level-3" data-reactid="118"><a href="/en-us/docs/user/demos/local-mock.html" target="_self" data-reactid="119">Local mock</a></li><li class="menu-item menu-item-level-3" data-reactid="120"><a href="/en-us/docs/user/demos/delay-publish.html" target="_self" data-reactid="121">Delay publish</a></li><li class="menu-item menu-item-level-3" data-reactid="122"><a href="/en-us/docs/user/demos/concurrency-control.html" target="_self" data-reactid="123">Concurrency control</a></li><li class="menu-item menu-item-level-3" data-reactid="124"><a href="/en-us/docs/user/demos/config-connections.html" target="_self" data-reactid="125">Connections limitation</a></li><li class="menu-item menu-item-level-3" data-reactid="126"><a href="/en-us/docs/user/demos/lazy-connect.html" target="_self" data-reactid="127">Lazy connect</a></li><li class="menu-item menu-item-level-3" data-reactid="128"><a href="/en-us/docs/user/demos/stickiness.html" target="_self" data-reactid="129">Stickness connections</a></li><li class="menu-item menu-item-level-3" data-reactid="130"><a href="/en-us/docs/user/demos/token-authorization.html" target="_self" data-reactid="131">Token authorization</a></li><li class="menu-item menu-item-level-3" data-reactid="132"><a href="/en-us/docs/user/demos/routing-rule.html" target="_self" data-reactid="133">Routing rule</a></li><li class="menu-item menu-item-level-3" data-reactid="134"><a href="/en-us/docs/user/demos/config-rule.html" target="_self" data-reactid="135">Configuration rule</a></li><li class="menu-item menu-item-level-3" data-reactid="136"><a href="/en-us/docs/user/demos/service-downgrade.html" target="_self" data-reactid="137">Service downgrade</a></li><li class="menu-item menu-item-level-3" data-reactid="138"><a href="/en-us/docs/user/demos/graceful-shutdown.html" target="_self" data-reactid="139">Graceful shutdown</a></li><li class="menu-item menu-item-level-3" data-reactid="140"><a href="/en-us/docs/user/demos/hostname-binding.html" target="_self" data-reactid="141">Hostname binding</a></li><li class="menu-item menu-item-level-3" data-reactid="142"><a href="/en-us/docs/user/demos/logger-strategy.html" target="_self" data-reactid="143">Logger strategy</a></li><li class="menu-item menu-item-level-3" data-reactid="144"><a href="/en-us/docs/user/demos/accesslog.html" target="_self" data-reactid="145">Accesslog</a></li><li class="menu-item menu-item-level-3" data-reactid="146"><a href="/en-us/docs/user/demos/service-container.html" target="_self" data-reactid="147">Service container</a></li><li class="menu-item menu-item-level-3" data-reactid="148"><a href="/en-us/docs/user/demos/reference-config-cache.html" target="_self" data-reactid="149">Reference config cache</a></li><li class="menu-item menu-item-level-3" data-reactid="150"><a href="/en-us/docs/user/demos/distributed-transaction.html" target="_self" data-reactid="151">Distributed transaction</a></li><li class="menu-item menu-item-level-3" data-reactid="152"><a href="/en-us/docs/user/demos/dump.html" target="_self" data-reactid="153">Automatic thread dump</a></li><li class="menu-item menu-item-level-3" data-reactid="154"><a href="/en-us/docs/user/demos/netty4.html" target="_self" data-reactid="155">Netty4</a></li><li class="menu-item menu-item-level-3" data-reactid="156"><a href="/en-us/docs/user/demos/serialization.html" target="_self" data-reactid="157">Serialization with FST and Kyro</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="158"><a href="/en-us/docs/user/references/api.html" target="_self" data-reactid="159">API configuration reference</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="160"><span data-reactid="161"><!-- react-text: 162 -->Schema configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="163"/></span><ul data-reactid="164"><li class="menu-item menu-item-level-3" data-reactid="165"><a href="/en-us/docs/user/references/xml/introduction.html" target="_self" data-reactid="166">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="167"><a href="/en-us/docs/user/references/xml/dubbo-service.html" target="_self" data-reactid="168">dubbo:service</a></li><li class="menu-item menu-item-level-3" data-reactid="169"><a href="/en-us/docs/user/references/xml/dubbo-reference.html" target="_self" data-reactid="170">dubbo:reference</a></li><li class="menu-item menu-item-level-3" data-reactid="171"><a href="/en-us/docs/user/references/xml/dubbo-protocol.html" target="_self" data-reactid="172">dubbo:protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="173"><a href="/en-us/docs/user/references/xml/dubbo-registry.html" target="_self" data-reactid="174">dubbo:registry</a></li><li class="menu-item menu-item-level-3" data-reactid="175"><a href="/en-us/docs/user/references/xml/dubbo-monitor.html" target="_self" data-reactid="176">dubbo:monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="177"><a href="/en-us/docs/user/references/xml/dubbo-application.html" target="_self" data-reactid="178">dubbo:application</a></li><li class="menu-item menu-item-level-3" data-reactid="179"><a href="/en-us/docs/user/references/xml/dubbo-module.html" target="_self" data-reactid="180">dubbo:module</a></li><li class="menu-item menu-item-level-3" data-reactid="181"><a href="/en-us/docs/user/references/xml/dubbo-provider.html" target="_self" data-reactid="182">dubbo:provider</a></li><li class="menu-item menu-item-level-3" data-reactid="183"><a href="/en-us/docs/user/references/xml/dubbo-consumer.html" target="_self" data-reactid="184">dubbo:consumer</a></li><li class="menu-item menu-item-level-3" data-reactid="185"><a href="/en-us/docs/user/references/xml/dubbo-method.html" target="_self" data-reactid="186">dubbo:method</a></li><li class="menu-item menu-item-level-3" data-reactid="187"><a href="/en-us/docs/user/references/xml/dubbo-argument.html" target="_self" data-reactid="188">dubbo:argument</a></li><li class="menu-item menu-item-level-3" data-reactid="189"><a href="/en-us/docs/user/references/xml/dubbo-parameter.html" target="_self" data-reactid="190">dubbo:parameter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="191"><span data-reactid="192"><!-- react-text: 193 -->Protocol configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="194"/></span><ul data-reactid="195"><li class="menu-item menu-item-level-3" data-reactid="196"><a href="/en-us/docs/user/references/protocol/introduction.html" target="_self" data-reactid="197">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="198"><a href="/en-us/docs/user/references/protocol/dubbo.html" target="_self" data-reactid="199">dubbo://</a></li><li class="menu-item menu-item-level-3" data-reactid="200"><a href="/en-us/docs/user/references/protocol/rmi.html" target="_self" data-reactid="201">rmi://</a></li><li class="menu-item menu-item-level-3" data-reactid="202"><a href="/en-us/docs/user/references/protocol/hessian.html" target="_self" data-reactid="203">hessian://</a></li><li class="menu-item menu-item-level-3" data-reactid="204"><a href="/en-us/docs/user/references/protocol/http.html" target="_self" data-reactid="205">http://</a></li><li class="menu-item menu-item-level-3" data-reactid="206"><a href="/en-us/docs/user/references/protocol/webservice.html" target="_self" data-reactid="207">webservice://</a></li><li class="menu-item menu-item-level-3" data-reactid="208"><a href="/en-us/docs/user/references/protocol/thrift.html" target="_self" data-reactid="209">thrift://</a></li><li class="menu-item menu-item-level-3" data-reactid="210"><a href="/en-us/docs/user/references/protocol/memcached.html" target="_self" data-reactid="211">memcached://</a></li><li class="menu-item menu-item-level-3" data-reactid="212"><a href="/en-us/docs/user/references/protocol/redis.html" target="_self" data-reactid="213">redis://</a></li><li class="menu-item menu-item-level-3" data-reactid="214"><a href="/en-us/docs/user/references/protocol/rest.html" target="_self" data-reactid="215">rest://</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="216"><span data-reactid="217"><!-- react-text: 218 -->Registry configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="219"/></span><ul data-reactid="220"><li class="menu-item menu-item-level-3" data-reactid="221"><a href="/en-us/docs/user/references/registry/introduction.html" target="_self" data-reactid="222">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="223"><a href="/en-us/docs/user/references/registry/multicast.html" target="_self" data-reactid="224">Multicast registry</a></li><li class="menu-item menu-item-level-3" data-reactid="225"><a href="/en-us/docs/user/references/registry/zookeeper.html" target="_self" data-reactid="226">Zookeeper registry</a></li><li class="menu-item menu-item-level-3" data-reactid="227"><a href="/en-us/docs/user/references/registry/redis.html" target="_self" data-reactid="228">Redis registry</a></li><li class="menu-item menu-item-level-3" data-reactid="229"><a href="/en-us/docs/user/references/registry/simple.html" target="_self" data-reactid="230">Simple registry</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="231"><a href="/en-us/docs/user/references/telnet.html" target="_self" data-reactid="232">Telnet command</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="233"><a href="/en-us/docs/user/references/maven.html" target="_self" data-reactid="234">Maven plugin</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="235"><a href="/en-us/docs/user/best-practice.html" target="_self" data-reactid="236">Best practice</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="237"><a href="/en-us/docs/user/recommend.html" target="_self" data-reactid="238">Recommended usage</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="239"><a href="/en-us/docs/user/capacity-plan.html" target="_self" data-reactid="240">Capacity plan</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="241"><a href="/en-us/docs/user/perf-test.html" target="_self" data-reactid="242">Performance testing reports</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="243"><a href="/en-us/docs/user/coveragence.html" target="_self" data-reactid="244">Test coverage report</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="245"><span data-reactid="246">Developer guide</span><ul data-reactid="247"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="248"><a href="/en-us/docs/dev/build.html" target="_self" data-reactid="249">How To Build</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="250"><a href="/en-us/docs/dev/design.html" target="_self" data-reactid="251">Architecture</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="252"><a href="/en-us/docs/dev/SPI.html" target="_self" data-reactid="253">How SPI Works</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="254"><a href="/en-us/docs/dev/implementation.html" target="_self" data-reactid="255">Init, Process, Protocols</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="256"><span data-reactid="257"><!-- react-text: 258 -->SPI Extensions<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="259"/></span><ul data-reactid="260"><li class="menu-item menu-item-level-3" data-reactid="261"><a href="/en-us/docs/dev/impls/protocol.html" target="_self" data-reactid="262">Protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="263"><a href="/en-us/docs/dev/impls/filter.html" target="_self" data-reactid="264">Filter</a></li><li class="menu-item menu-item-level-3" data-reactid="265"><a href="/en-us/docs/dev/impls/invoker-listener.html" target="_self" data-reactid="266">InvokerListener</a></li><li class="menu-item menu-item-level-3" data-reactid="267"><a href="/en-us/docs/dev/impls/exporter-listener.html" target="_self" data-reactid="268">ExporterListener</a></li><li class="menu-item menu-item-level-3" data-reactid="269"><a href="/en-us/docs/dev/impls/cluster.html" target="_self" data-reactid="270">Cluster</a></li><li class="menu-item menu-item-level-3" data-reactid="271"><a href="/en-us/docs/dev/impls/router.html" target="_self" data-reactid="272">Router</a></li><li class="menu-item menu-item-level-3" data-reactid="273"><a href="/en-us/docs/dev/impls/load-balance.html" target="_self" data-reactid="274">LoadBalance</a></li><li class="menu-item menu-item-level-3" data-reactid="275"><a href="/en-us/docs/dev/impls/merger.html" target="_self" data-reactid="276">Merger</a></li><li class="menu-item menu-item-level-3" data-reactid="277"><a href="/en-us/docs/dev/impls/registry.html" target="_self" data-reactid="278">Registry</a></li><li class="menu-item menu-item-level-3" data-reactid="279"><a href="/en-us/docs/dev/impls/monitor.html" target="_self" data-reactid="280">Monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="281"><a href="/en-us/docs/dev/impls/extension-factory.html" target="_self" data-reactid="282">ExtensionFactory</a></li><li class="menu-item menu-item-level-3" data-reactid="283"><a href="/en-us/docs/dev/impls/proxy-factory.html" target="_self" data-reactid="284">ProxyFactory</a></li><li class="menu-item menu-item-level-3" data-reactid="285"><a href="/en-us/docs/dev/impls/compiler.html" target="_self" data-reactid="286">Compiler</a></li><li class="menu-item menu-item-level-3" data-reactid="287"><a href="/en-us/docs/dev/impls/dispatcher.html" target="_self" data-reactid="288">Dispatcher</a></li><li class="menu-item menu-item-level-3" data-reactid="289"><a href="/en-us/docs/dev/impls/threadpool.html" target="_self" data-reactid="290">Threadpool</a></li><li class="menu-item menu-item-level-3" data-reactid="291"><a href="/en-us/docs/dev/impls/serialize.html" target="_self" data-reactid="292">Serialization</a></li><li class="menu-item menu-item-level-3" data-reactid="293"><a href="/en-us/docs/dev/impls/remoting.html" target="_self" data-reactid="294">Remoting</a></li><li class="menu-item menu-item-level-3" data-reactid="295"><a href="/en-us/docs/dev/impls/exchanger.html" target="_self" data-reactid="296">Exchanger</a></li><li class="menu-item menu-item-level-3" data-reactid="297"><a href="/en-us/docs/dev/impls/networker.html" target="_self" data-reactid="298">Networker</a></li><li class="menu-item menu-item-level-3" data-reactid="299"><a href="/en-us/docs/dev/impls/telnet-handler.html" target="_self" data-reactid="300">TelnetHandler</a></li><li class="menu-item menu-item-level-3" data-reactid="301"><a href="/en-us/docs/dev/impls/status-checker.html" target="_self" data-reactid="302">StatusChecker</a></li><li class="menu-item menu-item-level-3" data-reactid="303"><a href="/en-us/docs/dev/impls/container.html" target="_self" data-reactid="304">Container</a></li><li class="menu-item menu-item-level-3" data-reactid="305"><a href="/en-us/docs/dev/impls/page.html" target="_self" data-reactid="306">PageHandler</a></li><li class="menu-item menu-item-level-3" data-reactid="307"><a href="/en-us/docs/dev/impls/cache.html" target="_self" data-reactid="308">Cache</a></li><li class="menu-item menu-item-level-3" data-reactid="309"><a href="/en-us/docs/dev/impls/validation.html" target="_self" data-reactid="310">Validation</a></li><li class="menu-item menu-item-level-3" data-reactid="311"><a href="/en-us/docs/dev/impls/logger-adapter.html" target="_self" data-reactid="312">LoggerAdapter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="313"><a href="/en-us/docs/dev/contract.html" target="_self" data-reactid="314">Contract</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="315"><a href="/en-us/docs/dev/coding.html" target="_self" data-reactid="316">Code Style</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="317"><a href="/en-us/docs/dev/release.html" target="_self" data-reactid="318">Versions</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="319"><a href="/en-us/docs/dev/contribution.html" target="_self" data-reactid="320">Contribution</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="321"><a href="/en-us/docs/dev/checklist.html" target="_self" data-reactid="322">Checklist</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="323"><a href="/en-us/docs/dev/code-smell.html" target="_self" data-reactid="324">Code Smell</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="325"><a href="/en-us/docs/dev/TCK.html" target="_self" data-reactid="326">TCK</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="327"><span data-reactid="328">Admin guide</span><ul data-reactid="329"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="330"><span data-reactid="331"><!-- react-text: 332 -->Installation<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="333"/></span><ul data-reactid="334"><li class="menu-item menu-item-level-3" data-reactid="335"><a href="/en-us/docs/admin/install/provider-demo.html" target="_self" data-reactid="336">Install provider demo</a></li><li class="menu-item menu-item-level-3" data-reactid="337"><a href="/en-us/docs/admin/install/consumer-demo.html" target="_self" data-reactid="338">Install consumer demo</a></li><li class="menu-item menu-item-level-3" data-reactid="339"><a href="/en-us/docs/admin/install/zookeeper.html" target="_self" data-reactid="340">Install Zookeeper configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="341"><a href="/en-us/docs/admin/install/redis.html" target="_self" data-reactid="342">Install Redis configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="343"><a href="/en-us/docs/admin/install/simple-registry-center.html" target="_self" data-reactid="344">Install Simple configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="345"><a href="/en-us/docs/admin/install/simple-monitor-center.html" target="_self" data-reactid="346">Install Simple monitor center</a></li><li class="menu-item menu-item-level-3" data-reactid="347"><a href="/en-us/docs/admin/install/admin-console.html" target="_self" data-reactid="348">Install admin console</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="349"><span data-reactid="350"><!-- react-text: 351 -->Operation manual<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="352"/></span><ul data-reactid="353"><li class="menu-item menu-item-level-3" data-reactid="354"><a href="/en-us/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="355">Admin console operation guide</a></li><li class="menu-item menu-item-level-3" data-reactid="356"><a href="/en-us/docs/admin/ops/pinpoint.html" target="_self" data-reactid="357">Tracking with Pinpoint</a></li><li class="menu-item menu-item-level-3" data-reactid="358"><a href="/en-us/docs/admin/ops/skywalking.html" target="_self" data-reactid="359">Tracking with Skywalking</a></li></ul></li></ul></li></ul></div><div class="doc-content markdown-body" data-reactid="360"><style>
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1630763944"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/en-us/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">中</span><div class="header-menu" data-reactid="7"><img class="header-menu-toggle" src="/img/menu_gray.png" data-reactid="8"/><ul data-reactid="9"><li class="menu-item menu-item-normal" data-reactid="10"><a href="/en-us/index.html" data-reactid="11">HOME</a></li><li class="menu-item menu-item-normal menu-item-normal-active" data-reactid="12"><a href="/en-us/docs/user/quick-start.html" data-reactid="13">DOCS</a></li><li class="menu-item menu-item-normal" data-reactid="14"><a href="/en-us/blog/index.html" data-reactid="15">BLOG</a></li><li class="menu-item menu-item-normal" data-reactid="16"><a href="/en-us/community/index.html" data-reactid="17">COMMUNITY</a></li></ul></div></div></header><div class="bar" data-reactid="18"><div class="bar-body" data-reactid="19"><img src="/img/docs.png" class="front-img" data-reactid="20"/><span data-reactid="21">Documentation</span><img src="/img/docs.png" class="back-img" data-reactid="22"/></div></div><section class="content-section" data-reactid="23"><div class="sidemenu" data-reactid="24"><div class="sidemenu-toggle" data-reactid="25"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png" data-reactid="26"/></div><ul data-reactid="27"><li class="menu-item menu-item-level-1" data-reactid="28"><span data-reactid="29">User doc</span><ul data-reactid="30"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="31"><span data-reactid="32"><!-- react-text: 33 -->Preface<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="34"/></span><ul data-reactid="35"><li class="menu-item menu-item-level-3" data-reactid="36"><a href="/en-us/docs/user/preface/background.html" target="_self" data-reactid="37">Background</a></li><li class="menu-item menu-item-level-3" data-reactid="38"><a href="/en-us/docs/user/preface/requirements.html" target="_self" data-reactid="39">Requirements</a></li><li class="menu-item menu-item-level-3" data-reactid="40"><a href="/en-us/docs/user/preface/architecture.html" target="_self" data-reactid="41">Architecture</a></li><li class="menu-item menu-item-level-3" data-reactid="42"><a href="/en-us/docs/user/preface/usage.html" target="_self" data-reactid="43">Usage</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="44"><a href="/en-us/docs/user/quick-start.html" target="_self" data-reactid="45">Quick start</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="46"><a href="/en-us/docs/user/dependencies.html" target="_self" data-reactid="47">Dependencies</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="48"><a href="/en-us/docs/user/maturity.html" target="_self" data-reactid="49">Maturality</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="50"><span data-reactid="51"><!-- react-text: 52 -->Configuration<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="53"/></span><ul data-reactid="54"><li class="menu-item menu-item-level-3" data-reactid="55"><a href="/en-us/docs/user/configuration/xml.html" target="_self" data-reactid="56">XML configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="57"><a href="/en-us/docs/user/configuration/properties.html" target="_self" data-reactid="58">Properties configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="59"><a href="/en-us/docs/user/configuration/api.html" target="_self" data-reactid="60">API configuration</a></li><li class="menu-item menu-item-level-3" data-reactid="61"><a href="/en-us/docs/user/configuration/annotation.html" target="_self" data-reactid="62">Annotation configuration</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="63"><span data-reactid="64"><!-- react-text: 65 -->Demos<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="66"/></span><ul data-reactid="67"><li class="menu-item menu-item-level-3" data-reactid="68"><a href="/en-us/docs/user/demos/preflight-check.html" target="_self" data-reactid="69">Start check</a></li><li class="menu-item menu-item-level-3" data-reactid="70"><a href="/en-us/docs/user/demos/fault-tolerent-strategy.html" target="_self" data-reactid="71">Fault-tolerent strategy</a></li><li class="menu-item menu-item-level-3" data-reactid="72"><a href="/en-us/docs/user/demos/loadbalance.html" target="_self" data-reactid="73">Load balance</a></li><li class="menu-item menu-item-level-3" data-reactid="74"><a href="/en-us/docs/user/demos/thread-model.html" target="_self" data-reactid="75">Thread model</a></li><li class="menu-item menu-item-level-3" data-reactid="76"><a href="/en-us/docs/user/demos/explicit-target.html" target="_self" data-reactid="77">Connecting certain provider straightly</a></li><li class="menu-item menu-item-level-3" data-reactid="78"><a href="/en-us/docs/user/demos/subscribe-only.html" target="_self" data-reactid="79">Subscribe only</a></li><li class="menu-item menu-item-level-3" data-reactid="80"><a href="/en-us/docs/user/demos/registry-only.html" target="_self" data-reactid="81">Registry only</a></li><li class="menu-item menu-item-level-3" data-reactid="82"><a href="/en-us/docs/user/demos/static-service.html" target="_self" data-reactid="83">Static service</a></li><li class="menu-item menu-item-level-3" data-reactid="84"><a href="/en-us/docs/user/demos/multi-protocols.html" target="_self" data-reactid="85">Multi-protocols</a></li><li class="menu-item menu-item-level-3" data-reactid="86"><a href="/en-us/docs/user/demos/multi-registry.html" target="_self" data-reactid="87">Multi-registries</a></li><li class="menu-item menu-item-level-3" data-reactid="88"><a href="/en-us/docs/user/demos/service-group.html" target="_self" data-reactid="89">Service group</a></li><li class="menu-item menu-item-level-3" data-reactid="90"><a href="/en-us/docs/user/demos/multi-versions.html" target="_self" data-reactid="91">Multi-versions</a></li><li class="menu-item menu-item-level-3" data-reactid="92"><a href="/en-us/docs/user/demos/group-merger.html" target="_self" data-reactid="93">Group merger</a></li><li class="menu-item menu-item-level-3" data-reactid="94"><a href="/en-us/docs/user/demos/parameter-validation.html" target="_self" data-reactid="95">Parameter validation</a></li><li class="menu-item menu-item-level-3" data-reactid="96"><a href="/en-us/docs/user/demos/result-cache.html" target="_self" data-reactid="97">Result cache</a></li><li class="menu-item menu-item-level-3" data-reactid="98"><a href="/en-us/docs/user/demos/generic-reference.html" target="_self" data-reactid="99">Generic reference</a></li><li class="menu-item menu-item-level-3" data-reactid="100"><a href="/en-us/docs/user/demos/generic-service.html" target="_self" data-reactid="101">Generic service</a></li><li class="menu-item menu-item-level-3" data-reactid="102"><a href="/en-us/docs/user/demos/echo-service.html" target="_self" data-reactid="103">Echo service</a></li><li class="menu-item menu-item-level-3" data-reactid="104"><a href="/en-us/docs/user/demos/context.html" target="_self" data-reactid="105">Context</a></li><li class="menu-item menu-item-level-3" data-reactid="106"><a href="/en-us/docs/user/demos/attachment.html" target="_self" data-reactid="107">Attachment</a></li><li class="menu-item menu-item-level-3" data-reactid="108"><a href="/en-us/docs/user/demos/async-call.html" target="_self" data-reactid="109">Asynchronous call</a></li><li class="menu-item menu-item-level-3" data-reactid="110"><a href="/en-us/docs/user/demos/local-call.html" target="_self" data-reactid="111">Local call</a></li><li class="menu-item menu-item-level-3" data-reactid="112"><a href="/en-us/docs/user/demos/callback-parameter.html" target="_self" data-reactid="113">Callback parameter</a></li><li class="menu-item menu-item-level-3" data-reactid="114"><a href="/en-us/docs/user/demos/events-notify.html" target="_self" data-reactid="115">Events notify</a></li><li class="menu-item menu-item-level-3" data-reactid="116"><a href="/en-us/docs/user/demos/local-stub.html" target="_self" data-reactid="117">Local stub</a></li><li class="menu-item menu-item-level-3" data-reactid="118"><a href="/en-us/docs/user/demos/local-mock.html" target="_self" data-reactid="119">Local mock</a></li><li class="menu-item menu-item-level-3" data-reactid="120"><a href="/en-us/docs/user/demos/delay-publish.html" target="_self" data-reactid="121">Delay publish</a></li><li class="menu-item menu-item-level-3" data-reactid="122"><a href="/en-us/docs/user/demos/concurrency-control.html" target="_self" data-reactid="123">Concurrency control</a></li><li class="menu-item menu-item-level-3" data-reactid="124"><a href="/en-us/docs/user/demos/config-connections.html" target="_self" data-reactid="125">Connections limitation</a></li><li class="menu-item menu-item-level-3" data-reactid="126"><a href="/en-us/docs/user/demos/lazy-connect.html" target="_self" data-reactid="127">Lazy connect</a></li><li class="menu-item menu-item-level-3" data-reactid="128"><a href="/en-us/docs/user/demos/stickiness.html" target="_self" data-reactid="129">Stickness connections</a></li><li class="menu-item menu-item-level-3" data-reactid="130"><a href="/en-us/docs/user/demos/token-authorization.html" target="_self" data-reactid="131">Token authorization</a></li><li class="menu-item menu-item-level-3" data-reactid="132"><a href="/en-us/docs/user/demos/routing-rule.html" target="_self" data-reactid="133">Routing rule</a></li><li class="menu-item menu-item-level-3" data-reactid="134"><a href="/en-us/docs/user/demos/config-rule.html" target="_self" data-reactid="135">Configuration rule</a></li><li class="menu-item menu-item-level-3" data-reactid="136"><a href="/en-us/docs/user/demos/service-downgrade.html" target="_self" data-reactid="137">Service downgrade</a></li><li class="menu-item menu-item-level-3" data-reactid="138"><a href="/en-us/docs/user/demos/graceful-shutdown.html" target="_self" data-reactid="139">Graceful shutdown</a></li><li class="menu-item menu-item-level-3" data-reactid="140"><a href="/en-us/docs/user/demos/hostname-binding.html" target="_self" data-reactid="141">Hostname binding</a></li><li class="menu-item menu-item-level-3" data-reactid="142"><a href="/en-us/docs/user/demos/logger-strategy.html" target="_self" data-reactid="143">Logger strategy</a></li><li class="menu-item menu-item-level-3" data-reactid="144"><a href="/en-us/docs/user/demos/accesslog.html" target="_self" data-reactid="145">Accesslog</a></li><li class="menu-item menu-item-level-3" data-reactid="146"><a href="/en-us/docs/user/demos/service-container.html" target="_self" data-reactid="147">Service container</a></li><li class="menu-item menu-item-level-3" data-reactid="148"><a href="/en-us/docs/user/demos/reference-config-cache.html" target="_self" data-reactid="149">Reference config cache</a></li><li class="menu-item menu-item-level-3" data-reactid="150"><a href="/en-us/docs/user/demos/distributed-transaction.html" target="_self" data-reactid="151">Distributed transaction</a></li><li class="menu-item menu-item-level-3" data-reactid="152"><a href="/en-us/docs/user/demos/dump.html" target="_self" data-reactid="153">Automatic thread dump</a></li><li class="menu-item menu-item-level-3" data-reactid="154"><a href="/en-us/docs/user/demos/netty4.html" target="_self" data-reactid="155">Netty4</a></li><li class="menu-item menu-item-level-3" data-reactid="156"><a href="/en-us/docs/user/demos/serialization.html" target="_self" data-reactid="157">Serialization with FST and Kyro</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="158"><a href="/en-us/docs/user/references/api.html" target="_self" data-reactid="159">API configuration reference</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="160"><span data-reactid="161"><!-- react-text: 162 -->Schema configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="163"/></span><ul data-reactid="164"><li class="menu-item menu-item-level-3" data-reactid="165"><a href="/en-us/docs/user/references/xml/introduction.html" target="_self" data-reactid="166">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="167"><a href="/en-us/docs/user/references/xml/dubbo-service.html" target="_self" data-reactid="168">dubbo:service</a></li><li class="menu-item menu-item-level-3" data-reactid="169"><a href="/en-us/docs/user/references/xml/dubbo-reference.html" target="_self" data-reactid="170">dubbo:reference</a></li><li class="menu-item menu-item-level-3" data-reactid="171"><a href="/en-us/docs/user/references/xml/dubbo-protocol.html" target="_self" data-reactid="172">dubbo:protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="173"><a href="/en-us/docs/user/references/xml/dubbo-registry.html" target="_self" data-reactid="174">dubbo:registry</a></li><li class="menu-item menu-item-level-3" data-reactid="175"><a href="/en-us/docs/user/references/xml/dubbo-monitor.html" target="_self" data-reactid="176">dubbo:monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="177"><a href="/en-us/docs/user/references/xml/dubbo-application.html" target="_self" data-reactid="178">dubbo:application</a></li><li class="menu-item menu-item-level-3" data-reactid="179"><a href="/en-us/docs/user/references/xml/dubbo-module.html" target="_self" data-reactid="180">dubbo:module</a></li><li class="menu-item menu-item-level-3" data-reactid="181"><a href="/en-us/docs/user/references/xml/dubbo-provider.html" target="_self" data-reactid="182">dubbo:provider</a></li><li class="menu-item menu-item-level-3" data-reactid="183"><a href="/en-us/docs/user/references/xml/dubbo-consumer.html" target="_self" data-reactid="184">dubbo:consumer</a></li><li class="menu-item menu-item-level-3" data-reactid="185"><a href="/en-us/docs/user/references/xml/dubbo-method.html" target="_self" data-reactid="186">dubbo:method</a></li><li class="menu-item menu-item-level-3" data-reactid="187"><a href="/en-us/docs/user/references/xml/dubbo-argument.html" target="_self" data-reactid="188">dubbo:argument</a></li><li class="menu-item menu-item-level-3" data-reactid="189"><a href="/en-us/docs/user/references/xml/dubbo-parameter.html" target="_self" data-reactid="190">dubbo:parameter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="191"><span data-reactid="192"><!-- react-text: 193 -->Protocol configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="194"/></span><ul data-reactid="195"><li class="menu-item menu-item-level-3" data-reactid="196"><a href="/en-us/docs/user/references/protocol/introduction.html" target="_self" data-reactid="197">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="198"><a href="/en-us/docs/user/references/protocol/dubbo.html" target="_self" data-reactid="199">dubbo://</a></li><li class="menu-item menu-item-level-3" data-reactid="200"><a href="/en-us/docs/user/references/protocol/rmi.html" target="_self" data-reactid="201">rmi://</a></li><li class="menu-item menu-item-level-3" data-reactid="202"><a href="/en-us/docs/user/references/protocol/hessian.html" target="_self" data-reactid="203">hessian://</a></li><li class="menu-item menu-item-level-3" data-reactid="204"><a href="/en-us/docs/user/references/protocol/http.html" target="_self" data-reactid="205">http://</a></li><li class="menu-item menu-item-level-3" data-reactid="206"><a href="/en-us/docs/user/references/protocol/webservice.html" target="_self" data-reactid="207">webservice://</a></li><li class="menu-item menu-item-level-3" data-reactid="208"><a href="/en-us/docs/user/references/protocol/thrift.html" target="_self" data-reactid="209">thrift://</a></li><li class="menu-item menu-item-level-3" data-reactid="210"><a href="/en-us/docs/user/references/protocol/memcached.html" target="_self" data-reactid="211">memcached://</a></li><li class="menu-item menu-item-level-3" data-reactid="212"><a href="/en-us/docs/user/references/protocol/redis.html" target="_self" data-reactid="213">redis://</a></li><li class="menu-item menu-item-level-3" data-reactid="214"><a href="/en-us/docs/user/references/protocol/rest.html" target="_self" data-reactid="215">rest://</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="216"><span data-reactid="217"><!-- react-text: 218 -->Registry configuration reference<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="219"/></span><ul data-reactid="220"><li class="menu-item menu-item-level-3" data-reactid="221"><a href="/en-us/docs/user/references/registry/introduction.html" target="_self" data-reactid="222">Introduction</a></li><li class="menu-item menu-item-level-3" data-reactid="223"><a href="/en-us/docs/user/references/registry/multicast.html" target="_self" data-reactid="224">Multicast registry</a></li><li class="menu-item menu-item-level-3" data-reactid="225"><a href="/en-us/docs/user/references/registry/zookeeper.html" target="_self" data-reactid="226">Zookeeper registry</a></li><li class="menu-item menu-item-level-3" data-reactid="227"><a href="/en-us/docs/user/references/registry/redis.html" target="_self" data-reactid="228">Redis registry</a></li><li class="menu-item menu-item-level-3" data-reactid="229"><a href="/en-us/docs/user/references/registry/simple.html" target="_self" data-reactid="230">Simple registry</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="231"><a href="/en-us/docs/user/references/telnet.html" target="_self" data-reactid="232">Telnet command</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="233"><a href="/en-us/docs/user/references/maven.html" target="_self" data-reactid="234">Maven plugin</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="235"><a href="/en-us/docs/user/best-practice.html" target="_self" data-reactid="236">Best practice</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="237"><a href="/en-us/docs/user/recommend.html" target="_self" data-reactid="238">Recommended usage</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="239"><a href="/en-us/docs/user/capacity-plan.html" target="_self" data-reactid="240">Capacity plan</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="241"><a href="/en-us/docs/user/perf-test.html" target="_self" data-reactid="242">Performance testing reports</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="243"><a href="/en-us/docs/user/coveragence.html" target="_self" data-reactid="244">Test coverage report</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="245"><span data-reactid="246">Developer guide</span><ul data-reactid="247"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="248"><a href="/en-us/docs/dev/build.html" target="_self" data-reactid="249">How To Build</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="250"><a href="/en-us/docs/dev/design.html" target="_self" data-reactid="251">Architecture</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="252"><a href="/en-us/docs/dev/SPI.html" target="_self" data-reactid="253">How SPI Works</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="254"><a href="/en-us/docs/dev/implementation.html" target="_self" data-reactid="255">Init, Process, Protocols</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="256"><span data-reactid="257"><!-- react-text: 258 -->SPI Extensions<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="259"/></span><ul data-reactid="260"><li class="menu-item menu-item-level-3" data-reactid="261"><a href="/en-us/docs/dev/impls/protocol.html" target="_self" data-reactid="262">Protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="263"><a href="/en-us/docs/dev/impls/filter.html" target="_self" data-reactid="264">Filter</a></li><li class="menu-item menu-item-level-3" data-reactid="265"><a href="/en-us/docs/dev/impls/invoker-listener.html" target="_self" data-reactid="266">InvokerListener</a></li><li class="menu-item menu-item-level-3" data-reactid="267"><a href="/en-us/docs/dev/impls/exporter-listener.html" target="_self" data-reactid="268">ExporterListener</a></li><li class="menu-item menu-item-level-3" data-reactid="269"><a href="/en-us/docs/dev/impls/cluster.html" target="_self" data-reactid="270">Cluster</a></li><li class="menu-item menu-item-level-3" data-reactid="271"><a href="/en-us/docs/dev/impls/router.html" target="_self" data-reactid="272">Router</a></li><li class="menu-item menu-item-level-3" data-reactid="273"><a href="/en-us/docs/dev/impls/load-balance.html" target="_self" data-reactid="274">LoadBalance</a></li><li class="menu-item menu-item-level-3" data-reactid="275"><a href="/en-us/docs/dev/impls/merger.html" target="_self" data-reactid="276">Merger</a></li><li class="menu-item menu-item-level-3" data-reactid="277"><a href="/en-us/docs/dev/impls/registry.html" target="_self" data-reactid="278">Registry</a></li><li class="menu-item menu-item-level-3" data-reactid="279"><a href="/en-us/docs/dev/impls/monitor.html" target="_self" data-reactid="280">Monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="281"><a href="/en-us/docs/dev/impls/extension-factory.html" target="_self" data-reactid="282">ExtensionFactory</a></li><li class="menu-item menu-item-level-3" data-reactid="283"><a href="/en-us/docs/dev/impls/proxy-factory.html" target="_self" data-reactid="284">ProxyFactory</a></li><li class="menu-item menu-item-level-3" data-reactid="285"><a href="/en-us/docs/dev/impls/compiler.html" target="_self" data-reactid="286">Compiler</a></li><li class="menu-item menu-item-level-3" data-reactid="287"><a href="/en-us/docs/dev/impls/dispatcher.html" target="_self" data-reactid="288">Dispatcher</a></li><li class="menu-item menu-item-level-3" data-reactid="289"><a href="/en-us/docs/dev/impls/threadpool.html" target="_self" data-reactid="290">Threadpool</a></li><li class="menu-item menu-item-level-3" data-reactid="291"><a href="/en-us/docs/dev/impls/serialize.html" target="_self" data-reactid="292">Serialization</a></li><li class="menu-item menu-item-level-3" data-reactid="293"><a href="/en-us/docs/dev/impls/remoting.html" target="_self" data-reactid="294">Remoting</a></li><li class="menu-item menu-item-level-3" data-reactid="295"><a href="/en-us/docs/dev/impls/exchanger.html" target="_self" data-reactid="296">Exchanger</a></li><li class="menu-item menu-item-level-3" data-reactid="297"><a href="/en-us/docs/dev/impls/networker.html" target="_self" data-reactid="298">Networker</a></li><li class="menu-item menu-item-level-3" data-reactid="299"><a href="/en-us/docs/dev/impls/telnet-handler.html" target="_self" data-reactid="300">TelnetHandler</a></li><li class="menu-item menu-item-level-3" data-reactid="301"><a href="/en-us/docs/dev/impls/status-checker.html" target="_self" data-reactid="302">StatusChecker</a></li><li class="menu-item menu-item-level-3" data-reactid="303"><a href="/en-us/docs/dev/impls/container.html" target="_self" data-reactid="304">Container</a></li><li class="menu-item menu-item-level-3" data-reactid="305"><a href="/en-us/docs/dev/impls/page.html" target="_self" data-reactid="306">PageHandler</a></li><li class="menu-item menu-item-level-3" data-reactid="307"><a href="/en-us/docs/dev/impls/cache.html" target="_self" data-reactid="308">Cache</a></li><li class="menu-item menu-item-level-3" data-reactid="309"><a href="/en-us/docs/dev/impls/validation.html" target="_self" data-reactid="310">Validation</a></li><li class="menu-item menu-item-level-3" data-reactid="311"><a href="/en-us/docs/dev/impls/logger-adapter.html" target="_self" data-reactid="312">LoggerAdapter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="313"><a href="/en-us/docs/dev/contract.html" target="_self" data-reactid="314">Contract</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="315"><a href="/en-us/docs/dev/coding.html" target="_self" data-reactid="316">Code Style</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="317"><a href="/en-us/docs/dev/release.html" target="_self" data-reactid="318">Versions</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="319"><a href="/en-us/docs/dev/contribution.html" target="_self" data-reactid="320">Contribution</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="321"><a href="/en-us/docs/dev/checklist.html" target="_self" data-reactid="322">Checklist</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="323"><a href="/en-us/docs/dev/code-smell.html" target="_self" data-reactid="324">Code Smell</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="325"><a href="/en-us/docs/dev/TCK.html" target="_self" data-reactid="326">TCK</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="327"><span data-reactid="328">Admin guide</span><ul data-reactid="329"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="330"><span data-reactid="331"><!-- react-text: 332 -->Installation<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="333"/></span><ul data-reactid="334"><li class="menu-item menu-item-level-3" data-reactid="335"><a href="/en-us/docs/admin/install/provider-demo.html" target="_self" data-reactid="336">Install provider demo</a></li><li class="menu-item menu-item-level-3" data-reactid="337"><a href="/en-us/docs/admin/install/consumer-demo.html" target="_self" data-reactid="338">Install consumer demo</a></li><li class="menu-item menu-item-level-3" data-reactid="339"><a href="/en-us/docs/admin/install/zookeeper.html" target="_self" data-reactid="340">Install Zookeeper configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="341"><a href="/en-us/docs/admin/install/redis.html" target="_self" data-reactid="342">Install Redis configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="343"><a href="/en-us/docs/admin/install/simple-registry-center.html" target="_self" data-reactid="344">Install Simple configuration center</a></li><li class="menu-item menu-item-level-3" data-reactid="345"><a href="/en-us/docs/admin/install/simple-monitor-center.html" target="_self" data-reactid="346">Install Simple monitor center</a></li><li class="menu-item menu-item-level-3" data-reactid="347"><a href="/en-us/docs/admin/install/admin-console.html" target="_self" data-reactid="348">Install admin console</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="349"><span data-reactid="350"><!-- react-text: 351 -->Operation manual<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="352"/></span><ul data-reactid="353"><li class="menu-item menu-item-level-3" data-reactid="354"><a href="/en-us/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="355">Admin console operation guide</a></li><li class="menu-item menu-item-level-3" data-reactid="356"><a href="/en-us/docs/admin/ops/pinpoint.html" target="_self" data-reactid="357">Tracking with Pinpoint</a></li><li class="menu-item menu-item-level-3" data-reactid="358"><a href="/en-us/docs/admin/ops/skywalking.html" target="_self" data-reactid="359">Tracking with Skywalking</a></li></ul></li></ul></li></ul></div><div class="doc-content markdown-body" data-reactid="360"><style>
 table {
   width: 100%;
   max-width: 65em;
@@ -211,6 +211,16 @@ <h1>dubbo:registry</h1>
 <td>Whether the service is registered dynamically. If false, services will be showed as <code>disable</code>, you need to enable it manually. And you also need to disable it when provider shut down.</td>
 <td>Above 2.0.5</td>
 </tr>
+<tr>
+<td>group</td>
+<td>group</td>
+<td>string</td>
+<td>False</td>
+<td>dubbo</td>
+<td>Service governance</td>
+<td>Service registration grouping, cross-group services will not affect each other, and can not be called each other, suitable for environmental isolation.</td>
+<td>Above 2.0.5</td>
+</tr>
 </tbody>
 </table>
 </div></section><footer class="footer-container" data-reactid="361"><div class="footer-body" data-reactid="362"><img src="/img/dubbo_gray.png" data-reactid="363"/><img class="apache" src="/img/apache_logo.png" data-reactid="364"/><div class="cols-container" data-reactid="365"><div class="col col-12" data-reactid="366"><h3 data-reactid="367">Disclaimer</h3><p data-reactid="368">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6" data-reactid="369"><dl data-reactid="370"><dt data-reactid="371">Documentation</dt><dd data-reactid="372"><a href="/en-us/docs/user/quick-start.html" target="_self" data-reactid="373">Quick start</a></dd><dd data-reactid="374"><a href="/en-us/docs/dev/build.html" target="_self" data-reactid="375">Developer guide</a></dd><dd data-reactid="376"><a href="/en-us/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="377">Admin manual</a></dd></dl></div><div class="col col-6" data-reactid="378"><dl data-reactid="379"><dt data-reactid="380">Resources</dt><dd data-reactid="381"><a href="/en-us/blog/index.html" target="_self" data-reactid="382">Blog</a></dd><dd data-reactid="383"><a href="/en-us/community/index.html" target="_self" data-reactid="384">Community</a></dd></dl></div></div><div class="copyright" data-reactid="385"><span data-reactid="386">Copyright © 2018 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</span></div></div></footer></div></div>
diff --git a/en-us/docs/user/references/xml/dubbo-registry.json b/en-us/docs/user/references/xml/dubbo-registry.json
index 4092da2d..2d0909ed 100644
--- a/en-us/docs/user/references/xml/dubbo-registry.json
+++ b/en-us/docs/user/references/xml/dubbo-registry.json
@@ -1,4 +1,4 @@
 {
   "filename": "dubbo-registry.md",
-  "__html": "<style>\ntable {\n  width: 100%;\n  max-width: 65em;\n  border: 1px solid #dedede;\n  margin: 15px auto;\n  border-collapse: collapse;\n  empty-cells: show;\n}\ntable th,\ntable td {\n  height: 35px;\n  border: 1px solid #dedede;\n  padding: 0 10px;\n}\ntable th {\n  font-weight: bold;\n  text-align: center !important;\n  background: rgba(158,188,226,0.2);\n  white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n  background: rgba(158,188,226,0.12);\n}\ntable td:nth-child(1) {\n  white-space: nowrap;\n}\ntable tr:hover {\n  background: #efefef;\n}\n.table-area {\n  overflow: auto;\n}\n</style>\n<script type=\"text/javascript\">\n[].slice.call(document.querySelectorAll('table')).forEach(function(el){\n    var wrapper = document.createElement('div');\n    wrapper.className = 'table-area';\n    el.parentNode.insertBefore(wrapper, el);\n    el.parentNode.removeChild(el);\n    wrapper.appendChild(el);\n})\n</script>\n<h1>dubbo:registry</h1>\n<p>The configuration of the registry center. The corresponding class is <code>com.alibaba.dubbo.config.RegistryConfig</code>. If you have multiple different registries, you can declare multiple <code>&lt;dubbo:registry&gt;</code> tags, and then reference specified registry with <code>registry</code> property in <code>&lt;dubbo:service&gt;</code> or <code>&lt;dubbo:reference&gt;</code> tag.</p>\n<table>\n<thead>\n<tr>\n<th>Attribute</th>\n<th>Corresponding URL parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default Value</th>\n<th>Function</th>\n<th>Description</th>\n<th>Compatibility</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td></td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Configuration association</td>\n<td>Bean Id of the registry center, can be referenced in &lt;dubbo:service registry=&quot;&quot;&gt;or  &lt;dubbo:reference registry=&quot;&quot;&gt;</td>\n<td>Above 1.0.16</td>\n</tr>\n<tr>\n<td>address</td>\n<td>&lt;host:port&gt;</td>\n<td>string</td>\n<td><b>True</b></td>\n<td></td>\n<td>Service discovery</td>\n<td>The address of the registry center. If the address has no port, default port 9999 will be adopted. Multiple addresses within the same cluster use <code>,</code> to seperate, such as <code>ip:port,ip:port</code>. Multiple registries within different cluster, please configure different <code>dubbo:registry</code> tag.</td>\n<td>Above 1.0.16</td>\n</tr>\n<tr>\n<td>protocol</td>\n<td>&lt;protocol&gt;</td>\n<td>string</td>\n<td>False</td>\n<td>dubbo</td>\n<td>Service discovery</td>\n<td>The protocol of the registry center. <code>dubbo</code>, <code>http</code>, <code>local</code> are available.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>port</td>\n<td>&lt;port&gt;</td>\n<td>int</td>\n<td>False</td>\n<td>9090</td>\n<td>Service discovery</td>\n<td>The default port of the registry. When the <code>address</code> has no port, this default port will be adopted.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>username</td>\n<td>&lt;username&gt;</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The usename of the registry. Do not set it if the registry doesn't need validation.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>password</td>\n<td>&lt;password&gt;</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The password of the registry. Do not set it if the registry doesn't need validation.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>transport</td>\n<td>registry.transporter</td>\n<td>string</td>\n<td>False</td>\n<td>netty</td>\n<td>Performance optimize</td>\n<td>mina, netty are available.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>timeout</td>\n<td>registry.timeout</td>\n<td>int</td>\n<td>False</td>\n<td>5000</td>\n<td>Performance optimize</td>\n<td>The timeout(ms) of the request to registry.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>session</td>\n<td>registry.session</td>\n<td>int</td>\n<td>False</td>\n<td>60000</td>\n<td>Performance optimize</td>\n<td>The session timeout(ms) of the registry. It's used to check whether the providers are alive. It depends on the implement of the registry. For example, for HeartBeat implement, the timeout is the interval of two heart beats.</td>\n<td>Above 2.1.0</td>\n</tr>\n<tr>\n<td>file</td>\n<td>registry.file</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The local file to cache the address list of registries and providers. When application restarts, it will restore the registries and providers. Please use different file for different registy.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>check</td>\n<td>check</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>Whether throwing exception while the registry isn't existed.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>register</td>\n<td>register</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>whether registering to the registry center. If false, just subscribing, not registering.</td>\n<td>Above 2.0.5</td>\n</tr>\n<tr>\n<td>subscribe</td>\n<td>subscribe</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>whether subscribing from the registry center. If false, just registering, not subscribing.</td>\n<td>Above 2.0.5</td>\n</tr>\n<tr>\n<td>dynamic</td>\n<td>dynamic</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>Whether the service is registered dynamically. If false, services will be showed as <code>disable</code>, you need to enable it manually. And you also need to disable it when provider shut down.</td>\n<td>Above 2.0.5</td>\n</tr>\n</tbody>\n</table>\n"
+  "__html": "<style>\ntable {\n  width: 100%;\n  max-width: 65em;\n  border: 1px solid #dedede;\n  margin: 15px auto;\n  border-collapse: collapse;\n  empty-cells: show;\n}\ntable th,\ntable td {\n  height: 35px;\n  border: 1px solid #dedede;\n  padding: 0 10px;\n}\ntable th {\n  font-weight: bold;\n  text-align: center !important;\n  background: rgba(158,188,226,0.2);\n  white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n  background: rgba(158,188,226,0.12);\n}\ntable td:nth-child(1) {\n  white-space: nowrap;\n}\ntable tr:hover {\n  background: #efefef;\n}\n.table-area {\n  overflow: auto;\n}\n</style>\n<script type=\"text/javascript\">\n[].slice.call(document.querySelectorAll('table')).forEach(function(el){\n    var wrapper = document.createElement('div');\n    wrapper.className = 'table-area';\n    el.parentNode.insertBefore(wrapper, el);\n    el.parentNode.removeChild(el);\n    wrapper.appendChild(el);\n})\n</script>\n<h1>dubbo:registry</h1>\n<p>The configuration of the registry center. The corresponding class is <code>com.alibaba.dubbo.config.RegistryConfig</code>. If you have multiple different registries, you can declare multiple <code>&lt;dubbo:registry&gt;</code> tags, and then reference specified registry with <code>registry</code> property in <code>&lt;dubbo:service&gt;</code> or <code>&lt;dubbo:reference&gt;</code> tag.</p>\n<table>\n<thead>\n<tr>\n<th>Attribute</th>\n<th>Corresponding URL parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default Value</th>\n<th>Function</th>\n<th>Description</th>\n<th>Compatibility</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td></td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Configuration association</td>\n<td>Bean Id of the registry center, can be referenced in &lt;dubbo:service registry=&quot;&quot;&gt;or  &lt;dubbo:reference registry=&quot;&quot;&gt;</td>\n<td>Above 1.0.16</td>\n</tr>\n<tr>\n<td>address</td>\n<td>&lt;host:port&gt;</td>\n<td>string</td>\n<td><b>True</b></td>\n<td></td>\n<td>Service discovery</td>\n<td>The address of the registry center. If the address has no port, default port 9999 will be adopted. Multiple addresses within the same cluster use <code>,</code> to seperate, such as <code>ip:port,ip:port</code>. Multiple registries within different cluster, please configure different <code>dubbo:registry</code> tag.</td>\n<td>Above 1.0.16</td>\n</tr>\n<tr>\n<td>protocol</td>\n<td>&lt;protocol&gt;</td>\n<td>string</td>\n<td>False</td>\n<td>dubbo</td>\n<td>Service discovery</td>\n<td>The protocol of the registry center. <code>dubbo</code>, <code>http</code>, <code>local</code> are available.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>port</td>\n<td>&lt;port&gt;</td>\n<td>int</td>\n<td>False</td>\n<td>9090</td>\n<td>Service discovery</td>\n<td>The default port of the registry. When the <code>address</code> has no port, this default port will be adopted.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>username</td>\n<td>&lt;username&gt;</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The usename of the registry. Do not set it if the registry doesn't need validation.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>password</td>\n<td>&lt;password&gt;</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The password of the registry. Do not set it if the registry doesn't need validation.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>transport</td>\n<td>registry.transporter</td>\n<td>string</td>\n<td>False</td>\n<td>netty</td>\n<td>Performance optimize</td>\n<td>mina, netty are available.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>timeout</td>\n<td>registry.timeout</td>\n<td>int</td>\n<td>False</td>\n<td>5000</td>\n<td>Performance optimize</td>\n<td>The timeout(ms) of the request to registry.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>session</td>\n<td>registry.session</td>\n<td>int</td>\n<td>False</td>\n<td>60000</td>\n<td>Performance optimize</td>\n<td>The session timeout(ms) of the registry. It's used to check whether the providers are alive. It depends on the implement of the registry. For example, for HeartBeat implement, the timeout is the interval of two heart beats.</td>\n<td>Above 2.1.0</td>\n</tr>\n<tr>\n<td>file</td>\n<td>registry.file</td>\n<td>string</td>\n<td>False</td>\n<td></td>\n<td>Service governance</td>\n<td>The local file to cache the address list of registries and providers. When application restarts, it will restore the registries and providers. Please use different file for different registy.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>check</td>\n<td>check</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>Whether throwing exception while the registry isn't existed.</td>\n<td>Above 2.0.0</td>\n</tr>\n<tr>\n<td>register</td>\n<td>register</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>whether registering to the registry center. If false, just subscribing, not registering.</td>\n<td>Above 2.0.5</td>\n</tr>\n<tr>\n<td>subscribe</td>\n<td>subscribe</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>whether subscribing from the registry center. If false, just registering, not subscribing.</td>\n<td>Above 2.0.5</td>\n</tr>\n<tr>\n<td>dynamic</td>\n<td>dynamic</td>\n<td>boolean</td>\n<td>False</td>\n<td>true</td>\n<td>Service governance</td>\n<td>Whether the service is registered dynamically. If false, services will be showed as <code>disable</code>, you need to enable it manually. And you also need to disable it when provider shut down.</td>\n<td>Above 2.0.5</td>\n</tr>\n<tr>\n<td>group</td>\n<td>group</td>\n<td>string</td>\n<td>False</td>\n<td>dubbo</td>\n<td>Service governance</td>\n<td>Service registration grouping, cross-group services will not affect each other, and can not be called each other, suitable for environmental isolation.</td>\n<td>Above 2.0.5</td>\n</tr>\n</tbody>\n</table>\n"
 }
\ No newline at end of file
diff --git a/zh-cn/docs/user/references/xml/dubbo-registry.html b/zh-cn/docs/user/references/xml/dubbo-registry.html
index 4ecdb42f..1f6bc85d 100644
--- a/zh-cn/docs/user/references/xml/dubbo-registry.html
+++ b/zh-cn/docs/user/references/xml/dubbo-registry.html
@@ -12,7 +12,7 @@
 	<link rel="stylesheet" href="/build/documentation.css" />
 </head>
 <body>
-	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="1179287003"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-toggle" src="/img/menu_gray.png" data-reactid="8"/><ul data-reactid="9"><li class="menu-item menu-item-normal" data-reactid="10"><a href="/zh-cn/index.html" data-reactid="11">首页</a></li><li class="menu-item menu-item-normal menu-item-normal-active" data-reactid="12"><a href="/zh-cn/docs/user/quick-start.html" data-reactid="13">文档</a></li><li class="menu-item menu-item-normal" data-reactid="14"><a href="/zh-cn/blog/index.html" data-reactid="15">博客</a></li><li class="menu-item menu-item-normal" data-reactid="16"><a href="/zh-cn/community/index.html" data-reactid="17">社区</a></li></ul></div></div></header><div class="bar" data-reactid="18"><div class="bar-body" data-reactid="19"><img src="/img/docs.png" class="front-img" data-reactid="20"/><span data-reactid="21">文档</span><img src="/img/docs.png" class="back-img" data-reactid="22"/></div></div><section class="content-section" data-reactid="23"><div class="sidemenu" data-reactid="24"><div class="sidemenu-toggle" data-reactid="25"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png" data-reactid="26"/></div><ul data-reactid="27"><li class="menu-item menu-item-level-1" data-reactid="28"><span data-reactid="29">用户文档</span><ul data-reactid="30"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="31"><span data-reactid="32"><!-- react-text: 33 -->入门<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="34"/></span><ul data-reactid="35"><li class="menu-item menu-item-level-3" data-reactid="36"><a href="/zh-cn/docs/user/preface/background.html" target="_self" data-reactid="37">背景</a></li><li class="menu-item menu-item-level-3" data-reactid="38"><a href="/zh-cn/docs/user/preface/requirements.html" target="_self" data-reactid="39">需求</a></li><li class="menu-item menu-item-level-3" data-reactid="40"><a href="/zh-cn/docs/user/preface/architecture.html" target="_self" data-reactid="41">架构</a></li><li class="menu-item menu-item-level-3" data-reactid="42"><a href="/zh-cn/docs/user/preface/usage.html" target="_self" data-reactid="43">用法</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="44"><a href="/zh-cn/docs/user/quick-start.html" target="_self" data-reactid="45">快速启动</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="46"><a href="/zh-cn/docs/user/dependencies.html" target="_self" data-reactid="47">依赖</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="48"><a href="/zh-cn/docs/user/maturity.html" target="_self" data-reactid="49">成熟度</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="50"><span data-reactid="51"><!-- react-text: 52 -->配置<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="53"/></span><ul data-reactid="54"><li class="menu-item menu-item-level-3" data-reactid="55"><a href="/zh-cn/docs/user/configuration/xml.html" target="_self" data-reactid="56">XML配置</a></li><li class="menu-item menu-item-level-3" data-reactid="57"><a href="/zh-cn/docs/user/configuration/properties.html" target="_self" data-reactid="58">属性配置</a></li><li class="menu-item menu-item-level-3" data-reactid="59"><a href="/zh-cn/docs/user/configuration/api.html" target="_self" data-reactid="60">API配置</a></li><li class="menu-item menu-item-level-3" data-reactid="61"><a href="/zh-cn/docs/user/configuration/annotation.html" target="_self" data-reactid="62">注解配置</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="63"><span data-reactid="64"><!-- react-text: 65 -->示例<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="66"/></span><ul data-reactid="67"><li class="menu-item menu-item-level-3" data-reactid="68"><a href="/zh-cn/docs/user/demos/preflight-check.html" target="_self" data-reactid="69">启动时检查</a></li><li class="menu-item menu-item-level-3" data-reactid="70"><a href="/zh-cn/docs/user/demos/fault-tolerent-strategy.html" target="_self" data-reactid="71">集群容错</a></li><li class="menu-item menu-item-level-3" data-reactid="72"><a href="/zh-cn/docs/user/demos/loadbalance.html" target="_self" data-reactid="73">负载均衡</a></li><li class="menu-item menu-item-level-3" data-reactid="74"><a href="/zh-cn/docs/user/demos/thread-model.html" target="_self" data-reactid="75">线程模型</a></li><li class="menu-item menu-item-level-3" data-reactid="76"><a href="/zh-cn/docs/user/demos/explicit-target.html" target="_self" data-reactid="77">直连提供者</a></li><li class="menu-item menu-item-level-3" data-reactid="78"><a href="/zh-cn/docs/user/demos/subscribe-only.html" target="_self" data-reactid="79">只订阅</a></li><li class="menu-item menu-item-level-3" data-reactid="80"><a href="/zh-cn/docs/user/demos/registry-only.html" target="_self" data-reactid="81">只注册</a></li><li class="menu-item menu-item-level-3" data-reactid="82"><a href="/zh-cn/docs/user/demos/static-service.html" target="_self" data-reactid="83">静态服务</a></li><li class="menu-item menu-item-level-3" data-reactid="84"><a href="/zh-cn/docs/user/demos/multi-protocols.html" target="_self" data-reactid="85">多协议</a></li><li class="menu-item menu-item-level-3" data-reactid="86"><a href="/zh-cn/docs/user/demos/multi-registry.html" target="_self" data-reactid="87">多注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="88"><a href="/zh-cn/docs/user/demos/service-group.html" target="_self" data-reactid="89">服务分组</a></li><li class="menu-item menu-item-level-3" data-reactid="90"><a href="/zh-cn/docs/user/demos/multi-versions.html" target="_self" data-reactid="91">多版本</a></li><li class="menu-item menu-item-level-3" data-reactid="92"><a href="/zh-cn/docs/user/demos/group-merger.html" target="_self" data-reactid="93">分组聚合</a></li><li class="menu-item menu-item-level-3" data-reactid="94"><a href="/zh-cn/docs/user/demos/parameter-validation.html" target="_self" data-reactid="95">参数验证</a></li><li class="menu-item menu-item-level-3" data-reactid="96"><a href="/zh-cn/docs/user/demos/result-cache.html" target="_self" data-reactid="97">结果缓存</a></li><li class="menu-item menu-item-level-3" data-reactid="98"><a href="/zh-cn/docs/user/demos/generic-reference.html" target="_self" data-reactid="99">泛化引用</a></li><li class="menu-item menu-item-level-3" data-reactid="100"><a href="/zh-cn/docs/user/demos/generic-service.html" target="_self" data-reactid="101">泛化实现</a></li><li class="menu-item menu-item-level-3" data-reactid="102"><a href="/zh-cn/docs/user/demos/echo-service.html" target="_self" data-reactid="103">回声测试</a></li><li class="menu-item menu-item-level-3" data-reactid="104"><a href="/zh-cn/docs/user/demos/context.html" target="_self" data-reactid="105">上下文信息</a></li><li class="menu-item menu-item-level-3" data-reactid="106"><a href="/zh-cn/docs/user/demos/attachment.html" target="_self" data-reactid="107">隐式参数</a></li><li class="menu-item menu-item-level-3" data-reactid="108"><a href="/zh-cn/docs/user/demos/async-call.html" target="_self" data-reactid="109">异步调用</a></li><li class="menu-item menu-item-level-3" data-reactid="110"><a href="/zh-cn/docs/user/demos/local-call.html" target="_self" data-reactid="111">本地调用</a></li><li class="menu-item menu-item-level-3" data-reactid="112"><a href="/zh-cn/docs/user/demos/callback-parameter.html" target="_self" data-reactid="113">参数回调</a></li><li class="menu-item menu-item-level-3" data-reactid="114"><a href="/zh-cn/docs/user/demos/events-notify.html" target="_self" data-reactid="115">事件通知</a></li><li class="menu-item menu-item-level-3" data-reactid="116"><a href="/zh-cn/docs/user/demos/local-stub.html" target="_self" data-reactid="117">本地存根</a></li><li class="menu-item menu-item-level-3" data-reactid="118"><a href="/zh-cn/docs/user/demos/local-mock.html" target="_self" data-reactid="119">本地伪装</a></li><li class="menu-item menu-item-level-3" data-reactid="120"><a href="/zh-cn/docs/user/demos/delay-publish.html" target="_self" data-reactid="121">延迟暴露</a></li><li class="menu-item menu-item-level-3" data-reactid="122"><a href="/zh-cn/docs/user/demos/concurrency-control.html" target="_self" data-reactid="123">并发控制</a></li><li class="menu-item menu-item-level-3" data-reactid="124"><a href="/zh-cn/docs/user/demos/config-connections.html" target="_self" data-reactid="125">连接控制</a></li><li class="menu-item menu-item-level-3" data-reactid="126"><a href="/zh-cn/docs/user/demos/lazy-connect.html" target="_self" data-reactid="127">延迟连接</a></li><li class="menu-item menu-item-level-3" data-reactid="128"><a href="/zh-cn/docs/user/demos/stickiness.html" target="_self" data-reactid="129">粘滞连接</a></li><li class="menu-item menu-item-level-3" data-reactid="130"><a href="/zh-cn/docs/user/demos/token-authorization.html" target="_self" data-reactid="131">令牌验证</a></li><li class="menu-item menu-item-level-3" data-reactid="132"><a href="/zh-cn/docs/user/demos/routing-rule.html" target="_self" data-reactid="133">路由规则</a></li><li class="menu-item menu-item-level-3" data-reactid="134"><a href="/zh-cn/docs/user/demos/config-rule.html" target="_self" data-reactid="135">配置规则</a></li><li class="menu-item menu-item-level-3" data-reactid="136"><a href="/zh-cn/docs/user/demos/service-downgrade.html" target="_self" data-reactid="137">服务降级</a></li><li class="menu-item menu-item-level-3" data-reactid="138"><a href="/zh-cn/docs/user/demos/graceful-shutdown.html" target="_self" data-reactid="139">优雅停机</a></li><li class="menu-item menu-item-level-3" data-reactid="140"><a href="/zh-cn/docs/user/demos/hostname-binding.html" target="_self" data-reactid="141">主机绑定</a></li><li class="menu-item menu-item-level-3" data-reactid="142"><a href="/zh-cn/docs/user/demos/logger-strategy.html" target="_self" data-reactid="143">日志适配</a></li><li class="menu-item menu-item-level-3" data-reactid="144"><a href="/zh-cn/docs/user/demos/accesslog.html" target="_self" data-reactid="145">访问日志</a></li><li class="menu-item menu-item-level-3" data-reactid="146"><a href="/zh-cn/docs/user/demos/service-container.html" target="_self" data-reactid="147">服务容器</a></li><li class="menu-item menu-item-level-3" data-reactid="148"><a href="/zh-cn/docs/user/demos/reference-config-cache.html" target="_self" data-reactid="149">Reference Config 缓存</a></li><li class="menu-item menu-item-level-3" data-reactid="150"><a href="/zh-cn/docs/user/demos/distributed-transaction.html" target="_self" data-reactid="151">分布式事务</a></li><li class="menu-item menu-item-level-3" data-reactid="152"><a href="/zh-cn/docs/user/demos/dump.html" target="_self" data-reactid="153">线程栈自动dump</a></li><li class="menu-item menu-item-level-3" data-reactid="154"><a href="/zh-cn/docs/user/demos/netty4.html" target="_self" data-reactid="155">Netty4</a></li><li class="menu-item menu-item-level-3" data-reactid="156"><a href="/zh-cn/docs/user/demos/serialization.html" target="_self" data-reactid="157">Kryo和FST序列化</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="158"><a href="/zh-cn/docs/user/references/api.html" target="_self" data-reactid="159">API配置参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="160"><span data-reactid="161"><!-- react-text: 162 -->schema配置参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="163"/></span><ul data-reactid="164"><li class="menu-item menu-item-level-3" data-reactid="165"><a href="/zh-cn/docs/user/references/xml/introduction.html" target="_self" data-reactid="166">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="167"><a href="/zh-cn/docs/user/references/xml/dubbo-service.html" target="_self" data-reactid="168">dubbo:service</a></li><li class="menu-item menu-item-level-3" data-reactid="169"><a href="/zh-cn/docs/user/references/xml/dubbo-reference.html" target="_self" data-reactid="170">dubbo:reference</a></li><li class="menu-item menu-item-level-3" data-reactid="171"><a href="/zh-cn/docs/user/references/xml/dubbo-protocol.html" target="_self" data-reactid="172">dubbo:protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="173"><a href="/zh-cn/docs/user/references/xml/dubbo-registry.html" target="_self" data-reactid="174">dubbo:registry</a></li><li class="menu-item menu-item-level-3" data-reactid="175"><a href="/zh-cn/docs/user/references/xml/dubbo-monitor.html" target="_self" data-reactid="176">dubbo:monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="177"><a href="/zh-cn/docs/user/references/xml/dubbo-application.html" target="_self" data-reactid="178">dubbo:application</a></li><li class="menu-item menu-item-level-3" data-reactid="179"><a href="/zh-cn/docs/user/references/xml/dubbo-module.html" target="_self" data-reactid="180">dubbo:module</a></li><li class="menu-item menu-item-level-3" data-reactid="181"><a href="/zh-cn/docs/user/references/xml/dubbo-provider.html" target="_self" data-reactid="182">dubbo:provider</a></li><li class="menu-item menu-item-level-3" data-reactid="183"><a href="/zh-cn/docs/user/references/xml/dubbo-consumer.html" target="_self" data-reactid="184">dubbo:consumer</a></li><li class="menu-item menu-item-level-3" data-reactid="185"><a href="/zh-cn/docs/user/references/xml/dubbo-method.html" target="_self" data-reactid="186">dubbo:method</a></li><li class="menu-item menu-item-level-3" data-reactid="187"><a href="/zh-cn/docs/user/references/xml/dubbo-argument.html" target="_self" data-reactid="188">dubbo:argument</a></li><li class="menu-item menu-item-level-3" data-reactid="189"><a href="/zh-cn/docs/user/references/xml/dubbo-parameter.html" target="_self" data-reactid="190">dubbo:parameter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="191"><span data-reactid="192"><!-- react-text: 193 -->协议参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="194"/></span><ul data-reactid="195"><li class="menu-item menu-item-level-3" data-reactid="196"><a href="/zh-cn/docs/user/references/protocol/introduction.html" target="_self" data-reactid="197">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="198"><a href="/zh-cn/docs/user/references/protocol/dubbo.html" target="_self" data-reactid="199">dubbo://</a></li><li class="menu-item menu-item-level-3" data-reactid="200"><a href="/zh-cn/docs/user/references/protocol/rmi.html" target="_self" data-reactid="201">rmi://</a></li><li class="menu-item menu-item-level-3" data-reactid="202"><a href="/zh-cn/docs/user/references/protocol/hessian.html" target="_self" data-reactid="203">hessian://</a></li><li class="menu-item menu-item-level-3" data-reactid="204"><a href="/zh-cn/docs/user/references/protocol/http.html" target="_self" data-reactid="205">http://</a></li><li class="menu-item menu-item-level-3" data-reactid="206"><a href="/zh-cn/docs/user/references/protocol/webservice.html" target="_self" data-reactid="207">webservice://</a></li><li class="menu-item menu-item-level-3" data-reactid="208"><a href="/zh-cn/docs/user/references/protocol/thrift.html" target="_self" data-reactid="209">thrift://</a></li><li class="menu-item menu-item-level-3" data-reactid="210"><a href="/zh-cn/docs/user/references/protocol/memcached.html" target="_self" data-reactid="211">memcached://</a></li><li class="menu-item menu-item-level-3" data-reactid="212"><a href="/zh-cn/docs/user/references/protocol/redis.html" target="_self" data-reactid="213">redis://</a></li><li class="menu-item menu-item-level-3" data-reactid="214"><a href="/zh-cn/docs/user/references/protocol/rest.html" target="_self" data-reactid="215">rest://</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="216"><span data-reactid="217"><!-- react-text: 218 -->注册中心参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="219"/></span><ul data-reactid="220"><li class="menu-item menu-item-level-3" data-reactid="221"><a href="/zh-cn/docs/user/references/registry/introduction.html" target="_self" data-reactid="222">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="223"><a href="/zh-cn/docs/user/references/registry/multicast.html" target="_self" data-reactid="224">Multicast 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="225"><a href="/zh-cn/docs/user/references/registry/zookeeper.html" target="_self" data-reactid="226">Zookeeper 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="227"><a href="/zh-cn/docs/user/references/registry/redis.html" target="_self" data-reactid="228">Redis 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="229"><a href="/zh-cn/docs/user/references/registry/simple.html" target="_self" data-reactid="230">Simple 注册中心</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="231"><a href="/zh-cn/docs/user/references/telnet.html" target="_self" data-reactid="232">telnet命令参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="233"><a href="/zh-cn/docs/user/references/qos.html" target="_self" data-reactid="234">在线运维命令-QOS</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="235"><a href="/zh-cn/docs/user/references/maven.html" target="_self" data-reactid="236">maven插件参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="237"><a href="/zh-cn/docs/user/best-practice.html" target="_self" data-reactid="238">服务化最佳实践</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="239"><a href="/zh-cn/docs/user/recommend.html" target="_self" data-reactid="240">推荐用法</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="241"><a href="/zh-cn/docs/user/capacity-plan.html" target="_self" data-reactid="242">容量规划</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="243"><a href="/zh-cn/docs/user/perf-test.html" target="_self" data-reactid="244">性能测试报告</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="245"><a href="/zh-cn/docs/user/coveragence.html" target="_self" data-reactid="246">测试覆盖率报告</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="247"><span data-reactid="248">开发者指南</span><ul data-reactid="249"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="250"><a href="/zh-cn/docs/dev/build.html" target="_self" data-reactid="251">源码构建</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="252"><a href="/zh-cn/docs/dev/design.html" target="_self" data-reactid="253">框架设计</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="254"><a href="/zh-cn/docs/dev/SPI.html" target="_self" data-reactid="255">扩展点加载</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="256"><a href="/zh-cn/docs/dev/implementation.html" target="_self" data-reactid="257">实现细节</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="258"><span data-reactid="259"><!-- react-text: 260 -->SPI 扩展实现<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="261"/></span><ul data-reactid="262"><li class="menu-item menu-item-level-3" data-reactid="263"><a href="/zh-cn/docs/dev/impls/protocol.html" target="_self" data-reactid="264">协议扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="265"><a href="/zh-cn/docs/dev/impls/filter.html" target="_self" data-reactid="266">调用拦截扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="267"><a href="/zh-cn/docs/dev/impls/invoker-listener.html" target="_self" data-reactid="268">引用监听扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="269"><a href="/zh-cn/docs/dev/impls/exporter-listener.html" target="_self" data-reactid="270">暴露监听扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="271"><a href="/zh-cn/docs/dev/impls/cluster.html" target="_self" data-reactid="272">集群扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="273"><a href="/zh-cn/docs/dev/impls/router.html" target="_self" data-reactid="274">路由扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="275"><a href="/zh-cn/docs/dev/impls/load-balance.html" target="_self" data-reactid="276">负载均衡扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="277"><a href="/zh-cn/docs/dev/impls/merger.html" target="_self" data-reactid="278">合并结果扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="279"><a href="/zh-cn/docs/dev/impls/registry.html" target="_self" data-reactid="280">注册中心扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="281"><a href="/zh-cn/docs/dev/impls/monitor.html" target="_self" data-reactid="282">监控中心扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="283"><a href="/zh-cn/docs/dev/impls/extension-factory.html" target="_self" data-reactid="284">扩展点加载扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="285"><a href="/zh-cn/docs/dev/impls/proxy-factory.html" target="_self" data-reactid="286">动态代理扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="287"><a href="/zh-cn/docs/dev/impls/compiler.html" target="_self" data-reactid="288">编译器扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="289"><a href="/zh-cn/docs/dev/impls/dispatcher.html" target="_self" data-reactid="290">消息派发扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="291"><a href="/zh-cn/docs/dev/impls/threadpool.html" target="_self" data-reactid="292">线程池扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="293"><a href="/zh-cn/docs/dev/impls/serialize.html" target="_self" data-reactid="294">序列化扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="295"><a href="/zh-cn/docs/dev/impls/remoting.html" target="_self" data-reactid="296">网络传输扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="297"><a href="/zh-cn/docs/dev/impls/exchanger.html" target="_self" data-reactid="298">信息交换扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="299"><a href="/zh-cn/docs/dev/impls/networker.html" target="_self" data-reactid="300">组网扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="301"><a href="/zh-cn/docs/dev/impls/telnet-handler.html" target="_self" data-reactid="302">Telnet 命令扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="303"><a href="/zh-cn/docs/dev/impls/status-checker.html" target="_self" data-reactid="304">状态检查扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="305"><a href="/zh-cn/docs/dev/impls/container.html" target="_self" data-reactid="306">容器扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="307"><a href="/zh-cn/docs/dev/impls/page.html" target="_self" data-reactid="308">页面扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="309"><a href="/zh-cn/docs/dev/impls/cache.html" target="_self" data-reactid="310">缓存扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="311"><a href="/zh-cn/docs/dev/impls/validation.html" target="_self" data-reactid="312">验证扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="313"><a href="/zh-cn/docs/dev/impls/logger-adapter.html" target="_self" data-reactid="314">日志适配扩展</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="315"><a href="/zh-cn/docs/dev/contract.html" target="_self" data-reactid="316">公共契约</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="317"><a href="/zh-cn/docs/dev/coding.html" target="_self" data-reactid="318">编码约定</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="319"><span data-reactid="320"><!-- react-text: 321 -->设计原则<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="322"/></span><ul data-reactid="323"><li class="menu-item menu-item-level-3" data-reactid="324"><a href="/zh-cn/docs/dev/principals/code-detail.html" target="_self" data-reactid="325">魔鬼在细节</a></li><li class="menu-item menu-item-level-3" data-reactid="326"><a href="/zh-cn/docs/dev/principals/general-knowledge.html" target="_self" data-reactid="327">一些设计上的基本常识</a></li><li class="menu-item menu-item-level-3" data-reactid="328"><a href="/zh-cn/docs/dev/principals/expansibility.html" target="_self" data-reactid="329">谈谈扩充式扩展与增量式扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="330"><a href="/zh-cn/docs/dev/principals/configuration.html" target="_self" data-reactid="331">配置设计</a></li><li class="menu-item menu-item-level-3" data-reactid="332"><a href="/zh-cn/docs/dev/principals/robustness.html" target="_self" data-reactid="333">设计实现的健壮性</a></li><li class="menu-item menu-item-level-3" data-reactid="334"><a href="/zh-cn/docs/dev/principals/dummy.html" target="_self" data-reactid="335">防痴呆设计</a></li><li class="menu-item menu-item-level-3" data-reactid="336"><a href="/zh-cn/docs/dev/principals/extension.html" target="_self" data-reactid="337">扩展点重构</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="338"><a href="/zh-cn/docs/dev/release.html" target="_self" data-reactid="339">版本管理</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="340"><a href="/zh-cn/docs/dev/contribution.html" target="_self" data-reactid="341">贡献</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="342"><a href="/zh-cn/docs/dev/checklist.html" target="_self" data-reactid="343">检查列表</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="344"><a href="/zh-cn/docs/dev/code-smell.html" target="_self" data-reactid="345">坏味道</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="346"><a href="/zh-cn/docs/dev/TCK.html" target="_self" data-reactid="347">技术兼容性测试</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="348"><span data-reactid="349">运维管理</span><ul data-reactid="350"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="351"><span data-reactid="352"><!-- react-text: 353 -->安装手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="354"/></span><ul data-reactid="355"><li class="menu-item menu-item-level-3" data-reactid="356"><a href="/zh-cn/docs/admin/install/provider-demo.html" target="_self" data-reactid="357">示例提供者安装</a></li><li class="menu-item menu-item-level-3" data-reactid="358"><a href="/zh-cn/docs/admin/install/consumer-demo.html" target="_self" data-reactid="359">示例消费者安装</a></li><li class="menu-item menu-item-level-3" data-reactid="360"><a href="/zh-cn/docs/admin/install/zookeeper.html" target="_self" data-reactid="361">Zookeeper 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="362"><a href="/zh-cn/docs/admin/install/redis.html" target="_self" data-reactid="363">Redis 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="364"><a href="/zh-cn/docs/admin/install/simple-registry-center.html" target="_self" data-reactid="365">Simple 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="366"><a href="/zh-cn/docs/admin/install/simple-monitor-center.html" target="_self" data-reactid="367">Simple 监控中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="368"><a href="/zh-cn/docs/admin/install/admin-console.html" target="_self" data-reactid="369">管理控制台安装</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="370"><span data-reactid="371"><!-- react-text: 372 -->运维手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="373"/></span><ul data-reactid="374"><li class="menu-item menu-item-level-3" data-reactid="375"><a href="/zh-cn/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="376">管理控制台运维</a></li><li class="menu-item menu-item-level-3" data-reactid="377"><a href="/zh-cn/docs/admin/ops/pinpoint.html" target="_self" data-reactid="378">使用Pinpoint做分布式跟踪</a></li><li class="menu-item menu-item-level-3" data-reactid="379"><a href="/zh-cn/docs/admin/ops/skywalking.html" target="_self" data-reactid="380">使用Skywalking做分布式跟踪</a></li></ul></li></ul></li></ul></div><div class="doc-content markdown-body" data-reactid="381"><style>
+	<div id="root"><div class="documentation-page" data-reactroot="" data-reactid="1" data-react-checksum="-2115798643"><header class="header-container header-container-normal" data-reactid="2"><div class="header-body" data-reactid="3"><a href="/zh-cn/index.html" data-reactid="4"><img class="logo" src="/img/dubbo_colorful.png" data-reactid="5"/></a><span class="language-switch language-switch-normal" data-reactid="6">En</span><div class="header-menu" data-reactid="7"><img class="header-menu-toggle" src="/img/menu_gray.png" data-reactid="8"/><ul data-reactid="9"><li class="menu-item menu-item-normal" data-reactid="10"><a href="/zh-cn/index.html" data-reactid="11">首页</a></li><li class="menu-item menu-item-normal menu-item-normal-active" data-reactid="12"><a href="/zh-cn/docs/user/quick-start.html" data-reactid="13">文档</a></li><li class="menu-item menu-item-normal" data-reactid="14"><a href="/zh-cn/blog/index.html" data-reactid="15">博客</a></li><li class="menu-item menu-item-normal" data-reactid="16"><a href="/zh-cn/community/index.html" data-reactid="17">社区</a></li></ul></div></div></header><div class="bar" data-reactid="18"><div class="bar-body" data-reactid="19"><img src="/img/docs.png" class="front-img" data-reactid="20"/><span data-reactid="21">文档</span><img src="/img/docs.png" class="back-img" data-reactid="22"/></div></div><section class="content-section" data-reactid="23"><div class="sidemenu" data-reactid="24"><div class="sidemenu-toggle" data-reactid="25"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png" data-reactid="26"/></div><ul data-reactid="27"><li class="menu-item menu-item-level-1" data-reactid="28"><span data-reactid="29">用户文档</span><ul data-reactid="30"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="31"><span data-reactid="32"><!-- react-text: 33 -->入门<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="34"/></span><ul data-reactid="35"><li class="menu-item menu-item-level-3" data-reactid="36"><a href="/zh-cn/docs/user/preface/background.html" target="_self" data-reactid="37">背景</a></li><li class="menu-item menu-item-level-3" data-reactid="38"><a href="/zh-cn/docs/user/preface/requirements.html" target="_self" data-reactid="39">需求</a></li><li class="menu-item menu-item-level-3" data-reactid="40"><a href="/zh-cn/docs/user/preface/architecture.html" target="_self" data-reactid="41">架构</a></li><li class="menu-item menu-item-level-3" data-reactid="42"><a href="/zh-cn/docs/user/preface/usage.html" target="_self" data-reactid="43">用法</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="44"><a href="/zh-cn/docs/user/quick-start.html" target="_self" data-reactid="45">快速启动</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="46"><a href="/zh-cn/docs/user/dependencies.html" target="_self" data-reactid="47">依赖</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="48"><a href="/zh-cn/docs/user/maturity.html" target="_self" data-reactid="49">成熟度</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="50"><span data-reactid="51"><!-- react-text: 52 -->配置<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="53"/></span><ul data-reactid="54"><li class="menu-item menu-item-level-3" data-reactid="55"><a href="/zh-cn/docs/user/configuration/xml.html" target="_self" data-reactid="56">XML配置</a></li><li class="menu-item menu-item-level-3" data-reactid="57"><a href="/zh-cn/docs/user/configuration/properties.html" target="_self" data-reactid="58">属性配置</a></li><li class="menu-item menu-item-level-3" data-reactid="59"><a href="/zh-cn/docs/user/configuration/api.html" target="_self" data-reactid="60">API配置</a></li><li class="menu-item menu-item-level-3" data-reactid="61"><a href="/zh-cn/docs/user/configuration/annotation.html" target="_self" data-reactid="62">注解配置</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="63"><span data-reactid="64"><!-- react-text: 65 -->示例<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="66"/></span><ul data-reactid="67"><li class="menu-item menu-item-level-3" data-reactid="68"><a href="/zh-cn/docs/user/demos/preflight-check.html" target="_self" data-reactid="69">启动时检查</a></li><li class="menu-item menu-item-level-3" data-reactid="70"><a href="/zh-cn/docs/user/demos/fault-tolerent-strategy.html" target="_self" data-reactid="71">集群容错</a></li><li class="menu-item menu-item-level-3" data-reactid="72"><a href="/zh-cn/docs/user/demos/loadbalance.html" target="_self" data-reactid="73">负载均衡</a></li><li class="menu-item menu-item-level-3" data-reactid="74"><a href="/zh-cn/docs/user/demos/thread-model.html" target="_self" data-reactid="75">线程模型</a></li><li class="menu-item menu-item-level-3" data-reactid="76"><a href="/zh-cn/docs/user/demos/explicit-target.html" target="_self" data-reactid="77">直连提供者</a></li><li class="menu-item menu-item-level-3" data-reactid="78"><a href="/zh-cn/docs/user/demos/subscribe-only.html" target="_self" data-reactid="79">只订阅</a></li><li class="menu-item menu-item-level-3" data-reactid="80"><a href="/zh-cn/docs/user/demos/registry-only.html" target="_self" data-reactid="81">只注册</a></li><li class="menu-item menu-item-level-3" data-reactid="82"><a href="/zh-cn/docs/user/demos/static-service.html" target="_self" data-reactid="83">静态服务</a></li><li class="menu-item menu-item-level-3" data-reactid="84"><a href="/zh-cn/docs/user/demos/multi-protocols.html" target="_self" data-reactid="85">多协议</a></li><li class="menu-item menu-item-level-3" data-reactid="86"><a href="/zh-cn/docs/user/demos/multi-registry.html" target="_self" data-reactid="87">多注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="88"><a href="/zh-cn/docs/user/demos/service-group.html" target="_self" data-reactid="89">服务分组</a></li><li class="menu-item menu-item-level-3" data-reactid="90"><a href="/zh-cn/docs/user/demos/multi-versions.html" target="_self" data-reactid="91">多版本</a></li><li class="menu-item menu-item-level-3" data-reactid="92"><a href="/zh-cn/docs/user/demos/group-merger.html" target="_self" data-reactid="93">分组聚合</a></li><li class="menu-item menu-item-level-3" data-reactid="94"><a href="/zh-cn/docs/user/demos/parameter-validation.html" target="_self" data-reactid="95">参数验证</a></li><li class="menu-item menu-item-level-3" data-reactid="96"><a href="/zh-cn/docs/user/demos/result-cache.html" target="_self" data-reactid="97">结果缓存</a></li><li class="menu-item menu-item-level-3" data-reactid="98"><a href="/zh-cn/docs/user/demos/generic-reference.html" target="_self" data-reactid="99">泛化引用</a></li><li class="menu-item menu-item-level-3" data-reactid="100"><a href="/zh-cn/docs/user/demos/generic-service.html" target="_self" data-reactid="101">泛化实现</a></li><li class="menu-item menu-item-level-3" data-reactid="102"><a href="/zh-cn/docs/user/demos/echo-service.html" target="_self" data-reactid="103">回声测试</a></li><li class="menu-item menu-item-level-3" data-reactid="104"><a href="/zh-cn/docs/user/demos/context.html" target="_self" data-reactid="105">上下文信息</a></li><li class="menu-item menu-item-level-3" data-reactid="106"><a href="/zh-cn/docs/user/demos/attachment.html" target="_self" data-reactid="107">隐式参数</a></li><li class="menu-item menu-item-level-3" data-reactid="108"><a href="/zh-cn/docs/user/demos/async-call.html" target="_self" data-reactid="109">异步调用</a></li><li class="menu-item menu-item-level-3" data-reactid="110"><a href="/zh-cn/docs/user/demos/local-call.html" target="_self" data-reactid="111">本地调用</a></li><li class="menu-item menu-item-level-3" data-reactid="112"><a href="/zh-cn/docs/user/demos/callback-parameter.html" target="_self" data-reactid="113">参数回调</a></li><li class="menu-item menu-item-level-3" data-reactid="114"><a href="/zh-cn/docs/user/demos/events-notify.html" target="_self" data-reactid="115">事件通知</a></li><li class="menu-item menu-item-level-3" data-reactid="116"><a href="/zh-cn/docs/user/demos/local-stub.html" target="_self" data-reactid="117">本地存根</a></li><li class="menu-item menu-item-level-3" data-reactid="118"><a href="/zh-cn/docs/user/demos/local-mock.html" target="_self" data-reactid="119">本地伪装</a></li><li class="menu-item menu-item-level-3" data-reactid="120"><a href="/zh-cn/docs/user/demos/delay-publish.html" target="_self" data-reactid="121">延迟暴露</a></li><li class="menu-item menu-item-level-3" data-reactid="122"><a href="/zh-cn/docs/user/demos/concurrency-control.html" target="_self" data-reactid="123">并发控制</a></li><li class="menu-item menu-item-level-3" data-reactid="124"><a href="/zh-cn/docs/user/demos/config-connections.html" target="_self" data-reactid="125">连接控制</a></li><li class="menu-item menu-item-level-3" data-reactid="126"><a href="/zh-cn/docs/user/demos/lazy-connect.html" target="_self" data-reactid="127">延迟连接</a></li><li class="menu-item menu-item-level-3" data-reactid="128"><a href="/zh-cn/docs/user/demos/stickiness.html" target="_self" data-reactid="129">粘滞连接</a></li><li class="menu-item menu-item-level-3" data-reactid="130"><a href="/zh-cn/docs/user/demos/token-authorization.html" target="_self" data-reactid="131">令牌验证</a></li><li class="menu-item menu-item-level-3" data-reactid="132"><a href="/zh-cn/docs/user/demos/routing-rule.html" target="_self" data-reactid="133">路由规则</a></li><li class="menu-item menu-item-level-3" data-reactid="134"><a href="/zh-cn/docs/user/demos/config-rule.html" target="_self" data-reactid="135">配置规则</a></li><li class="menu-item menu-item-level-3" data-reactid="136"><a href="/zh-cn/docs/user/demos/service-downgrade.html" target="_self" data-reactid="137">服务降级</a></li><li class="menu-item menu-item-level-3" data-reactid="138"><a href="/zh-cn/docs/user/demos/graceful-shutdown.html" target="_self" data-reactid="139">优雅停机</a></li><li class="menu-item menu-item-level-3" data-reactid="140"><a href="/zh-cn/docs/user/demos/hostname-binding.html" target="_self" data-reactid="141">主机绑定</a></li><li class="menu-item menu-item-level-3" data-reactid="142"><a href="/zh-cn/docs/user/demos/logger-strategy.html" target="_self" data-reactid="143">日志适配</a></li><li class="menu-item menu-item-level-3" data-reactid="144"><a href="/zh-cn/docs/user/demos/accesslog.html" target="_self" data-reactid="145">访问日志</a></li><li class="menu-item menu-item-level-3" data-reactid="146"><a href="/zh-cn/docs/user/demos/service-container.html" target="_self" data-reactid="147">服务容器</a></li><li class="menu-item menu-item-level-3" data-reactid="148"><a href="/zh-cn/docs/user/demos/reference-config-cache.html" target="_self" data-reactid="149">Reference Config 缓存</a></li><li class="menu-item menu-item-level-3" data-reactid="150"><a href="/zh-cn/docs/user/demos/distributed-transaction.html" target="_self" data-reactid="151">分布式事务</a></li><li class="menu-item menu-item-level-3" data-reactid="152"><a href="/zh-cn/docs/user/demos/dump.html" target="_self" data-reactid="153">线程栈自动dump</a></li><li class="menu-item menu-item-level-3" data-reactid="154"><a href="/zh-cn/docs/user/demos/netty4.html" target="_self" data-reactid="155">Netty4</a></li><li class="menu-item menu-item-level-3" data-reactid="156"><a href="/zh-cn/docs/user/demos/serialization.html" target="_self" data-reactid="157">Kryo和FST序列化</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="158"><a href="/zh-cn/docs/user/references/api.html" target="_self" data-reactid="159">API配置参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="160"><span data-reactid="161"><!-- react-text: 162 -->schema配置参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="163"/></span><ul data-reactid="164"><li class="menu-item menu-item-level-3" data-reactid="165"><a href="/zh-cn/docs/user/references/xml/introduction.html" target="_self" data-reactid="166">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="167"><a href="/zh-cn/docs/user/references/xml/dubbo-service.html" target="_self" data-reactid="168">dubbo:service</a></li><li class="menu-item menu-item-level-3" data-reactid="169"><a href="/zh-cn/docs/user/references/xml/dubbo-reference.html" target="_self" data-reactid="170">dubbo:reference</a></li><li class="menu-item menu-item-level-3" data-reactid="171"><a href="/zh-cn/docs/user/references/xml/dubbo-protocol.html" target="_self" data-reactid="172">dubbo:protocol</a></li><li class="menu-item menu-item-level-3" data-reactid="173"><a href="/zh-cn/docs/user/references/xml/dubbo-registry.html" target="_self" data-reactid="174">dubbo:registry</a></li><li class="menu-item menu-item-level-3" data-reactid="175"><a href="/zh-cn/docs/user/references/xml/dubbo-monitor.html" target="_self" data-reactid="176">dubbo:monitor</a></li><li class="menu-item menu-item-level-3" data-reactid="177"><a href="/zh-cn/docs/user/references/xml/dubbo-application.html" target="_self" data-reactid="178">dubbo:application</a></li><li class="menu-item menu-item-level-3" data-reactid="179"><a href="/zh-cn/docs/user/references/xml/dubbo-module.html" target="_self" data-reactid="180">dubbo:module</a></li><li class="menu-item menu-item-level-3" data-reactid="181"><a href="/zh-cn/docs/user/references/xml/dubbo-provider.html" target="_self" data-reactid="182">dubbo:provider</a></li><li class="menu-item menu-item-level-3" data-reactid="183"><a href="/zh-cn/docs/user/references/xml/dubbo-consumer.html" target="_self" data-reactid="184">dubbo:consumer</a></li><li class="menu-item menu-item-level-3" data-reactid="185"><a href="/zh-cn/docs/user/references/xml/dubbo-method.html" target="_self" data-reactid="186">dubbo:method</a></li><li class="menu-item menu-item-level-3" data-reactid="187"><a href="/zh-cn/docs/user/references/xml/dubbo-argument.html" target="_self" data-reactid="188">dubbo:argument</a></li><li class="menu-item menu-item-level-3" data-reactid="189"><a href="/zh-cn/docs/user/references/xml/dubbo-parameter.html" target="_self" data-reactid="190">dubbo:parameter</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="191"><span data-reactid="192"><!-- react-text: 193 -->协议参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="194"/></span><ul data-reactid="195"><li class="menu-item menu-item-level-3" data-reactid="196"><a href="/zh-cn/docs/user/references/protocol/introduction.html" target="_self" data-reactid="197">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="198"><a href="/zh-cn/docs/user/references/protocol/dubbo.html" target="_self" data-reactid="199">dubbo://</a></li><li class="menu-item menu-item-level-3" data-reactid="200"><a href="/zh-cn/docs/user/references/protocol/rmi.html" target="_self" data-reactid="201">rmi://</a></li><li class="menu-item menu-item-level-3" data-reactid="202"><a href="/zh-cn/docs/user/references/protocol/hessian.html" target="_self" data-reactid="203">hessian://</a></li><li class="menu-item menu-item-level-3" data-reactid="204"><a href="/zh-cn/docs/user/references/protocol/http.html" target="_self" data-reactid="205">http://</a></li><li class="menu-item menu-item-level-3" data-reactid="206"><a href="/zh-cn/docs/user/references/protocol/webservice.html" target="_self" data-reactid="207">webservice://</a></li><li class="menu-item menu-item-level-3" data-reactid="208"><a href="/zh-cn/docs/user/references/protocol/thrift.html" target="_self" data-reactid="209">thrift://</a></li><li class="menu-item menu-item-level-3" data-reactid="210"><a href="/zh-cn/docs/user/references/protocol/memcached.html" target="_self" data-reactid="211">memcached://</a></li><li class="menu-item menu-item-level-3" data-reactid="212"><a href="/zh-cn/docs/user/references/protocol/redis.html" target="_self" data-reactid="213">redis://</a></li><li class="menu-item menu-item-level-3" data-reactid="214"><a href="/zh-cn/docs/user/references/protocol/rest.html" target="_self" data-reactid="215">rest://</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="216"><span data-reactid="217"><!-- react-text: 218 -->注册中心参考手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="219"/></span><ul data-reactid="220"><li class="menu-item menu-item-level-3" data-reactid="221"><a href="/zh-cn/docs/user/references/registry/introduction.html" target="_self" data-reactid="222">介绍</a></li><li class="menu-item menu-item-level-3" data-reactid="223"><a href="/zh-cn/docs/user/references/registry/multicast.html" target="_self" data-reactid="224">Multicast 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="225"><a href="/zh-cn/docs/user/references/registry/zookeeper.html" target="_self" data-reactid="226">Zookeeper 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="227"><a href="/zh-cn/docs/user/references/registry/redis.html" target="_self" data-reactid="228">Redis 注册中心</a></li><li class="menu-item menu-item-level-3" data-reactid="229"><a href="/zh-cn/docs/user/references/registry/simple.html" target="_self" data-reactid="230">Simple 注册中心</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="231"><a href="/zh-cn/docs/user/references/telnet.html" target="_self" data-reactid="232">telnet命令参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="233"><a href="/zh-cn/docs/user/references/qos.html" target="_self" data-reactid="234">在线运维命令-QOS</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="235"><a href="/zh-cn/docs/user/references/maven.html" target="_self" data-reactid="236">maven插件参考手册</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="237"><a href="/zh-cn/docs/user/best-practice.html" target="_self" data-reactid="238">服务化最佳实践</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="239"><a href="/zh-cn/docs/user/recommend.html" target="_self" data-reactid="240">推荐用法</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="241"><a href="/zh-cn/docs/user/capacity-plan.html" target="_self" data-reactid="242">容量规划</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="243"><a href="/zh-cn/docs/user/perf-test.html" target="_self" data-reactid="244">性能测试报告</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="245"><a href="/zh-cn/docs/user/coveragence.html" target="_self" data-reactid="246">测试覆盖率报告</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="247"><span data-reactid="248">开发者指南</span><ul data-reactid="249"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="250"><a href="/zh-cn/docs/dev/build.html" target="_self" data-reactid="251">源码构建</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="252"><a href="/zh-cn/docs/dev/design.html" target="_self" data-reactid="253">框架设计</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="254"><a href="/zh-cn/docs/dev/SPI.html" target="_self" data-reactid="255">扩展点加载</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="256"><a href="/zh-cn/docs/dev/implementation.html" target="_self" data-reactid="257">实现细节</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="258"><span data-reactid="259"><!-- react-text: 260 -->SPI 扩展实现<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="261"/></span><ul data-reactid="262"><li class="menu-item menu-item-level-3" data-reactid="263"><a href="/zh-cn/docs/dev/impls/protocol.html" target="_self" data-reactid="264">协议扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="265"><a href="/zh-cn/docs/dev/impls/filter.html" target="_self" data-reactid="266">调用拦截扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="267"><a href="/zh-cn/docs/dev/impls/invoker-listener.html" target="_self" data-reactid="268">引用监听扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="269"><a href="/zh-cn/docs/dev/impls/exporter-listener.html" target="_self" data-reactid="270">暴露监听扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="271"><a href="/zh-cn/docs/dev/impls/cluster.html" target="_self" data-reactid="272">集群扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="273"><a href="/zh-cn/docs/dev/impls/router.html" target="_self" data-reactid="274">路由扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="275"><a href="/zh-cn/docs/dev/impls/load-balance.html" target="_self" data-reactid="276">负载均衡扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="277"><a href="/zh-cn/docs/dev/impls/merger.html" target="_self" data-reactid="278">合并结果扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="279"><a href="/zh-cn/docs/dev/impls/registry.html" target="_self" data-reactid="280">注册中心扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="281"><a href="/zh-cn/docs/dev/impls/monitor.html" target="_self" data-reactid="282">监控中心扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="283"><a href="/zh-cn/docs/dev/impls/extension-factory.html" target="_self" data-reactid="284">扩展点加载扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="285"><a href="/zh-cn/docs/dev/impls/proxy-factory.html" target="_self" data-reactid="286">动态代理扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="287"><a href="/zh-cn/docs/dev/impls/compiler.html" target="_self" data-reactid="288">编译器扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="289"><a href="/zh-cn/docs/dev/impls/dispatcher.html" target="_self" data-reactid="290">消息派发扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="291"><a href="/zh-cn/docs/dev/impls/threadpool.html" target="_self" data-reactid="292">线程池扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="293"><a href="/zh-cn/docs/dev/impls/serialize.html" target="_self" data-reactid="294">序列化扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="295"><a href="/zh-cn/docs/dev/impls/remoting.html" target="_self" data-reactid="296">网络传输扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="297"><a href="/zh-cn/docs/dev/impls/exchanger.html" target="_self" data-reactid="298">信息交换扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="299"><a href="/zh-cn/docs/dev/impls/networker.html" target="_self" data-reactid="300">组网扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="301"><a href="/zh-cn/docs/dev/impls/telnet-handler.html" target="_self" data-reactid="302">Telnet 命令扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="303"><a href="/zh-cn/docs/dev/impls/status-checker.html" target="_self" data-reactid="304">状态检查扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="305"><a href="/zh-cn/docs/dev/impls/container.html" target="_self" data-reactid="306">容器扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="307"><a href="/zh-cn/docs/dev/impls/page.html" target="_self" data-reactid="308">页面扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="309"><a href="/zh-cn/docs/dev/impls/cache.html" target="_self" data-reactid="310">缓存扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="311"><a href="/zh-cn/docs/dev/impls/validation.html" target="_self" data-reactid="312">验证扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="313"><a href="/zh-cn/docs/dev/impls/logger-adapter.html" target="_self" data-reactid="314">日志适配扩展</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="315"><a href="/zh-cn/docs/dev/contract.html" target="_self" data-reactid="316">公共契约</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="317"><a href="/zh-cn/docs/dev/coding.html" target="_self" data-reactid="318">编码约定</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="319"><span data-reactid="320"><!-- react-text: 321 -->设计原则<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="322"/></span><ul data-reactid="323"><li class="menu-item menu-item-level-3" data-reactid="324"><a href="/zh-cn/docs/dev/principals/code-detail.html" target="_self" data-reactid="325">魔鬼在细节</a></li><li class="menu-item menu-item-level-3" data-reactid="326"><a href="/zh-cn/docs/dev/principals/general-knowledge.html" target="_self" data-reactid="327">一些设计上的基本常识</a></li><li class="menu-item menu-item-level-3" data-reactid="328"><a href="/zh-cn/docs/dev/principals/expansibility.html" target="_self" data-reactid="329">谈谈扩充式扩展与增量式扩展</a></li><li class="menu-item menu-item-level-3" data-reactid="330"><a href="/zh-cn/docs/dev/principals/configuration.html" target="_self" data-reactid="331">配置设计</a></li><li class="menu-item menu-item-level-3" data-reactid="332"><a href="/zh-cn/docs/dev/principals/robustness.html" target="_self" data-reactid="333">设计实现的健壮性</a></li><li class="menu-item menu-item-level-3" data-reactid="334"><a href="/zh-cn/docs/dev/principals/dummy.html" target="_self" data-reactid="335">防痴呆设计</a></li><li class="menu-item menu-item-level-3" data-reactid="336"><a href="/zh-cn/docs/dev/principals/extension.html" target="_self" data-reactid="337">扩展点重构</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="338"><a href="/zh-cn/docs/dev/release.html" target="_self" data-reactid="339">版本管理</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="340"><a href="/zh-cn/docs/dev/contribution.html" target="_self" data-reactid="341">贡献</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="342"><a href="/zh-cn/docs/dev/checklist.html" target="_self" data-reactid="343">检查列表</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="344"><a href="/zh-cn/docs/dev/code-smell.html" target="_self" data-reactid="345">坏味道</a></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="346"><a href="/zh-cn/docs/dev/TCK.html" target="_self" data-reactid="347">技术兼容性测试</a></li></ul></li><li class="menu-item menu-item-level-1" data-reactid="348"><span data-reactid="349">运维管理</span><ul data-reactid="350"><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="351"><span data-reactid="352"><!-- react-text: 353 -->安装手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="354"/></span><ul data-reactid="355"><li class="menu-item menu-item-level-3" data-reactid="356"><a href="/zh-cn/docs/admin/install/provider-demo.html" target="_self" data-reactid="357">示例提供者安装</a></li><li class="menu-item menu-item-level-3" data-reactid="358"><a href="/zh-cn/docs/admin/install/consumer-demo.html" target="_self" data-reactid="359">示例消费者安装</a></li><li class="menu-item menu-item-level-3" data-reactid="360"><a href="/zh-cn/docs/admin/install/zookeeper.html" target="_self" data-reactid="361">Zookeeper 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="362"><a href="/zh-cn/docs/admin/install/redis.html" target="_self" data-reactid="363">Redis 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="364"><a href="/zh-cn/docs/admin/install/simple-registry-center.html" target="_self" data-reactid="365">Simple 注册中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="366"><a href="/zh-cn/docs/admin/install/simple-monitor-center.html" target="_self" data-reactid="367">Simple 监控中心安装</a></li><li class="menu-item menu-item-level-3" data-reactid="368"><a href="/zh-cn/docs/admin/install/admin-console.html" target="_self" data-reactid="369">管理控制台安装</a></li></ul></li><li style="height:36px;overflow:hidden;" class="menu-item menu-item-level-2" data-reactid="370"><span data-reactid="371"><!-- react-text: 372 -->运维手册<!-- /react-text --><img style="transform:rotate(-90deg);" class="menu-toggle" src="/img/arrow_down.png" data-reactid="373"/></span><ul data-reactid="374"><li class="menu-item menu-item-level-3" data-reactid="375"><a href="/zh-cn/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="376">管理控制台运维</a></li><li class="menu-item menu-item-level-3" data-reactid="377"><a href="/zh-cn/docs/admin/ops/pinpoint.html" target="_self" data-reactid="378">使用Pinpoint做分布式跟踪</a></li><li class="menu-item menu-item-level-3" data-reactid="379"><a href="/zh-cn/docs/admin/ops/skywalking.html" target="_self" data-reactid="380">使用Skywalking做分布式跟踪</a></li></ul></li></ul></li></ul></div><div class="doc-content markdown-body" data-reactid="381"><style>
 table {
   width: 100%;
   max-width: 65em;
@@ -221,6 +221,16 @@ <h1>dubbo:registry</h1>
 <td>服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。</td>
 <td>2.0.5以上版本</td>
 </tr>
+<tr>
+<td>group</td>
+<td>group</td>
+<td>string</td>
+<td>可选</td>
+<td>dubbo</td>
+<td>服务治理</td>
+<td>服务注册分组,跨组的服务不会相互影响,也无法相互调用,适用于环境隔离。</td>
+<td>2.0.5以上版本</td>
+</tr>
 </tbody>
 </table>
 </div></section><footer class="footer-container" data-reactid="382"><div class="footer-body" data-reactid="383"><img src="/img/dubbo_gray.png" data-reactid="384"/><img class="apache" src="/img/apache_logo.png" data-reactid="385"/><div class="cols-container" data-reactid="386"><div class="col col-12" data-reactid="387"><h3 data-reactid="388">Disclaimer</h3><p data-reactid="389">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p></div><div class="col col-6" data-reactid="390"><dl data-reactid="391"><dt data-reactid="392">文档</dt><dd data-reactid="393"><a href="/zh-cn/docs/user/quick-start.html" target="_self" data-reactid="394">快速开始</a></dd><dd data-reactid="395"><a href="/zh-cn/docs/dev/build.html" target="_self" data-reactid="396">开发者指南</a></dd><dd data-reactid="397"><a href="/zh-cn/docs/admin/ops/dubbo-ops.html" target="_self" data-reactid="398">运维管理</a></dd></dl></div><div class="col col-6" data-reactid="399"><dl data-reactid="400"><dt data-reactid="401">资源</dt><dd data-reactid="402"><a href="/zh-cn/blog/index.html" target="_self" data-reactid="403">博客</a></dd><dd data-reactid="404"><a href="/zh-cn/community/index.html" target="_self" data-reactid="405">社区</a></dd></dl></div></div><div class="copyright" data-reactid="406"><span data-reactid="407">Copyright © 2018 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</span></div></div></footer></div></div>
diff --git a/zh-cn/docs/user/references/xml/dubbo-registry.json b/zh-cn/docs/user/references/xml/dubbo-registry.json
index 88ed2778..521c8043 100644
--- a/zh-cn/docs/user/references/xml/dubbo-registry.json
+++ b/zh-cn/docs/user/references/xml/dubbo-registry.json
@@ -1,4 +1,4 @@
 {
   "filename": "dubbo-registry.md",
-  "__html": "<style>\ntable {\n  width: 100%;\n  max-width: 65em;\n  border: 1px solid #dedede;\n  margin: 15px auto;\n  border-collapse: collapse;\n  empty-cells: show;\n}\ntable th,\ntable td {\n  height: 35px;\n  border: 1px solid #dedede;\n  padding: 0 10px;\n}\ntable th {\n  font-weight: bold;\n  text-align: center !important;\n  background: rgba(158,188,226,0.2);\n  white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n  background: rgba(158,188,226,0.12);\n}\ntable td:nth-child(1) {\n  white-space: nowrap;\n}\ntable tr:hover {\n  background: #efefef;\n}\n.table-area {\n  overflow: auto;\n}\n</style>\n<script type=\"text/javascript\">\n[].slice.call(document.querySelectorAll('table')).forEach(function(el){\n    var wrapper = document.createElement('div');\n    wrapper.className = 'table-area';\n    el.parentNode.insertBefore(wrapper, el);\n    el.parentNode.removeChild(el);\n    wrapper.appendChild(el);\n})\n</script>\n<h1>dubbo:registry</h1>\n<p>注册中心配置。对应的配置类: <code>com.alibaba.dubbo.config.RegistryConfig</code>。同时如果有多个不同的注册中心,可以声明多个 <code>&lt;dubbo:registry&gt;</code> 标签,并在 <code>&lt;dubbo:service&gt;</code> 或 <code>&lt;dubbo:reference&gt;</code> 的 <code>registry</code> 属性指定使用的注册中心。</p>\n<table>\n<thead>\n<tr>\n<th>属性</th>\n<th>对应URL参数</th>\n<th>类型</th>\n<th>是否必填</th>\n<th>缺省值</th>\n<th>作用</th>\n<th>描述</th>\n<th>兼容性</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td></td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>配置关联</td>\n<td>注册中心引用BeanId,可以在&lt;dubbo:service registry=&quot;&quot;&gt;或&lt;dubbo:reference registry=&quot;&quot;&gt;中引用此ID</td>\n<td>1.0.16以上版本</td>\n</tr>\n<tr>\n<td>address</td>\n<td>&lt;host:port&gt;</td>\n<td>string</td>\n<td><b>必填</b></td>\n<td></td>\n<td>服务发现</td>\n<td>注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个&lt;dubbo:registry&gt;标签</td>\n<td>1.0.16以上版本</td>\n</tr>\n<tr>\n<td>protocol</td>\n<td>&lt;protocol&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td>dubbo</td>\n<td>服务发现</td>\n<td>注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>port</td>\n<td>&lt;port&gt;</td>\n<td>int</td>\n<td>可选</td>\n<td>9090</td>\n<td>服务发现</td>\n<td>注册中心缺省端口,当address没有带端口时使用此端口做为缺省值</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>username</td>\n<td>&lt;username&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>登录注册中心用户名,如果注册中心不需要验证可不填</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>password</td>\n<td>&lt;password&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>登录注册中心密码,如果注册中心不需要验证可不填</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>transport</td>\n<td>registry.transporter</td>\n<td>string</td>\n<td>可选</td>\n<td>netty</td>\n<td>性能调优</td>\n<td>网络传输方式,可选mina,netty</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>timeout</td>\n<td>registry.timeout</td>\n<td>int</td>\n<td>可选</td>\n<td>5000</td>\n<td>性能调优</td>\n<td>注册中心请求超时时间(毫秒)</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>session</td>\n<td>registry.session</td>\n<td>int</td>\n<td>可选</td>\n<td>60000</td>\n<td>性能调优</td>\n<td>注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。</td>\n<td>2.1.0以上版本</td>\n</tr>\n<tr>\n<td>file</td>\n<td>registry.file</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>wait</td>\n<td>registry.wait</td>\n<td>int</td>\n<td>可选</td>\n<td>0</td>\n<td>性能调优</td>\n<td>停止时等待通知完成时间(毫秒)</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>check</td>\n<td>check</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>注册中心不存在时,是否报错</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>register</td>\n<td>register</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>是否向此注册中心注册服务,如果设为false,将只订阅,不注册</td>\n<td>2.0.5以上版本</td>\n</tr>\n<tr>\n<td>subscribe</td>\n<td>subscribe</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>是否向此注册中心订阅服务,如果设为false,将只注册,不订阅</td>\n<td>2.0.5以上版本</td>\n</tr>\n<tr>\n<td>dynamic</td>\n<td>dynamic</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。</td>\n<td>2.0.5以上版本</td>\n</tr>\n</tbody>\n</table>\n"
+  "__html": "<style>\ntable {\n  width: 100%;\n  max-width: 65em;\n  border: 1px solid #dedede;\n  margin: 15px auto;\n  border-collapse: collapse;\n  empty-cells: show;\n}\ntable th,\ntable td {\n  height: 35px;\n  border: 1px solid #dedede;\n  padding: 0 10px;\n}\ntable th {\n  font-weight: bold;\n  text-align: center !important;\n  background: rgba(158,188,226,0.2);\n  white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n  background: rgba(158,188,226,0.12);\n}\ntable td:nth-child(1) {\n  white-space: nowrap;\n}\ntable tr:hover {\n  background: #efefef;\n}\n.table-area {\n  overflow: auto;\n}\n</style>\n<script type=\"text/javascript\">\n[].slice.call(document.querySelectorAll('table')).forEach(function(el){\n    var wrapper = document.createElement('div');\n    wrapper.className = 'table-area';\n    el.parentNode.insertBefore(wrapper, el);\n    el.parentNode.removeChild(el);\n    wrapper.appendChild(el);\n})\n</script>\n<h1>dubbo:registry</h1>\n<p>注册中心配置。对应的配置类: <code>com.alibaba.dubbo.config.RegistryConfig</code>。同时如果有多个不同的注册中心,可以声明多个 <code>&lt;dubbo:registry&gt;</code> 标签,并在 <code>&lt;dubbo:service&gt;</code> 或 <code>&lt;dubbo:reference&gt;</code> 的 <code>registry</code> 属性指定使用的注册中心。</p>\n<table>\n<thead>\n<tr>\n<th>属性</th>\n<th>对应URL参数</th>\n<th>类型</th>\n<th>是否必填</th>\n<th>缺省值</th>\n<th>作用</th>\n<th>描述</th>\n<th>兼容性</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td></td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>配置关联</td>\n<td>注册中心引用BeanId,可以在&lt;dubbo:service registry=&quot;&quot;&gt;或&lt;dubbo:reference registry=&quot;&quot;&gt;中引用此ID</td>\n<td>1.0.16以上版本</td>\n</tr>\n<tr>\n<td>address</td>\n<td>&lt;host:port&gt;</td>\n<td>string</td>\n<td><b>必填</b></td>\n<td></td>\n<td>服务发现</td>\n<td>注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个&lt;dubbo:registry&gt;标签</td>\n<td>1.0.16以上版本</td>\n</tr>\n<tr>\n<td>protocol</td>\n<td>&lt;protocol&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td>dubbo</td>\n<td>服务发现</td>\n<td>注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>port</td>\n<td>&lt;port&gt;</td>\n<td>int</td>\n<td>可选</td>\n<td>9090</td>\n<td>服务发现</td>\n<td>注册中心缺省端口,当address没有带端口时使用此端口做为缺省值</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>username</td>\n<td>&lt;username&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>登录注册中心用户名,如果注册中心不需要验证可不填</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>password</td>\n<td>&lt;password&gt;</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>登录注册中心密码,如果注册中心不需要验证可不填</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>transport</td>\n<td>registry.transporter</td>\n<td>string</td>\n<td>可选</td>\n<td>netty</td>\n<td>性能调优</td>\n<td>网络传输方式,可选mina,netty</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>timeout</td>\n<td>registry.timeout</td>\n<td>int</td>\n<td>可选</td>\n<td>5000</td>\n<td>性能调优</td>\n<td>注册中心请求超时时间(毫秒)</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>session</td>\n<td>registry.session</td>\n<td>int</td>\n<td>可选</td>\n<td>60000</td>\n<td>性能调优</td>\n<td>注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。</td>\n<td>2.1.0以上版本</td>\n</tr>\n<tr>\n<td>file</td>\n<td>registry.file</td>\n<td>string</td>\n<td>可选</td>\n<td></td>\n<td>服务治理</td>\n<td>使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>wait</td>\n<td>registry.wait</td>\n<td>int</td>\n<td>可选</td>\n<td>0</td>\n<td>性能调优</td>\n<td>停止时等待通知完成时间(毫秒)</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>check</td>\n<td>check</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>注册中心不存在时,是否报错</td>\n<td>2.0.0以上版本</td>\n</tr>\n<tr>\n<td>register</td>\n<td>register</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>是否向此注册中心注册服务,如果设为false,将只订阅,不注册</td>\n<td>2.0.5以上版本</td>\n</tr>\n<tr>\n<td>subscribe</td>\n<td>subscribe</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>是否向此注册中心订阅服务,如果设为false,将只注册,不订阅</td>\n<td>2.0.5以上版本</td>\n</tr>\n<tr>\n<td>dynamic</td>\n<td>dynamic</td>\n<td>boolean</td>\n<td>可选</td>\n<td>true</td>\n<td>服务治理</td>\n<td>服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。</td>\n<td>2.0.5以上版本</td>\n</tr>\n<tr>\n<td>group</td>\n<td>group</td>\n<td>string</td>\n<td>可选</td>\n<td>dubbo</td>\n<td>服务治理</td>\n<td>服务注册分组,跨组的服务不会相互影响,也无法相互调用,适用于环境隔离。</td>\n<td>2.0.5以上版本</td>\n</tr>\n</tbody>\n</table>\n"
 }
\ No newline at end of file


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org