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

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


The following commit(s) were added to refs/heads/cn-site by this push:
     new 4ae5fa9d83 deploy: 6078e8435b5a2de4aa80dac6b7961ecc366f0cf9
4ae5fa9d83 is described below

commit 4ae5fa9d83b513b3210c37b80723d142241421bf
Author: AlbumenJ <[email protected]>
AuthorDate: Wed Jun 28 12:17:50 2023 +0000

    deploy: 6078e8435b5a2de4aa80dac6b7961ecc366f0cf9
---
 sitemap.xml                                        |  2 +-
 zh-cn/docs/index.xml                               |  2 +-
 .../reference-manual/metadata-center/index.xml     | 44 +++++++---------------
 .../metadata-center/overview/index.html            | 20 +++++-----
 .../java-sdk/reference-manual/protocol/index.xml   | 28 ++++++++------
 .../reference-manual/protocol/memcached/index.html |  6 +--
 .../reference-manual/protocol/redis/index.html     |  8 ++--
 .../protocol/webservice/index.html                 |  6 +--
 .../java-sdk/reference-manual/spi/index.xml        |  2 +-
 .../reference-manual/spi/overview/index.html       |  8 ++--
 zh-cn/sitemap.xml                                  |  2 +-
 11 files changed, 58 insertions(+), 70 deletions(-)

diff --git a/sitemap.xml b/sitemap.xml
index 0c81e7e76e..74230255c1 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-06-28T20:11:32+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-05-10T11:59:30+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-06-28T20:12:39+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-05-10T11:59:30+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/docs/index.xml b/zh-cn/docs/index.xml
index 7ee7338ee7..7c5001e356 100644
--- a/zh-cn/docs/index.xml
+++ b/zh-cn/docs/index.xml
@@ -650,7 +650,7 @@ Consumer应用引入服务Mock依赖,添加JVM启动参数-Denable.dubbo.admin
 &lt;p>Dubbo 的扩展能力非常灵活,在自身功能的实现上无处不在。&lt;/p>
 &lt;p>&lt;img 
src="https://cn.dubbo.apache.org/imgs/v3/concepts/extension-use.png"; 
alt="//imgs/v3/concepts/extension-use.png">&lt;/p>
 &lt;p>Dubbo 扩展能力使得 Dubbo 项目很方便的切分成一个一个的子模块,实现热插拔特性。用户完全可以基于自身需求,替换 Dubbo 
原生实现,来满足自身业务需求。&lt;/p>
-&lt;h2 id="使用场景">使用场景&lt;/h2>
+&lt;h2 id="dubbo-扩展的使用场景">Dubbo 扩展的使用场景&lt;/h2>
 &lt;ul>
 &lt;li>如果你需要自定义负载均衡策略,你可以使用 Dubbo 扩展能力。&lt;/li>
 &lt;li>如果你需要实现自定义的注册中心,你可以使用 Dubbo 扩展能力。&lt;/li>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/index.xml 
b/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/index.xml
index 93b2b5bf35..4669c39147 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/index.xml
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/index.xml
@@ -1,20 +1,9 @@
 <rss version="2.0" 
xmlns:atom="http://www.w3.org/2005/Atom";><channel><title>Apache Dubbo – 
元数据中心</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/</link><description>Recent
 content in 元数据中心 on Apache Dubbo</description><generator>Hugo -- 
gohugo.io</generator><language>zh-cn</language><atom:link 
href="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/index.xml";
 rel="self" type="application/ [...]
-&lt;p>元数据中心为 Dubbo 中的两类元数据提供了存取能力:&lt;/p>
+&lt;p>元数据中心为 Dubbo 中的两类元数据提供了存取能力&lt;/p>
 &lt;ul>
-&lt;li>1 地址发现元数据
-&lt;ul>
-&lt;li>1.1 &amp;lsquo;接口-应用&amp;rsquo; 映射关系&lt;/li>
-&lt;li>1.2 接口配置数据&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;li>2 服务运维元数据
-&lt;ul>
-&lt;li>2.1 接口定义描述数据&lt;/li>
-&lt;li>2.2 消费者订阅关系数据&lt;/li>
+&lt;li>1 地址发现元数据&lt;/li>
+&lt;li>2 服务运维元数据&lt;/li>
 &lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;p>关于如何配置开启元数据中心请参考具体实现文档。&lt;/p>
 &lt;h2 id="1-地址发现元数据">1 地址发现元数据&lt;/h2>
 &lt;p>Dubbo3 中引入了 &lt;a 
href="https://cn.dubbo.apache.org/zh-cn/overview/core-features/service-discovery/#%E9%9D%A2%E5%90%91%E7%99%BE%E4%B8%87%E5%AE%9E%E4%BE%8B%E9%9B%86%E7%BE%A4%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E6%9C%BA%E5%88%B6";>应用级服务发现机制&lt;/a>
 用来解决异构微服务体系互通与大规模集群实践的性能问题,应用级服务发现将全面取代 2.x 时代的接口级服务发现。
 同时为了保持 Dubbo 面向服务/接口的易用性、服务治理的灵活性,Dubbo 围绕应用级服务发现构建了一套元数据机制,即 &lt;code>接口 - 
应用映射关系&lt;/code> 与 &lt;code>接口配置元数据&lt;/code>。&lt;/p>
@@ -27,15 +16,13 @@
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-shell" data-lang="shell">&lt;span 
style="display:flex;">&lt;span>$ ./zkCli.sh
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ get 
/dubbo/mapping/org.apache.dubbo.demo.DemoService
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ 
demo-provider,two-demo-provider,dubbo-demo-annotation-provider
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ol>
-&lt;li>节点路径是 &lt;code>/dubbo/mapping/{interface name}&lt;/code>&lt;/li>
-&lt;li>多个应用名通过英文逗号 &lt;code>,&lt;/code> 隔开&lt;/li>
-&lt;/ol>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;em>① 节点路径是 
&lt;code>/dubbo/mapping/{interface name}&lt;/code>&lt;/em>&lt;/p>
+&lt;p>&lt;em>② 多个应用名通过英文逗号 &lt;code>,&lt;/code> 隔开&lt;/em>&lt;/p>
 &lt;h3 id="12-接口配置元数据">1.2 接口配置元数据&lt;/h3>
 &lt;p>&lt;code>接口级配置元数据&lt;/code>是作为地址发现的补充,相比于 Spring Cloud 等地址发现模型只能同步 
ip、port 信息,Dubbo 的服务发现机制可以同步接口列表、接口定义、接口级参数配置等信息。
 这部分内容根据当前应用的自身信息、以及接口信息计算而来,并且从性能角度出发,还根据元数据生成 
revision,以实现不同机器实例间的元数据聚合。&lt;/p>
 &lt;p>以 Zookeeper 为例,接口配置元数据保存在以下位置,如果多个实例生成的 revision 
相同,则最终会共享同一份元数据配置:&lt;/p>
-&lt;p>/dubbo/metadata/{application name}/{revision}&lt;/p>
+&lt;p>&lt;code>/dubbo/metadata/{application name}/{revision}&lt;/code>&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-shell" data-lang="shell">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#719e07">[&lt;/span>zk: 
localhost:2181&lt;span style="color:#719e07">(&lt;/span>CONNECTED&lt;span 
style="color:#719e07">)&lt;/span> 33&lt;span style="color:#719e07">]&lt;/span> 
get /dubbo/metadata/demo-provider/da3be833baa2088c5f6776fb7ab1a436
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div 
class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-json" data-lang="json">&lt;span 
style="display:flex;">&lt;span>{
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;#34;app&amp;#34;&lt;/span>:&lt;span 
style="color:#2aa198">&amp;#34;demo-provider&amp;#34;&lt;/span>,
@@ -95,7 +82,8 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="2-服务运维元数据">2 
服务运维元数据&lt;/h2>
-&lt;p>Dubbo 
上报的服务运维元数据通常为各种运维系统所用,如服务测试、网关数据映射、服务静态依赖关系分析等。各种第三方系统可直接读取并使用这部分数据,具体对接方式可参见本章提及的几个第三方系统。&lt;/p>
+&lt;p>Dubbo 上报的服务运维元数据通常为各种运维系统所用,如服务测试、网关数据映射、服务静态依赖关系分析等。&lt;/p>
+&lt;p>各种第三方系统可直接读取并使用这部分数据,具体对接方式可参见本章提及的几个第三方系统。&lt;/p>
 &lt;h3 id="21-provider-上报的元数据">2.1 Provider 上报的元数据&lt;/h3>
 &lt;p>provider端存储的元数据内容如下:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-json" data-lang="json">&lt;span 
style="display:flex;">&lt;span>{
@@ -138,11 +126,8 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;#34;type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;char&amp;#34;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }]
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>主要有两部分:&lt;/p>
-&lt;ul>
-&lt;li>&lt;code>parameters&lt;/code> 为服务配置与参数详情。&lt;/li>
-&lt;li>&lt;code>types&lt;/code> 为服务定义信息。&lt;/li>
-&lt;/ul>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;em>① 
&lt;code>parameters&lt;/code> 为服务配置与参数详情。&lt;/em>&lt;/p>
+&lt;p>&lt;em>② &lt;code>types&lt;/code> 为服务定义信息。&lt;/em>&lt;/p>
 &lt;h5 id="consumer-上报的元数据">Consumer 上报的元数据:&lt;/h5>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-json" data-lang="json">&lt;span 
style="display:flex;">&lt;span>{
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;#34;valid&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;true&amp;#34;&lt;/span>,
@@ -156,15 +141,15 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;#34;revision&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;1.1.1&amp;#34;&lt;/span>,
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;#34;group&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;d-test&amp;#34;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Consumer 
进程订阅时使用的配置元数据。&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;em>Consumer 
进程订阅时使用的配置元数据。&lt;/em>&lt;/p>
 &lt;h2 id="3-元数据上报工作机制">3 元数据上报工作机制&lt;/h2>
 &lt;p>元数据上报默认是一个异步的过程,为了更好的控制异步行为,元数据配置组件 (metadata-report) 开放了两个配置项:&lt;/p>
 &lt;ul>
 &lt;li>失败重试&lt;/li>
-&lt;li>每天定时重刷&lt;/li>
+&lt;li>每天定时重试刷新&lt;/li>
 &lt;/ul>
 &lt;h3 id="31-retrytimes-失败重试">3.1 retrytimes 失败重试&lt;/h3>
-&lt;p>失败重试可以通过 retrytimes (重试次数,默认100),retryperiod(重试周期,默认3000ms)进行设置。&lt;/p>
+&lt;p>失败重试可以通过 retrytimes (重试次数。默认 100),retryperiod(重试周期。默认 3000ms)进行设置。&lt;/p>
 &lt;h3 id="32-定时刷新">3.2 定时刷新&lt;/h3>
 &lt;p>默认开启,可以通过设置 cycleReport=false 进行关闭。&lt;/p>
 &lt;h3 id="33-完整的配置项">3.3 完整的配置项&lt;/h3>
@@ -178,8 +163,7 @@
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
 
&lt;p>如果元数据地址(dubbo.metadata-report.address)也不进行配置,会判断注册中心的协议是否支持元数据中心,如果支持,会使用注册中心的地址来用作元数据中心。&lt;/p>
 &lt;/blockquote>
-&lt;h2 id="4-了解如何扩展">4 了解如何扩展&lt;/h2>
-&lt;p>请参见 &lt;a href="../../spi/description/metadata-report/">扩展 
metadata-report&lt;/a> 
了解如何扩展自定义第三方实现。&lt;/p></description></item><item><title>Overview: 
Nacos</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/nacos/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/nacos/</guid><description>
+&lt;p>请参见 &lt;a 
href="../../spi/description/metadata-report/">metadata-report&lt;/a> 
了解如何扩展自定义第三方实现。&lt;/p></description></item><item><title>Overview: 
Nacos</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/nacos/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/nacos/</guid><description>
 &lt;h2 id="1-预备工作">1 预备工作&lt;/h2>
 &lt;ul>
 &lt;li>了解 &lt;a 
href="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/quick-start/spring-boot/";>Dubbo
 基本开发步骤&lt;/a>&lt;/li>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/index.html
 
b/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/index.html
index c7659ff74a..c242f193b2 100644
--- 
a/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/index.html
+++ 
b/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewpo [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewpo [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="元数据中心概述"><meta 
property="og:description" content="元数据中心概述"><meta name=twitter:description 
content="元数据中心概述"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview/";><meta
 property="og:title" content="元数据中心概述"><meta na [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,14 +670,14 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
 同时为了保持 Dubbo 面向服务/接口的易用性、服务治理的灵活性,Dubbo 围绕应用级服务发现构建了一套元数据机制,即 <code>接口 - 
应用映射关系</code> 与 <code>接口配置元数据</code>。</p><h3 id=11-接口---应用映射关系>1.1 接口 - 
应用映射关系</h3><p>Dubbo 一直以来都能做到精确的地址发现,即只订阅 Consumer 
声明要关心的服务及相关的地址列表,相比于拉取/订阅全量地址列表,这样做有很好的性能优势。
 在应用级服务发现模型中,想做到精确地址订阅并不容易,因为 Dubbo Consumer 只声明了要消费的接口列表,Consumer 需要能够将接口转换为 
Provider 应用名才能进行精准服务订阅,</p><p>为此,Dubbo 需要在元数据中心维护这一份 <code>接口名->应用名</code> 
的对应关系,Dubbo3 中通过 provider 启动的时候主动向元数据中心上报实现。
 接口 (service name) - 应用 (Provider application name) 的映射关系可以是一对多的,即一个 service 
name 可能会对应多个不同的 application name。</p><p>以 zookeeper 为例,映射关系保存在以下位置:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-shell data-lang=shell><span style=display:flex><span>$ 
./zkCli.sh
 </span></span><span style=display:flex><span>$ get 
/dubbo/mapping/org.apache.dubbo.demo.DemoService
 </span></span><span style=display:flex><span>$ 
demo-provider,two-demo-provider,dubbo-demo-annotation-provider
-</span></span></code></pre></div><ol><li>节点路径是 <code>/dubbo/mapping/{interface 
name}</code></li><li>多个应用名通过英文逗号 <code>,</code> 隔开</li></ol><h3 
id=12-接口配置元数据>1.2 接口配置元数据</h3><p><code>接口级配置元数据</code>是作为地址发现的补充,相比于 Spring 
Cloud 等地址发现模型只能同步 ip、port 信息,Dubbo 的服务发现机制可以同步接口列表、接口定义、接口级参数配置等信息。
-这部分内容根据当前应用的自身信息、以及接口信息计算而来,并且从性能角度出发,还根据元数据生成 
revision,以实现不同机器实例间的元数据聚合。</p><p>以 Zookeeper 为例,接口配置元数据保存在以下位置,如果多个实例生成的 
revision 相同,则最终会共享同一份元数据配置:</p><p>/dubbo/metadata/{application 
name}/{revision}</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-shell data-lang=shell><span style=display:flex><span><span 
style=color:#719e07>[</span>zk: localhost:2181<span 
style=color:#719e07>(</span>CONNEC [...]
+</span></span></code></pre></div><p><em>① 节点路径是 
<code>/dubbo/mapping/{interface name}</code></em></p><p><em>② 多个应用名通过英文逗号 
<code>,</code> 隔开</em></p><h3 id=12-接口配置元数据>1.2 
接口配置元数据</h3><p><code>接口级配置元数据</code>是作为地址发现的补充,相比于 Spring Cloud 等地址发现模型只能同步 
ip、port 信息,Dubbo 的服务发现机制可以同步接口列表、接口定义、接口级参数配置等信息。
+这部分内容根据当前应用的自身信息、以及接口信息计算而来,并且从性能角度出发,还根据元数据生成 
revision,以实现不同机器实例间的元数据聚合。</p><p>以 Zookeeper 为例,接口配置元数据保存在以下位置,如果多个实例生成的 
revision 相同,则最终会共享同一份元数据配置:</p><p><code>/dubbo/metadata/{application 
name}/{revision}</code></p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-shell data-lang=shell><span style=display:flex><span><span 
style=color:#719e07>[</span>zk: localhost:2181<span style=color:#719e07>( [...]
 </span></span></code></pre></div><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-json data-lang=json><span style=display:flex><span>{
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&#34;app&#34;</span>:<span 
style=color:#2aa198>&#34;demo-provider&#34;</span>,
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&#34;revision&#34;</span>:<span 
style=color:#2aa198>&#34;da3be833baa2088c5f6776fb7ab1a436&#34;</span>,
@@ -735,7 +735,7 @@
 </span></span><span style=display:flex><span>        }
 </span></span><span style=display:flex><span>    }
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h2 id=2-服务运维元数据>2 服务运维元数据</h2><p>Dubbo 
上报的服务运维元数据通常为各种运维系统所用,如服务测试、网关数据映射、服务静态依赖关系分析等。各种第三方系统可直接读取并使用这部分数据,具体对接方式可参见本章提及的几个第三方系统。</p><h3
 id=21-provider-上报的元数据>2.1 Provider 上报的元数据</h3><p>provider端存储的元数据内容如下:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-json data-lang=json><span style=display:flex><span>{
+</span></span></code></pre></div><h2 id=2-服务运维元数据>2 服务运维元数据</h2><p>Dubbo 
上报的服务运维元数据通常为各种运维系统所用,如服务测试、网关数据映射、服务静态依赖关系分析等。</p><p>各种第三方系统可直接读取并使用这部分数据,具体对接方式可参见本章提及的几个第三方系统。</p><h3
 id=21-provider-上报的元数据>2.1 Provider 上报的元数据</h3><p>provider端存储的元数据内容如下:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-json data-lang=json><span style=display:flex><span>{
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;parameters&#34;</span>: {
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>&#34;side&#34;</span>: <span 
style=color:#2aa198>&#34;provider&#34;</span>,
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>&#34;methods&#34;</span>: <span 
style=color:#2aa198>&#34;sayHello&#34;</span>,
@@ -775,7 +775,7 @@
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>&#34;type&#34;</span>: <span 
style=color:#2aa198>&#34;char&#34;</span>
 </span></span><span style=display:flex><span> }]
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>主要有两部分:</p><ul><li><code>parameters</code> 
为服务配置与参数详情。</li><li><code>types</code> 为服务定义信息。</li></ul><h5 
id=consumer-上报的元数据>Consumer 上报的元数据:</h5><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-json data-lang=json><span style=display:flex><span>{
+</span></span></code></pre></div><p><em>① <code>parameters</code> 
为服务配置与参数详情。</em></p><p><em>② <code>types</code> 为服务定义信息。</em></p><h5 
id=consumer-上报的元数据>Consumer 上报的元数据:</h5><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-json data-lang=json><span style=display:flex><span>{
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;valid&#34;</span>: <span 
style=color:#2aa198>&#34;true&#34;</span>,
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;side&#34;</span>: <span 
style=color:#2aa198>&#34;consumer&#34;</span>,
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;application&#34;</span>: <span 
style=color:#2aa198>&#34;metadatareport-configcenter-consumer&#34;</span>,
@@ -787,18 +787,18 @@
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;revision&#34;</span>: <span 
style=color:#2aa198>&#34;1.1.1&#34;</span>,
 </span></span><span style=display:flex><span> <span 
style=color:#268bd2>&#34;group&#34;</span>: <span 
style=color:#2aa198>&#34;d-test&#34;</span>
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>Consumer 进程订阅时使用的配置元数据。</p><h2 
id=3-元数据上报工作机制>3 元数据上报工作机制</h2><p>元数据上报默认是一个异步的过程,为了更好的控制异步行为,元数据配置组件 
(metadata-report) 开放了两个配置项:</p><ul><li>失败重试</li><li>每天定时重刷</li></ul><h3 
id=31-retrytimes-失败重试>3.1 retrytimes 失败重试</h3><p>失败重试可以通过 retrytimes 
(重试次数,默认100),retryperiod(重试周期,默认3000ms)进行设置。</p><h3 id=32-定时刷新>3.2 
定时刷新</h3><p>默认开启,可以通过设置 cycleReport=false 进行关闭。</p><h3 id=33-完整的配置项>3.3 
完整的配置项</h3><div class=highlight><pre tabindex=0 style=color:#93a1a1;backgro 
[...]
+</span></span></code></pre></div><p><em>Consumer 进程订阅时使用的配置元数据。</em></p><h2 
id=3-元数据上报工作机制>3 元数据上报工作机制</h2><p>元数据上报默认是一个异步的过程,为了更好的控制异步行为,元数据配置组件 
(metadata-report) 开放了两个配置项:</p><ul><li>失败重试</li><li>每天定时重试刷新</li></ul><h3 
id=31-retrytimes-失败重试>3.1 retrytimes 失败重试</h3><p>失败重试可以通过 retrytimes (重试次数。默认 
100),retryperiod(重试周期。默认 3000ms)进行设置。</p><h3 id=32-定时刷新>3.2 
定时刷新</h3><p>默认开启,可以通过设置 cycleReport=false 进行关闭。</p><h3 id=33-完整的配置项>3.3 
完整的配置项</h3><div class=highlight><pre tabindex=0 style=color:#9 [...]
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.username<span 
style=color:#719e07>=</span><span style=color:#2aa198>xxx         ##非必须</span>
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.password<span 
style=color:#719e07>=</span><span style=color:#2aa198>xxx         ##非必须</span>
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.retry-times<span 
style=color:#719e07>=</span><span style=color:#2aa198>30       
##非必须,default值100</span>
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.retry-period<span 
style=color:#719e07>=</span><span style=color:#2aa198>5000    
##非必须,default值3000</span>
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.cycle-report<span 
style=color:#719e07>=</span><span style=color:#2aa198>false   
##非必须,default值true</span>
 </span></span><span 
style=display:flex><span>dubbo.metadata-report.sync.report<span 
style=color:#719e07>=</span><span style=color:#2aa198>false    
##非必须,default值为false</span>
-</span></span></code></pre></div><blockquote><p>如果元数据地址(dubbo.metadata-report.address)也不进行配置,会判断注册中心的协议是否支持元数据中心,如果支持,会使用注册中心的地址来用作元数据中心。</p></blockquote><h2
 id=4-了解如何扩展>4 了解如何扩展</h2><p>请参见 <a 
href=../../spi/description/metadata-report/>扩展 metadata-report</a> 
了解如何扩展自定义第三方实现。</p><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><blockquote><p>如果元数据地址(dubbo.metadata-report.address)也不进行配置,会判断注册中心的协议是否支持元数据中心,如果支持,会使用注册中心的地址来用作元数据中心。</p></blockquote><p>请参见
 <a href=../../spi/description/metadata-report/>metadata-report</a> 
了解如何扩展自定义第三方实现。</p><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/overview.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.m
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e5%85%83%e6%95%b0%e6%8d%ae%e4%b8%ad%e5%bf%83%e6%a6%82%e8%bf%b0";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1-地址发现元数据>1 地址发现元数据</a><ul><li><a href=#11-接口---应用映射关系>1.1 接口 - 
应用映射关系</a></li><li><a href=#12-接口配置元数据>1.2 接口配置元数据</a></li></ul></li><li><a 
href=#2-服务运维元数据>2 服务运维元数据</a><ul><li><a href=#21-provider-上报的元数据>2.1 Provider 
上报的元数据</a></li></ul></li><li><a href=#3-元数据上报工作机制> [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1-地址发现元数据>1 地址发现元数据</a><ul><li><a href=#11-接口---应用映射关系>1.1 接口 - 
应用映射关系</a></li><li><a href=#12-接口配置元数据>1.2 接口配置元数据</a></li></ul></li><li><a 
href=#2-服务运维元数据>2 服务运维元数据</a><ul><li><a href=#21-provider-上报的元数据>2.1 Provider 
上报的元数据</a></li></ul></li><li><a href=#3-元数据上报工作机制> [...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js
 integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
index 60a7b547b4..7c8df48f1a 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
@@ -1502,8 +1502,10 @@ return context;
 &lt;/ul>
 &lt;/div></description></item><item><title>Overview: 
Redis协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
-&lt;p>基于 Redis 实现的 RPC 协议。 &lt;code>2.3.0&lt;/code> 以上版本支持。&lt;/p>
-&lt;p>&lt;a href="http://redis.io";>Redis&lt;/a> 是一个高效的 KV 存储服务器。&lt;/p>
+&lt;p>&lt;a href="http://redis.io";>Redis&lt;/a> 是一个高效的 KV 存储服务器。基于 Redis 实现的 
RPC 协议。&lt;/p>
+&lt;blockquote>
+&lt;p>&lt;code>2.3.0&lt;/code> 以上版本支持。&lt;/p>
+&lt;/blockquote>
 &lt;h2 id="使用场景">使用场景&lt;/h2>
 &lt;p>缓存,限流,分布式锁等&lt;/p>
 &lt;h2 id="使用方式">使用方式&lt;/h2>
@@ -1529,7 +1531,7 @@ return context;
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中 
&amp;ldquo;p:xxx&amp;rdquo; 为 spring 的标准 p 标签&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-xml" data-lang="xml">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;dubbo:reference&lt;/span> id=&lt;span 
style="color:#2aa198">&amp;#34;cache&amp;#34;&lt;/span> interface=&lt;span 
style="color:#2aa198">&amp;#34;com.foo.CacheService&amp;#34;&lt;/span> 
url=&lt;span style="color:#2aa198">&amp;#34;red [...]
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>方法名建议和 redis 
的标准方法名相同,即:get(key), set(key, value), delete(key)。&lt;/p>
-&lt;p>如果方法名和 redis 
的标准方法名不相同,则需要配置映射关系:&lt;/p></description></item><item><title>Overview: 
Hessian协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/hessian/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/hessian/</guid><description>
+&lt;p>如果方法名和 redis 
的标准方法名不相同,则需要配置映射关系。&lt;/p></description></item><item><title>Overview: 
Hessian协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/hessian/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/hessian/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
 &lt;p>Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用 Servlet 暴露服务,Dubbo 
缺省内嵌 Jetty 作为服务器实现。&lt;/p>
 &lt;p>&lt;a href="http://hessian.caucho.com";>Hessian&lt;/a> 是 Caucho 开源的一个 RPC 
框架,其通讯效率高于 WebService 和 Java 自带的序列化。&lt;/p>
@@ -1647,16 +1649,18 @@ return context;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;servlet-name&amp;gt;&lt;/span>dubbo&lt;span 
style="color:#268bd2">&amp;lt;/servlet-name&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;url-pattern&amp;gt;&lt;/span>/*&lt;span 
style="color:#268bd2">&amp;lt;/url-pattern&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;/servlet-mapping&amp;gt;&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
-&lt;p>如果使用 servlet 派发请求&lt;/p>
-&lt;ul>
-&lt;li>协议的端口 &lt;code>&amp;lt;dubbo:protocol port=&amp;quot;8080&amp;quot; 
/&amp;gt;&lt;/code> 必须与 servlet 容器的端口相同。&lt;/li>
-&lt;li>协议的上下文路径 &lt;code>&amp;lt;dubbo:protocol 
contextpath=&amp;quot;foo&amp;quot; /&amp;gt;&lt;/code> 必须与 servlet 
应用的上下文路径相同。&lt;/li>
-&lt;/ul>
-&lt;/blockquote></description></item><item><title>Overview: 
Memcached协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/</guid><description>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;div class="alert alert-primary" role="alert">
+&lt;h4 class="alert-heading">注意&lt;/h4>
+&lt;p>如果使用 servlet 派发请求:&lt;/p>
+&lt;p>协议的端口 &lt;code>&amp;lt;dubbo:protocol port=&amp;quot;8080&amp;quot; 
/&amp;gt;&lt;/code> 必须与 servlet 容器的端口相同。&lt;/p>
+&lt;p>协议的上下文路径 &lt;code>&amp;lt;dubbo:protocol 
contextpath=&amp;quot;foo&amp;quot; /&amp;gt;&lt;/code> 必须与 servlet 
应用的上下文路径相同。&lt;/p>
+&lt;/div></description></item><item><title>Overview: 
Memcached协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
-&lt;p>基于 memcached 实现的 RPC 协议。 &lt;code>2.3.0&lt;/code> 以上版本支持。&lt;/p>
-&lt;p>&lt;a href="http://memcached.org/";>Memcached&lt;/a> 是一个高效的 KV 
缓存服务器。&lt;/p>
+&lt;p>&lt;a href="http://memcached.org/";>Memcached&lt;/a> 是一个高效的 KV 缓存服务器。基于 
memcached 实现的 RPC 协议。&lt;/p>
+&lt;blockquote>
+&lt;p>&lt;code>2.3.0&lt;/code> 以上版本支持。&lt;/p>
+&lt;/blockquote>
 &lt;h2 id="使用场景">使用场景&lt;/h2>
 &lt;p>缓解数据库压力,提高交互速度等。&lt;/p>
 &lt;h2 id="使用方式">使用方式&lt;/h2>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/index.html
 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/index.html
index 6fe75e6e66..a6391e46e2 100644
--- 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/index.html
+++ 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport con [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport con [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="Memcached协议"><meta 
property="og:description" content="Memcached协议"><meta name=twitter:description 
content="Memcached协议"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/";><meta
 property="og:title" content="Memcached协议 [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,7 +670,7 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;groupId&gt;</span>org.apache.dubbo.extensions<span 
style=color:#268bd2>&lt;/groupId&gt;</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;artifactId&gt;</span>dubbo-rpc-memcached<span 
style=color:#268bd2>&lt;/artifactId&gt;</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;version&gt;</span>1.0.0<span 
style=color:#268bd2>&lt;/version&gt;</span>
@@ -683,7 +683,7 @@
 </span></span></code></pre></div><p>也可以使用自定义接口</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> id=<span 
style=color:#2aa198>&#34;cache&#34;</span> interface=<span 
style=color:#2aa198>&#34;com.foo.CacheService&#34;</span> url=<span 
style=color:#2aa198>&#34;memcached://10.20.153.10:11211&#34; [...]
 </span></span></code></pre></div><p>其中 &ldquo;p:xxx&rdquo; 为 spring 的标准 p 
标签</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> id=<span 
style=color:#2aa198>&#34;cache&#34;</span> interface=<span 
style=color:#2aa198>&#34;com.foo.CacheService&#34;</span> url=<span 
style=color:#2aa198>&#34;memca [...]
 </span></span></code></pre></div><p>如果方法名和 memcached 
的标准方法名不相同,则需要配置映射关系;</p><p>方法名建议和 memcached 的标准方法名相同,即:get(key), set(key, 
value), delete(key)。</p><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Memcached%e5%8d%8f%e8%ae%ae";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a><ul><li><a href=#引入依赖>引入依赖</a></li><li><a 
href=#注册-memcached-服务的地址>注册 memcached 服务的地址</a></li><li><a 
href=#在客户端引用>在客户端引用</a></li></ul></li></ul></nav></div></div></div></div><footer
 class="bg-d [...]
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/index.html 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/index.html
index 5f34075b0c..e0904d8d91 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/index.html
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport content [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport content [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="Redis协议"><meta 
property="og:description" content="Redis协议"><meta name=twitter:description 
content="Redis协议"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/";><meta
 property="og:title" content="Redis协议"><meta name=twitter [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,7 +670,7 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://cn.dubbo.apache.org/zh-c [...]
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;groupId&gt;</span>org.apache.dubbo.extensions<span 
style=color:#268bd2>&lt;/groupId&gt;</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;artifactId&gt;</span>dubbo-rpc-redis<span 
style=color:#268bd2>&lt;/artifactId&gt;</span>
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;version&gt;</span>1.0.0<span 
style=color:#268bd2>&lt;/version&gt;</span>
@@ -682,8 +682,8 @@
 </span></span></code></pre></div><p>或者点对点直连:</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> id=<span 
style=color:#2aa198>&#34;store&#34;</span> interface=<span 
style=color:#2aa198>&#34;java.util.Map&#34;</span> url=<span 
style=color:#2aa198>&#34;redis://10.20.153.10:6379&#34;</span> <span  [...]
 </span></span></code></pre></div><p>也可以使用自定义接口:</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> id=<span 
style=color:#2aa198>&#34;store&#34;</span> interface=<span 
style=color:#2aa198>&#34;com.foo.StoreService&#34;</span> url=<span 
style=color:#2aa198>&#34;redis://10.20.153.10:6379&#34;</sp [...]
 </span></span></code></pre></div><p>其中 &ldquo;p:xxx&rdquo; 为 spring 的标准 p 
标签</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> id=<span 
style=color:#2aa198>&#34;cache&#34;</span> interface=<span 
style=color:#2aa198>&#34;com.foo.CacheService&#34;</span> url=<span 
style=color:#2aa198>&#34;redis [...]
-</span></span></code></pre></div><p>方法名建议和 redis 的标准方法名相同,即:get(key), set(key, 
value), delete(key)。</p><p>如果方法名和 redis 的标准方法名不相同,则需要配置映射关系:</p><div 
id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button 
class="btn btn-primary mb-4 feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><p>方法名建议和 redis 的标准方法名相同,即:get(key), set(key, 
value), delete(key)。</p><p>如果方法名和 redis 的标准方法名不相同,则需要配置映射关系。</p><div 
id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button 
class="btn btn-primary mb-4 feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Redis%e5%8d%8f%e8%ae%ae";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a><ul><li><a href=#引入依赖>引入依赖</a></li><li><a 
href=#注册-redis-服务的地址>注册 redis 服务的地址</a></li><li><a 
href=#在客户端引用>在客户端引用</a></li></ul></li></ul></nav></div></div></div></div><footer
 class="bg-dark py-5 [...]
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/index.html
 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/index.html
index ce6fac37af..38532000ff 100644
--- 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/index.html
+++ 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport co [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport co [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description 
content="Webservice协议"><meta property="og:description" 
content="Webservice协议"><meta name=twitter:description 
content="Webservice协议"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice/";><meta
 property="og:title" content="Webserv [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -703,8 +703,8 @@
 </span></span><span style=display:flex><span>         <span 
style=color:#268bd2>&lt;servlet-name&gt;</span>dubbo<span 
style=color:#268bd2>&lt;/servlet-name&gt;</span>
 </span></span><span style=display:flex><span>         <span 
style=color:#268bd2>&lt;url-pattern&gt;</span>/*<span 
style=color:#268bd2>&lt;/url-pattern&gt;</span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>&lt;/servlet-mapping&gt;</span>
-</span></span></code></pre></div><blockquote><p>如果使用 servlet 
派发请求</p><ul><li>协议的端口 <code>&lt;dubbo:protocol port="8080" /></code> 必须与 
servlet 容器的端口相同。</li><li>协议的上下文路径 <code>&lt;dubbo:protocol contextpath="foo" 
/></code> 必须与 servlet 应用的上下文路径相同。</li></ul></blockquote><div 
id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button 
class="btn btn-primary mb-4 feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><div class="alert alert-primary" 
role=alert><h4 class=alert-heading>注意</h4><p>如果使用 servlet 派发请求:</p><p>协议的端口 
<code>&lt;dubbo:protocol port="8080" /></code> 必须与 servlet 
容器的端口相同。</p><p>协议的上下文路径 <code>&lt;dubbo:protocol contextpath="foo" /></code> 
必须与 servlet 应用的上下文路径相同。</p></div><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/webservice.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Webservice%e5%8d%8f%e8%ae%ae";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a><ul><li></li></ul></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a><ul><li><a href=#依赖>依赖</a></li><li><a 
href=#配置协议>配置协议</a></li><li><a href=#配置默认协议>配置默认协议</a></li><li><a 
href=#配置服务协议>配置服务协议</a></li><li><a href=#多端口>多端口</a></li><li><a href=#直 [...]
diff --git a/zh-cn/overview/mannual/java-sdk/reference-manual/spi/index.xml 
b/zh-cn/overview/mannual/java-sdk/reference-manual/spi/index.xml
index 7cef15d659..a1d3f748ef 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/spi/index.xml
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/spi/index.xml
@@ -56,7 +56,7 @@
 &lt;p>Dubbo 的扩展能力非常灵活,在自身功能的实现上无处不在。&lt;/p>
 &lt;p>&lt;img 
src="https://cn.dubbo.apache.org/imgs/v3/concepts/extension-use.png"; 
alt="//imgs/v3/concepts/extension-use.png">&lt;/p>
 &lt;p>Dubbo 扩展能力使得 Dubbo 项目很方便的切分成一个一个的子模块,实现热插拔特性。用户完全可以基于自身需求,替换 Dubbo 
原生实现,来满足自身业务需求。&lt;/p>
-&lt;h2 id="使用场景">使用场景&lt;/h2>
+&lt;h2 id="dubbo-扩展的使用场景">Dubbo 扩展的使用场景&lt;/h2>
 &lt;ul>
 &lt;li>如果你需要自定义负载均衡策略,你可以使用 Dubbo 扩展能力。&lt;/li>
 &lt;li>如果你需要实现自定义的注册中心,你可以使用 Dubbo 扩展能力。&lt;/li>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/index.html 
b/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/index.html
index e819e2924e..10853ab90d 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/index.html
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport content=" [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport content=" [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="Dubbo 通过 SPI 
机制提供了非常灵活的可扩展性"><meta property="og:description" content="Dubbo 通过 SPI 
机制提供了非常灵活的可扩展性"><meta name=twitter:description content="Dubbo 通过 SPI 
机制提供了非常灵活的可扩展性"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview/";><met
 [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -677,11 +677,11 @@
 </span></span><span style=display:flex><span>    <span style=color:#586e75>// 
...
 </span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#719e07>}</span>
 </span></span></code></pre></div><p>说明下:Http2WireProtocol 实现了 WireProtocol 
接口</p><p>(3) Dubbo 配置模块中,扩展点均有对应配置属性或标签,通过配置指定使用哪个扩展实现。比如:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-text data-lang=text><span 
style=display:flex><span>&lt;dubbo:protocol name=&#34;tri&#34; /&gt;
-</span></span></code></pre></div><p>从上面的扩展步骤可以看出,用户基本在黑盒下就完成了扩展。</p><h2 
id=dubbo-扩展的应用>Dubbo 扩展的应用</h2><p>Dubbo 的扩展能力非常灵活,在自身功能的实现上无处不在。</p><p><img 
src=/imgs/v3/concepts/extension-use.png 
alt=//imgs/v3/concepts/extension-use.png></p><p>Dubbo 扩展能力使得 Dubbo 
项目很方便的切分成一个一个的子模块,实现热插拔特性。用户完全可以基于自身需求,替换 Dubbo 原生实现,来满足自身业务需求。</p><h2 
id=使用场景>使用场景</h2><ul><li>如果你需要自定义负载均衡策略,你可以使用 Dubbo 
扩展能力。</li><li>如果你需要实现自定义的注册中心,你可以使用 Dubbo 扩展能力。</li><li>如果你需要实现自定义的过滤器,你可以使用 
Dubbo 扩展能力。</li></ul><p>Dubbo 扩展平等的对待 [...]
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><p>从上面的扩展步骤可以看出,用户基本在黑盒下就完成了扩展。</p><h2 
id=dubbo-扩展的应用>Dubbo 扩展的应用</h2><p>Dubbo 的扩展能力非常灵活,在自身功能的实现上无处不在。</p><p><img 
src=/imgs/v3/concepts/extension-use.png 
alt=//imgs/v3/concepts/extension-use.png></p><p>Dubbo 扩展能力使得 Dubbo 
项目很方便的切分成一个一个的子模块,实现热插拔特性。用户完全可以基于自身需求,替换 Dubbo 原生实现,来满足自身业务需求。</p><h2 
id=dubbo-扩展的使用场景>Dubbo 扩展的使用场景</h2><ul><li>如果你需要自定义负载均衡策略,你可以使用 Dubbo 
扩展能力。</li><li>如果你需要实现自定义的注册中心,你可以使用 Dubbo 扩展能力。</li><li>如果你需要实现自定义的过滤器,你可以使用 
Dubbo 扩展能力。</li></u [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/spi/overview.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+E
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Dubbo%20SPI%20%e6%a6%82%e8%bf%b0";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#扩展设计理念>扩展设计理念</a><ul><li><a href=#什么是可扩展性>什么是可扩展性</a></li><li><a 
href=#可扩展性的优点>可扩展性的优点</a></li><li><a href=#扩展实现方式>扩展实现方式</a></li><li><a 
href=#dubbo-中的可扩展性>Dubbo 中的可扩展性</a></li></ul></li><li><a 
href=#dubbo-扩展的特性>Dubbo 扩展的特性</a></li><li><a href=#dubbo-扩展加载流程>Dubbo 扩展加载 [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#扩展设计理念>扩展设计理念</a><ul><li><a href=#什么是可扩展性>什么是可扩展性</a></li><li><a 
href=#可扩展性的优点>可扩展性的优点</a></li><li><a href=#扩展实现方式>扩展实现方式</a></li><li><a 
href=#dubbo-中的可扩展性>Dubbo 中的可扩展性</a></li></ul></li><li><a 
href=#dubbo-扩展的特性>Dubbo 扩展的特性</a></li><li><a href=#dubbo-扩展加载流程>Dubbo 扩展加载 [...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js
 integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 4446dd76fc..34be14dd14 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu
 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu
 [...]
\ No newline at end of file

Reply via email to