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 6085ef7ac3c deploy: 7b8d601e9f8372de2219d313ca7ea549cfd2fcd4
6085ef7ac3c is described below

commit 6085ef7ac3c903b889d36e6b5d5150da3617bb8d
Author: AlbumenJ <[email protected]>
AuthorDate: Fri Dec 15 07:25:10 2023 +0000

    deploy: 7b8d601e9f8372de2219d313ca7ea549cfd2fcd4
---
 .../index.html                                                    | 6 +++---
 en/blog/index.xml                                                 | 8 ++++----
 en/blog/news/index.xml                                            | 8 ++++----
 en/docs/index.xml                                                 | 4 ++--
 .../advanced-features-and-usage/security/class-check/index.html   | 8 ++++----
 .../java-sdk/advanced-features-and-usage/security/index.xml       | 4 ++--
 en/docs3-v2/java-sdk/reference-manual/protocol/grpc/index.html    | 8 ++++----
 en/docs3-v2/java-sdk/reference-manual/protocol/index.xml          | 4 ++--
 en/index.xml                                                      | 8 ++++----
 en/sitemap.xml                                                    | 2 +-
 sitemap.xml                                                       | 2 +-
 .../index.html"                                                   | 6 +++---
 .../2-grpc-\345\222\214-protobuf/index.html"                      | 8 ++++----
 .../index.html"                                                   | 6 +++---
 zh-cn/blog/integration/index.xml                                  | 2 +-
 zh-cn/blog/java/demos/index.xml                                   | 4 ++--
 zh-cn/blog/news/index.xml                                         | 2 +-
 zh-cn/docs/references/protocols/grpc/index.html                   | 6 +++---
 zh-cn/docs/references/protocols/index.xml                         | 4 ++--
 zh-cn/docsv2.7/user/references/protocol/grpc/index.html           | 6 +++---
 zh-cn/docsv2.7/user/references/protocol/index.xml                 | 4 ++--
 .../mannual/java-sdk/reference-manual/protocol/grpc/index.html    | 6 +++---
 .../overview/mannual/java-sdk/reference-manual/protocol/index.xml | 4 ++--
 zh-cn/sitemap.xml                                                 | 2 +-
 zh-cn/tags/java/index.xml                                         | 4 ++--
 .../\346\226\260\351\227\273\345\212\250\346\200\201/index.xml"   | 2 +-
 "zh-cn/tags/\347\224\237\346\200\201/index.xml"                   | 2 +-
 27 files changed, 65 insertions(+), 65 deletions(-)

diff --git 
a/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/index.html
 
b/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/index.html
index 8dae90e67ff..4b9111543e7 100644
--- 
a/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/index.html
+++ 
b/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/index.html
@@ -1,7 +1,7 @@
 <!doctype html><html lang=en class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/><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 na [...]
 <meta property="og:description" content="This article will introduce you how 
to use Seata to ensure consistency between Dubbo Microservices.
-"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-01-17T00:00:00+00:00"><meta 
property="article:modified_time" content="2022-12-30T16:22:21+08:00"><meta 
itemprop=name content="How to use Seata to ensure consistency between Dubbo 
Microservices"><m [...]
-"><meta itemprop=datePublished content="2019-01-17T00:00:00+00:00"><meta 
itemprop=dateModified content="2022-12-30T16:22:21+08:00"><meta 
itemprop=wordCount content="584"><meta itemprop=keywords content><meta 
name=twitter:card content="summary"><meta name=twitter:title content="How to 
use Seata to ensure consistency between Dubbo Microservices"><meta 
name=twitter:description content="This article will introduce you how to use 
Seata to ensure consistency between Dubbo Microservices.
+"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/en/blog/2019/01/17/how-to-use-seata-to-ensure-consistency-between-dubbo-microservices/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-01-17T00:00:00+00:00"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="How to use Seata to ensure consistency between Dubbo 
Microservices"><m [...]
+"><meta itemprop=datePublished content="2019-01-17T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-12-15T15:20:45+08:00"><meta 
itemprop=wordCount content="584"><meta itemprop=keywords content><meta 
name=twitter:card content="summary"><meta name=twitter:title content="How to 
use Seata to ensure consistency between Dubbo Microservices"><meta 
name=twitter:description content="This article will introduce you how to use 
Seata to ensure consistency between Dubbo Microservices.
 "><script async 
src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J";></script><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.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
 as=style><link 
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffd
 [...]
 "><meta property="og:description" content="This article will introduce you how 
to use Seata to ensure consistency between Dubbo Microservices.
 "><meta name=twitter:description content="This article will introduce you how 
to use Seata to ensure consistency between Dubbo Microservices.
@@ -192,7 +192,7 @@ dubbo-storage-service.xml</p><div class=highlight><pre 
tabindex=0 style=color:#9
 </span></span><span style=display:flex><span>e.g.
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>sh seata-server.sh -p <span 
style=color:#2aa198>8091</span> -h 127.0.0.1 -m file
-</span></span></code></pre></div><h3 id=step-5-run-example>Step 5: Run 
example</h3><ul><li>Start AccountService (<a 
href=https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java>DubboAccountServiceStarter</a>).</li><li>Start
 StockService (<a 
href=https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/sample
 [...]
+</span></span></code></pre></div><h3 id=step-5-run-example>Step 5: Run 
example</h3><ul><li>Start AccountService (<a 
href=https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java>DubboAccountServiceStarter</a>).</li><li>Start
 StockService (<a 
href=https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org
 [...]
 <button class="btn btn-primary mb-4 
feedback--no">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__disable
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/en/blog/news/dubbo-fescar.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+Edit+the+%22front+matter%22+section+a
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=How%20to%20use%20Seata%20to%20ensure%20consistency%20between%20Dubbo%20Microservices";
 target=_blank><i class="fab fa-github fa-fw"></i> Create an issue</a>
diff --git a/en/blog/index.xml b/en/blog/index.xml
index c45f72a9919..246260d473c 100644
--- a/en/blog/index.xml
+++ b/en/blog/index.xml
@@ -2324,10 +2324,10 @@ dubbo-storage-service.xml&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sh seata-server.sh 
-p &lt;span style="color:#2aa198">8091&lt;/span> -h 127.0.0.1 -m file
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 
id="step-5-run-example">Step 5: Run example&lt;/h3>
 &lt;ul>
-&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
+&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
 &lt;/ul>
 &lt;h3 id="related-projects">Related projects&lt;/h3>
 &lt;ul>
diff --git a/en/blog/news/index.xml b/en/blog/news/index.xml
index 8eb7d1242e5..9ddc629993d 100644
--- a/en/blog/news/index.xml
+++ b/en/blog/news/index.xml
@@ -1749,10 +1749,10 @@ dubbo-storage-service.xml&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sh seata-server.sh 
-p &lt;span style="color:#2aa198">8091&lt;/span> -h 127.0.0.1 -m file
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 
id="step-5-run-example">Step 5: Run example&lt;/h3>
 &lt;ul>
-&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
+&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
 &lt;/ul>
 &lt;h3 id="related-projects">Related projects&lt;/h3>
 &lt;ul>
diff --git a/en/docs/index.xml b/en/docs/index.xml
index 16c78161bef..96525a82701 100644
--- a/en/docs/index.xml
+++ b/en/docs/index.xml
@@ -1362,8 +1362,8 @@ Note 2: At present, the built-in 
&lt;code>Serializable&lt;/code> check configura
 &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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75"># 
security/serialize.blockedlist&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>io.dubbo.block
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>After the configuration 
is successful, you can see the following prompts in the log:&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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize allow list from 
file:/Users/albumen/code/dubbo-samples/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize blocked list from 
file:/Users/albumen/code/dubbo-samples/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist&lt;/span>
+&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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize allow list from 
file:/Users/albumen/code/dubbo-integration-cases/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize blocked list from 
file:/Users/albumen/code/dubbo-integration-cases/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist&lt;/span>
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The configuration 
priority is: user-defined trusted class = built-in trusted class of the 
framework &amp;gt; user-defined untrusted class = built-in untrusted class of 
the framework &amp;gt; automatic class scanning trusted class.&lt;/p>
 &lt;h2 id="audit-method">Audit method&lt;/h2>
 &lt;p>Dubbo supports real-time viewing of current configuration information 
and trusted/untrusted class lists through QoS commands. Currently supports two 
commands: &lt;code>serializeCheckStatus&lt;/code> to view the current 
configuration information, &lt;code>serializeWarnedClasses&lt;/code> to view 
the real-time alarm list.&lt;/p>
diff --git 
a/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/index.html
 
b/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/index.html
index fc61f88d235..3c1855ffe80 100644
--- 
a/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/index.html
+++ 
b/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/index.html
@@ -1,5 +1,5 @@
 <!doctype html><html lang=en class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/><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 cont [...]
-<meta property="og:description" content="Understand the Dubbo class inspection 
mechanism"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/";><meta
 property="article:section" content="docs3-v2"><meta 
property="article:modified_time" content="2023-02-05T09:16:05+08:00"><meta 
itemprop=name content="Dubbo Class Inspection Mechanism"><meta 
itemprop=description content=" [...]
+<meta property="og:description" content="Understand the Dubbo class inspection 
mechanism"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/";><meta
 property="article:section" content="docs3-v2"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="Dubbo Class Inspection Mechanism"><meta 
itemprop=description content=" [...]
 <label for=m-endocs3-v2java-sdk-check><a href=/en/docs3-v2/java-sdk/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-endocs3-v2java-sdk><span>Java</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child" id=m-endocs3-v2java-sdkquick-start-li><input type=checkbox 
id=m-endocs3-v2java-sdkquick-start-check>
 <label for=m-endocs3-v2java-sdkquick-start-check><a 
href=/en/docs3-v2/java-sdk/quick-start/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" id=m-endocs3-v2java-sdkquick-start><span>Quick 
Start</span></a></label><ul class="ul-3 foldable"><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-endocs3-v2java-sdkquick-startbrief-li><input type=checkbox 
id=m-endocs3-v2java-sdkquick-startbrief-check>
 <label for=m-endocs3-v2java-sdkquick-startbrief-check><a 
href=/en/docs3-v2/java-sdk/quick-start/brief/ title="1 - Rapidly deploy a 
microservice application" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startbrief><span>Quickly 
deploy a microservice application</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-endocs3-v2java-sdkquick-startapi-li><input type=checkbox 
id=m-endocs3-v2java- [...]
@@ -531,8 +531,8 @@ Note 2: At present, the built-in <code>Serializable</code> 
check configuration o
 </span></span><span style=display:flex><span>io.dubbo.test
 </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-properties data-lang=properties><span 
style=display:flex><span><span style=color:#586e75># 
security/serialize.blockedlist</span>
 </span></span><span style=display:flex><span>io.dubbo.block
-</span></span></code></pre></div><p>After the configuration is successful, you 
can see the following prompts in the log:</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-properties data-lang=properties><span 
style=display:flex><span>INFO <span 
style=color:#2aa198>utils.SerializeSecurityConfigurator: [DUBBO] Read serialize 
allow list from file:/Users/albumen/code/dubbo-samples/99-integration/ [...]
-</span></span><span style=display:flex><span>INFO <span 
style=color:#2aa198>utils.SerializeSecurityConfigurator: [DUBBO] Read serialize 
blocked list from 
file:/Users/albumen/code/dubbo-samples/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist</span>
+</span></span></code></pre></div><p>After the configuration is successful, you 
can see the following prompts in the log:</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-properties data-lang=properties><span 
style=display:flex><span>INFO <span 
style=color:#2aa198>utils.SerializeSecurityConfigurator: [DUBBO] Read serialize 
allow list from file:/Users/albumen/code/dubbo-integration-cases/99-in [...]
+</span></span><span style=display:flex><span>INFO <span 
style=color:#2aa198>utils.SerializeSecurityConfigurator: [DUBBO] Read serialize 
blocked list from 
file:/Users/albumen/code/dubbo-integration-cases/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist</span>
 </span></span></code></pre></div><p>The configuration priority is: 
user-defined trusted class = built-in trusted class of the framework > 
user-defined untrusted class = built-in untrusted class of the framework > 
automatic class scanning trusted class.</p><h2 id=audit-method>Audit 
method</h2><p>Dubbo supports real-time viewing of current configuration 
information and trusted/untrusted class lists through QoS commands. Currently 
supports two commands: <code>serializeCheckStatus</code> to  [...]
 </span></span><span style=display:flex><span>Trying 127.0.0.1...
 </span></span><span style=display:flex><span>Connected to localhost.
@@ -576,7 +576,7 @@ Note 2: At present, the built-in <code>Serializable</code> 
check configuration o
 </span></span></code></pre></div><p>Request the result in json format via 
http:</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-bash data-lang=bash><span style=display:flex><span>&gt; curl 
http://127.0.0.1:22222/serializeWarnedClasses
 </span></span><span style=display:flex><span><span 
style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;warnedClasses&#34;</span>:<span 
style=color:#719e07>[</span><span 
style=color:#2aa198>&#34;io.dubbo.test2.NotSerializable&#34;</span>,<span 
style=color:#2aa198>&#34;org.apache.dubbo.samples.NotSerializable&#34;</span>,<span
 style=color:#2aa198>&#34;io.dubbo.test.NotSerializable&#34;</span>,<span 
style=color:#2aa198>&#34;io.dubbo.test2.OthersSerializable&#34;</span><span 
style=col [...]
 </span></span></code></pre></div><p>Note: It is recommended to pay attention 
to the result of <code>serializeWarnedClasses</code> in time, and judge whether 
it is attacked by whether the returned result is not empty.</p><div 
id=pre-footer><h2>Feedback</h2><p class=feedback--prompt>Was this page 
helpful?</p><button class="btn btn-primary mb-4 feedback--yes">Yes</button>
-<button class="btn btn-primary mb-4 
feedback--no">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__disable
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">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__disable
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check.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=Dubbo%20Class%20Inspection%20Mechanism";
 target=_blank><i class="fab fa-github fa-fw"></i> Create an issue</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> Create project issue</a></div><nav 
id=TableOfContents><ul><li><a href=#supported-versions>Supported 
versions</a></li><li><a href=#scope-of-application>Scope of 
application</a></li><li><a href=#configuration-method>configuration 
method</a><ul><li><a href=#1-check-mode>1. Check mode</a></li><li><a 
href=#2-serializable-interface-check>2. Serializable interface 
check</a></li><li><a href=#3-aut [...]
\ No newline at end of file
diff --git 
a/en/docs3-v2/java-sdk/advanced-features-and-usage/security/index.xml 
b/en/docs3-v2/java-sdk/advanced-features-and-usage/security/index.xml
index 50aee813536..ff9cf3454da 100644
--- a/en/docs3-v2/java-sdk/advanced-features-and-usage/security/index.xml
+++ b/en/docs3-v2/java-sdk/advanced-features-and-usage/security/index.xml
@@ -64,8 +64,8 @@ Note 2: At present, the built-in 
&lt;code>Serializable&lt;/code> check configura
 &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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75"># 
security/serialize.blockedlist&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>io.dubbo.block
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>After the configuration 
is successful, you can see the following prompts in the log:&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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize allow list from 
file:/Users/albumen/code/dubbo-samples/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize blocked list from 
file:/Users/albumen/code/dubbo-samples/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist&lt;/span>
+&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-properties" data-lang="properties">&lt;span 
style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize allow list from 
file:/Users/albumen/code/dubbo-integration-cases/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>INFO &lt;span 
style="color:#2aa198">utils.SerializeSecurityConfigurator: [DUBBO] Read 
serialize blocked list from 
file:/Users/albumen/code/dubbo-integration-cases/99-integration/dubbo-samples-serialize-check/target/classes/security/serialize.blockedlist&lt;/span>
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The configuration 
priority is: user-defined trusted class = built-in trusted class of the 
framework &amp;gt; user-defined untrusted class = built-in untrusted class of 
the framework &amp;gt; automatic class scanning trusted class.&lt;/p>
 &lt;h2 id="audit-method">Audit method&lt;/h2>
 &lt;p>Dubbo supports real-time viewing of current configuration information 
and trusted/untrusted class lists through QoS commands. Currently supports two 
commands: &lt;code>serializeCheckStatus&lt;/code> to view the current 
configuration information, &lt;code>serializeWarnedClasses&lt;/code> to view 
the real-time alarm list.&lt;/p>
diff --git a/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/index.html 
b/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/index.html
index d0b8f4ab604..5b748bfb231 100644
--- a/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/index.html
+++ b/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/index.html
@@ -1,7 +1,7 @@
 <!doctype html><html lang=en class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/><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="width=device- [...]
 <meta property="og:description" content="Feature description Dubbo has 
supported the gRPC protocol since version 2.7.5. For developers who plan to use 
HTTP/2 communication, or want to take advantage of the capabilities of Stream, 
backpressure, and Reactive programming brought by gRPC, You can consider 
enabling the gRPC protocol.
-Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta property="og:type" content="article"><meta 
property="og:url" content="https://cn.dubbo.apache.o [...]
-Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta itemprop=dateModified 
content="2023-08-09T19:18:25+08:00"><meta itemprop=wordCount content="190 [...]
+Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta property="og:type" content="article"><meta 
property="og:url" content="https://cn.dubbo.apache.o [...]
+Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta itemprop=dateModified 
content="2023-12-15T15:20:45+08:00"><meta itemprop=wordCount content="190 [...]
 Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><script async 
src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J";></script><script>var
 doN [...]
 Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta property="og:description" content="Feature 
description Dubbo has supported the gRPC protocol si [...]
 Benefits of supporting gRPC Bring service governance capabilities to users who 
expect to use the gRPC protocol, and facilitate access to the Dubbo system 
Users can use Dubbo-style, interface-based programming style to define and use 
remote services scenes to be used Synchronous backend 
microservice-to-microservice communication that requires an immediate response 
to continue processing."><meta name=twitter:description content="Feature 
description Dubbo has supported the gRPC protocol sin [...]
@@ -510,8 +510,8 @@ Benefits of supporting gRPC Bring service governance 
capabilities to users who e
 <label for=m-endocs3-v2rust-sdkjava-interoperability-check><a 
href=/en/docs3-v2/rust-sdk/java-interoperability/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-endocs3-v2rust-sdkjava-interoperability><span>Rust and Java 
interoperability</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-endocs3-v2rust-sdkprotocol-li><input type=checkbox 
id=m-endocs3-v2rust-sdkprotocol-check>
 <label for=m-endocs3-v2rust-sdkprotocol-check><a 
href=/en/docs3-v2/rust-sdk/protocol/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-endocs3-v2rust-sdkprotocol><span>Network 
Protocol</span></a></label></li></ul></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-endocs3-v2erlang-sdk-li><input type=checkbox 
id=m-endocs3-v2erlang-sdk-check>
 <label for=m-endocs3-v2erlang-sdk-check><a href=/en/docs3-v2/erlang-sdk/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-endocs3-v2erlang-sdk><span>Erlang</span></a></label></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/en/docs3-v2/>SDK Manual</a></li><li 
class=breadcrumb-item><a href=https [...]
-You can consider enabling the gRPC protocol.</p><h4 
id=benefits-of-supporting-grpc>Benefits of supporting gRPC</h4><ul><li>Bring 
service governance capabilities to users who expect to use the gRPC protocol, 
and facilitate access to the Dubbo system</li><li>Users can use Dubbo-style, 
interface-based programming style to define and use remote 
services</li></ul><h2 id=scenes-to-be-used>scenes to be 
used</h2><ul><li>Synchronous backend microservice-to-microservice communication 
that requires [...]
-<button class="btn btn-primary mb-4 
feedback--no">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__disable
 [...]
+You can consider enabling the gRPC protocol.</p><h4 
id=benefits-of-supporting-grpc>Benefits of supporting gRPC</h4><ul><li>Bring 
service governance capabilities to users who expect to use the gRPC protocol, 
and facilitate access to the Dubbo system</li><li>Users can use Dubbo-style, 
interface-based programming style to define and use remote 
services</li></ul><h2 id=scenes-to-be-used>scenes to be 
used</h2><ul><li>Synchronous backend microservice-to-microservice communication 
that requires [...]
+<button class="btn btn-primary mb-4 
feedback--no">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__disable
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/en/docs3-v2/java-sdk/reference-manual/protocol/grpc.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+Edit+the+%2
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=gRPC%20Protocol"; 
target=_blank><i class="fab fa-github fa-fw"></i> Create an issue</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> Create project issue</a></div><nav 
id=TableOfContents><ul><li><a href=#feature-description>Feature 
description</a><ul><li></li></ul></li><li><a href=#scenes-to-be-used>scenes to 
be used</a></li><li><a href=#how-to-use>How to use</a><ul><li><a 
href=#using-grpc-in-dubbo>Using gRPC in Dubbo</a></li><li><a 
href=#steps>steps</a></li></ul></li></ul></nav></div></div></div></div><footer 
class="bg [...]
\ No newline at end of file
diff --git a/en/docs3-v2/java-sdk/reference-manual/protocol/index.xml 
b/en/docs3-v2/java-sdk/reference-manual/protocol/index.xml
index d323adab112..4b00ee7b334 100644
--- a/en/docs3-v2/java-sdk/reference-manual/protocol/index.xml
+++ b/en/docs3-v2/java-sdk/reference-manual/protocol/index.xml
@@ -757,7 +757,7 @@ You can consider enabling the gRPC protocol.&lt;/p>
 &lt;/ul>
 &lt;h2 id="how-to-use">How to use&lt;/h2>
 &lt;h3 id="using-grpc-in-dubbo">Using gRPC in Dubbo&lt;/h3>
-&lt;p>&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>Example&lt;/a>&lt;/p>
+&lt;p>&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>Example&lt;/a>&lt;/p>
 &lt;h3 id="steps">steps&lt;/h3>
 &lt;ol>
 &lt;li>Define a service using IDL&lt;/li>
@@ -765,7 +765,7 @@ You can consider enabling the gRPC protocol.&lt;/p>
 &lt;li>Configure to expose/reference Dubbo service&lt;/li>
 &lt;/ol>
 &lt;blockquote>
-&lt;p>In addition to the native StreamObserver interface type, Dubbo also 
supports &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>,
 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 programming style API.&lt;/p>
+&lt;p>In addition to the native StreamObserver interface type, Dubbo also 
supports &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>,
 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 programming style API.&lt;/p>
 &lt;/blockquote></description></item><item><title>Docs3-V2: HTTP 
protocol</title><link>https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/protocol/http/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/reference-manual/protocol/http/</guid><description>
 &lt;h2 id="feature-description">Feature description&lt;/h2>
 &lt;p>HTTP form-based remote invocation protocol, implemented by 
Spring&amp;rsquo;s HttpInvoker, supported by versions above 
&lt;code>2.3.0&lt;/code>.&lt;/p>
diff --git a/en/index.xml b/en/index.xml
index e172e979c18..f028d30d057 100644
--- a/en/index.xml
+++ b/en/index.xml
@@ -2324,10 +2324,10 @@ dubbo-storage-service.xml&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sh seata-server.sh 
-p &lt;span style="color:#2aa198">8091&lt;/span> -h 127.0.0.1 -m file
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 
id="step-5-run-example">Step 5: Run example&lt;/h3>
 &lt;ul>
-&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
-&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
+&lt;li>Start AccountService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start StockService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Start OrderService (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
+&lt;li>Run BusinessService for test (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
 &lt;/ul>
 &lt;h3 id="related-projects">Related projects&lt;/h3>
 &lt;ul>
diff --git a/en/sitemap.xml b/en/sitemap.xml
index d8fa101a4e2..8afb0e26a3d 100644
--- a/en/sitemap.xml
+++ b/en/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/en/docs3-v2/java-sdk/faq/0/</loc><lastmod>2023-01-02T18:18:49+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/1/</loc><lastmod>2023-01-03T15:09:00+08:00</lastmod><changefreq>monthly</changefreq><priorit
 [...]
\ 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/en/docs3-v2/java-sdk/faq/0/</loc><lastmod>2023-01-02T18:18:49+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/1/</loc><lastmod>2023-01-03T15:09:00+08:00</lastmod><changefreq>monthly</changefreq><priorit
 [...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 3d378bbe26c..5ac3efd6a72 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-12-15T14:39:05+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-12-15T14:39:05+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-12-15T15:20:45+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-12-15T15:20:45+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git 
"a/zh-cn/blog/2019/01/17/\345\246\202\344\275\225\344\275\277\347\224\250seata\344\277\235\350\257\201dubbo\345\276\256\346\234\215\345\212\241\351\227\264\347\232\204\344\270\200\350\207\264\346\200\247/index.html"
 
"b/zh-cn/blog/2019/01/17/\345\246\202\344\275\225\344\275\277\347\224\250seata\344\277\235\350\257\201dubbo\345\276\256\346\234\215\345\212\241\351\227\264\347\232\204\344\270\200\350\207\264\346\200\247/index.html"
index 1ea3aadd0a8..9dcd0418df8 100644
--- 
"a/zh-cn/blog/2019/01/17/\345\246\202\344\275\225\344\275\277\347\224\250seata\344\277\235\350\257\201dubbo\345\276\256\346\234\215\345\212\241\351\227\264\347\232\204\344\270\200\350\207\264\346\200\247/index.html"
+++ 
"b/zh-cn/blog/2019/01/17/\345\246\202\344\275\225\344\275\277\347\224\250seata\344\277\235\350\257\201dubbo\345\276\256\346\234\215\345\212\241\351\227\264\347\232\204\344\270\200\350\207\264\346\200\247/index.html"
@@ -1,7 +1,7 @@
 <!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/blog/2019/01/17/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8seata%E4%BF%9D%E8%AF%81dubbo%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%97%B4%E7%9A%84%E4%B8%80%E8%87%B4%E6%80%A7/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script"
 [...]
 <meta property="og:description" content="本文主要介绍如何使用Seata保证Dubbo微服务间的一致性
-"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2019/01/17/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8seata%E4%BF%9D%E8%AF%81dubbo%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%97%B4%E7%9A%84%E4%B8%80%E8%87%B4%E6%80%A7/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-01-17T00:00:00+00:00"><meta 
property="article:modified_time" content="2023-02-22T15:03:22+08:00"><meta 
itemprop=name conten [...]
-"><meta itemprop=datePublished content="2019-01-17T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-02-22T15:03:22+08:00"><meta 
itemprop=wordCount content="453"><meta itemprop=keywords 
content="生态,Java,"><meta name=twitter:card content="summary"><meta 
name=twitter:title content="如何使用Seata保证Dubbo微服务间的一致性"><meta 
name=twitter:description content="本文主要介绍如何使用Seata保证Dubbo微服务间的一致性
+"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2019/01/17/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8seata%E4%BF%9D%E8%AF%81dubbo%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%97%B4%E7%9A%84%E4%B8%80%E8%87%B4%E6%80%A7/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-01-17T00:00:00+00:00"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name conten [...]
+"><meta itemprop=datePublished content="2019-01-17T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-12-15T15:20:45+08:00"><meta 
itemprop=wordCount content="453"><meta itemprop=keywords 
content="生态,Java,"><meta name=twitter:card content="summary"><meta 
name=twitter:title content="如何使用Seata保证Dubbo微服务间的一致性"><meta 
name=twitter:description content="本文主要介绍如何使用Seata保证Dubbo微服务间的一致性
 "><script async 
src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J";></script><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.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
 as=style><link 
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffd
 [...]
 "><meta property="og:description" content="本文主要介绍如何使用Seata保证Dubbo微服务间的一致性
 "><meta name=twitter:description content="本文主要介绍如何使用Seata保证Dubbo微服务间的一致性
@@ -344,7 +344,7 @@ dubbo-storage-service.xml</p><div class=highlight><pre 
tabindex=0 style=color:#9
 </span></span><span style=display:flex><span>e.g.
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>sh seata-server.sh -p <span 
style=color:#2aa198>8091</span> -h 127.0.0.1 -m file
-</span></span></code></pre></div><h3 id=step-5-运行例子>Step 5: 
运行例子</h3><ul><li>启动账户服务 (<a 
href=https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java>DubboAccountServiceStarter</a>).</li><li>启动库存服务
 (<a 
href=https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.jav
 [...]
+</span></span></code></pre></div><h3 id=step-5-运行例子>Step 5: 
运行例子</h3><ul><li>启动账户服务 (<a 
href=https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java>DubboAccountServiceStarter</a>).</li><li>启动库存服务
 (<a 
href=https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceS
 [...]
 <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/blog/integration/dubbo-fescar.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+Edit+the+%22front+matter%22
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e5%a6%82%e4%bd%95%e4%bd%bf%e7%94%a8Seata%e4%bf%9d%e8%af%81Dubbo%e5%be%ae%e6%9c%8d%e5%8a%a1%e9%97%b4%e7%9a%84%e4%b8%80%e8%87%b4%e6%80%a7";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
diff --git 
"a/zh-cn/blog/2019/10/28/dubbo-\345\234\250\350\267\250\350\257\255\350\250\200\345\222\214\345\215\217\350\256\256\347\251\277\351\200\217\346\200\247\346\226\271\345\220\221\344\270\212\347\232\204\346\216\242\347\264\242\346\224\257\346\214\201-http/2-grpc-\345\222\214-protobuf/index.html"
 
"b/zh-cn/blog/2019/10/28/dubbo-\345\234\250\350\267\250\350\257\255\350\250\200\345\222\214\345\215\217\350\256\256\347\251\277\351\200\217\346\200\247\346\226\271\345\220\221\344\270\212\
 [...]
index f54fff7a49e..25b213fc299 100644
--- 
"a/zh-cn/blog/2019/10/28/dubbo-\345\234\250\350\267\250\350\257\255\350\250\200\345\222\214\345\215\217\350\256\256\347\251\277\351\200\217\346\200\247\346\226\271\345\220\221\344\270\212\347\232\204\346\216\242\347\264\242\346\224\257\346\214\201-http/2-grpc-\345\222\214-protobuf/index.html"
+++ 
"b/zh-cn/blog/2019/10/28/dubbo-\345\234\250\350\267\250\350\257\255\350\250\200\345\222\214\345\215\217\350\256\256\347\251\277\351\200\217\346\200\247\346\226\271\345\220\221\344\270\212\347\232\204\346\216\242\347\264\242\346\224\257\346\214\201-http/2-grpc-\345\222\214-protobuf/index.html"
@@ -1,7 +1,7 @@
 <!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/blog/2019/10/28/dubbo-%E5%9C%A8%E8%B7%A8%E8%AF%AD%E8%A8%80%E5%92%8C%E5%8D%8F%E8%AE%AE%E7%A9%BF%E9%80%8F%E6%80%A7%E6%96%B9%E5%90%91%E4%B8%8A%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%94%AF%E6%8C%81-http/2-grpc-%E5%92%8C-protobuf/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47
 [...]
 <meta property="og:description" content="本文整理自刘军在 Dubbo 成都 meetup 上分享的《Dubbo 
在多语言和协议穿透性方向上的探索》。
-"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2019/10/28/dubbo-%E5%9C%A8%E8%B7%A8%E8%AF%AD%E8%A8%80%E5%92%8C%E5%8D%8F%E8%AE%AE%E7%A9%BF%E9%80%8F%E6%80%A7%E6%96%B9%E5%90%91%E4%B8%8A%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%94%AF%E6%8C%81-http/2-grpc-%E5%92%8C-protobuf/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-10-28T00:00:00+00:00"><meta 
property="article:modified_time" [...]
-"><meta itemprop=datePublished content="2019-10-28T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-08-09T19:18:25+08:00"><meta 
itemprop=wordCount content="1503"><meta itemprop=keywords content="Java,"><meta 
name=twitter:card content="summary"><meta name=twitter:title content="Dubbo 
在跨语言和协议穿透性方向上的探索:支持 HTTP/2 gRPC 和 Protobuf"><meta name=twitter:description 
content="本文整理自刘军在 Dubbo 成都 meetup 上分享的《Dubbo 在多语言和协议穿透性方向上的探索》。
+"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2019/10/28/dubbo-%E5%9C%A8%E8%B7%A8%E8%AF%AD%E8%A8%80%E5%92%8C%E5%8D%8F%E8%AE%AE%E7%A9%BF%E9%80%8F%E6%80%A7%E6%96%B9%E5%90%91%E4%B8%8A%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%94%AF%E6%8C%81-http/2-grpc-%E5%92%8C-protobuf/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2019-10-28T00:00:00+00:00"><meta 
property="article:modified_time" [...]
+"><meta itemprop=datePublished content="2019-10-28T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-12-15T15:20:45+08:00"><meta 
itemprop=wordCount content="1503"><meta itemprop=keywords content="Java,"><meta 
name=twitter:card content="summary"><meta name=twitter:title content="Dubbo 
在跨语言和协议穿透性方向上的探索:支持 HTTP/2 gRPC 和 Protobuf"><meta name=twitter:description 
content="本文整理自刘军在 Dubbo 成都 meetup 上分享的《Dubbo 在多语言和协议穿透性方向上的探索》。
 "><script async 
src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J";></script><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.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
 as=style><link 
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffd
 [...]
 "><meta property="og:description" content="本文整理自刘军在 Dubbo 成都 meetup 上分享的《Dubbo 
在多语言和协议穿透性方向上的探索》。
 "><meta name=twitter:description content="本文整理自刘军在 Dubbo 成都 meetup 上分享的《Dubbo 
在多语言和协议穿透性方向上的探索》。
@@ -226,7 +226,7 @@
 </span></span></code></pre></div><p>除了结构化数据描述之外,Protobuf 还支持定义 RPC 
服务,它允许我们定义一个 <code>.proto</code> 的服务描述文件,进而利用 Protobuf Compiler 工具生成特定语言和 RPC 
框架的接口和 stub。后续将要具体讲到的 gRPC + Protobuf、Dubbo-gRPC + Protobuf 以及 Dubbo + Protobuf 
都是通过定制 Compiler 类实现的。</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-fallback data-lang=fallback><span 
style=display:flex><span>service SearchService {
 </span></span><span style=display:flex><span> rpc Search (SearchRequest) 
returns (SearchResponse);
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h2 id=dubbo-所做的支持>Dubbo 
所做的支持</h2><p>跨语言的服务开发涉及到多个方面,从服务定义、RPC 协议到序列化协议都要做到语言中立,同时还针对每种语言有对应的 SDK 
实现。虽然得益于社区的贡献,现在 Dubbo 在多语言 SDK 实现上逐步有了起色,已经提供了包括 Java, Go, PHP, C#, Python, 
NodeJs, C 
等版本的客户端或全量实现版本,但在以上提到的跨语言友好型方面,以上三点还是有很多可改进之处。</p><ul><li><p>协议,上面我们已经分析过 Dubbo 
协议既有的缺点,如果能在 HTTP/2 
之上构建应用层协议,则无疑能避免这些弊端,同时最大可能的提高协议的穿透性,避免网关等协议转换组件的存在,更有利于链路上的流量管控。考虑到 gRPC 是构建在 
HTTP/2 之上,并且已经是云原生领域推荐的通信协议,Dubbo 在第一阶段选择了直接支持 gRPC
  协议作为当前的 HTTP/2 解决方案。我们也知道 gRPC 框架自身的弊端在于易用 [...]
+</span></span></code></pre></div><h2 id=dubbo-所做的支持>Dubbo 
所做的支持</h2><p>跨语言的服务开发涉及到多个方面,从服务定义、RPC 协议到序列化协议都要做到语言中立,同时还针对每种语言有对应的 SDK 
实现。虽然得益于社区的贡献,现在 Dubbo 在多语言 SDK 实现上逐步有了起色,已经提供了包括 Java, Go, PHP, C#, Python, 
NodeJs, C 
等版本的客户端或全量实现版本,但在以上提到的跨语言友好型方面,以上三点还是有很多可改进之处。</p><ul><li><p>协议,上面我们已经分析过 Dubbo 
协议既有的缺点,如果能在 HTTP/2 
之上构建应用层协议,则无疑能避免这些弊端,同时最大可能的提高协议的穿透性,避免网关等协议转换组件的存在,更有利于链路上的流量管控。考虑到 gRPC 是构建在 
HTTP/2 之上,并且已经是云原生领域推荐的通信协议,Dubbo 在第一阶段选择了直接支持 gRPC
  协议作为当前的 HTTP/2 解决方案。我们也知道 gRPC 框架自身的弊端在于易用 [...]
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>option java_multiple_files = 
<span style=color:#cb4b16>true</span>;
 </span></span><span style=display:flex><span>option java_package = <span 
style=color:#2aa198>&#34;io.grpc.examples.helloworld&#34;</span>;
@@ -469,7 +469,7 @@
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;/execution&gt;</span>
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>&lt;/executions&gt;</span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>&lt;/plugin&gt;</span>
-</span></span></code></pre></div><p>注意,这里与 <a 
href=https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc>Dubbo
 对 gRPC</a> 支持部分的区别在于:
+</span></span></code></pre></div><p>注意,这里与 <a 
href=https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc>Dubbo
 对 gRPC</a> 支持部分的区别在于:
 <code>&lt;pluginParameter>dubbo&lt;/pluginParameter></code></p><ol 
start=2><li><p>生成 Dubbo stub</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:#586e75># 运行以下 maven 命令</span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>$mvn</span> clean compile
 </span></span></code></pre></div><p>生成的 Java 类如下:</p><p><img 
src=/imgs/blog/grpc/compiler-protobuf.png 
alt=image-20191028201240976></p><p>DemoServiceDubbo 为 Dubbo 定制的 stub</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-java data-lang=java><span style=display:flex><span><span 
style=color:#268bd2>public</span> <span style=color:#268bd2>final</span> <span 
style=color:#268bd2>class</span> <spa [...]
diff --git 
"a/zh-cn/blog/2020/05/11/\344\273\216-2019-\345\210\260-2020apache-dubbo-\345\271\264\345\272\246\345\233\236\351\241\276\344\270\216\346\200\273\347\273\223/index.html"
 
"b/zh-cn/blog/2020/05/11/\344\273\216-2019-\345\210\260-2020apache-dubbo-\345\271\264\345\272\246\345\233\236\351\241\276\344\270\216\346\200\273\347\273\223/index.html"
index 85967869acb..940205b9945 100644
--- 
"a/zh-cn/blog/2020/05/11/\344\273\216-2019-\345\210\260-2020apache-dubbo-\345\271\264\345\272\246\345\233\236\351\241\276\344\270\216\346\200\273\347\273\223/index.html"
+++ 
"b/zh-cn/blog/2020/05/11/\344\273\216-2019-\345\210\260-2020apache-dubbo-\345\271\264\345\272\246\345\233\236\351\241\276\344\270\216\346\200\273\347\273\223/index.html"
@@ -1,7 +1,7 @@
 <!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/blog/2020/05/11/%E4%BB%8E-2019-%E5%88%B0-2020apache-dubbo-%E5%B9%B4%E5%BA%A6%E5%9B%9E%E9%A1%BE%E4%B8%8E%E6%80%BB%E7%BB%93/><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(
 [...]
 <meta property="og:description" content="通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩
-"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2020/05/11/%E4%BB%8E-2019-%E5%88%B0-2020apache-dubbo-%E5%B9%B4%E5%BA%A6%E5%9B%9E%E9%A1%BE%E4%B8%8E%E6%80%BB%E7%BB%93/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2020-05-11T00:00:00+00:00"><meta 
property="article:modified_time" content="2023-08-09T19:18:25+08:00"><meta 
itemprop=name content="从 2019 到 2020,Apache Dubbo 年 [...]
-"><meta itemprop=datePublished content="2020-05-11T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-08-09T19:18:25+08:00"><meta 
itemprop=wordCount content="722"><meta itemprop=keywords content="新闻动态,"><meta 
name=twitter:card content="summary"><meta name=twitter:title content="从 2019 到 
2020,Apache Dubbo 年度回顾与总结"><meta name=twitter:description 
content="通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩
+"><meta property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/blog/2020/05/11/%E4%BB%8E-2019-%E5%88%B0-2020apache-dubbo-%E5%B9%B4%E5%BA%A6%E5%9B%9E%E9%A1%BE%E4%B8%8E%E6%80%BB%E7%BB%93/";><meta
 property="article:section" content="blog"><meta 
property="article:published_time" content="2020-05-11T00:00:00+00:00"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="从 2019 到 2020,Apache Dubbo 年 [...]
+"><meta itemprop=datePublished content="2020-05-11T00:00:00+00:00"><meta 
itemprop=dateModified content="2023-12-15T15:20:45+08:00"><meta 
itemprop=wordCount content="722"><meta itemprop=keywords content="新闻动态,"><meta 
name=twitter:card content="summary"><meta name=twitter:title content="从 2019 到 
2020,Apache Dubbo 年度回顾与总结"><meta name=twitter:description 
content="通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩
 "><script async 
src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J";></script><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.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
 as=style><link 
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffd
 [...]
 "><meta property="og:description" content="通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩
 "><meta name=twitter:description content="通过这篇文章我们将:总结过去一年 Dubbo 社区取得的成绩
@@ -218,7 +218,7 @@ Dubbo Java 版本的典型服务定义如下:</p><div class=highlight><pre tab
 </span></span><span style=display:flex><span>}
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>CompletableFuture<span 
style=color:#719e07>&lt;</span>String<span style=color:#719e07>&gt;</span> 
future <span style=color:#719e07>=</span> helloService.sayHello(<span 
style=color:#2aa198>&#34;world&#34;</span>); 
-</span></span></code></pre></div><p>以上示例都是基于 Java Interface 来描述 Dubbo 
服务的,如果要和多语言异构的微服务实现互调,则服务又需要用相应语言的方式重新定义一遍,无法实现跨语言的服务复用;另外跨语言的序列化也是需要注意的一个问题。</p><p>为此
 2.7.5 版本引入了对 IDL + Protobuf 的支持,以解决跨语言的服务定义问题,具体可参见示例:</p><p><a 
href=https://github.com/apache/dubbo-samples/tree/master/3-extensions/serialization/dubbo-samples-protobuf>dubbo-samples-protobuf</a></p><p><img
 src=/imgs/blog/service-idl.png alt="service idl"></p><p>对 Reactive-style API 
的支持则和上面 CompletableFuture 有些类似,允许用户定义 RxJava、Reac [...]
+</span></span></code></pre></div><p>以上示例都是基于 Java Interface 来描述 Dubbo 
服务的,如果要和多语言异构的微服务实现互调,则服务又需要用相应语言的方式重新定义一遍,无法实现跨语言的服务复用;另外跨语言的序列化也是需要注意的一个问题。</p><p>为此
 2.7.5 版本引入了对 IDL + Protobuf 的支持,以解决跨语言的服务定义问题,具体可参见示例:</p><p><a 
href=https://github.com/apache/dubbo-samples/tree/master/3-extensions/serialization/dubbo-samples-protobuf>dubbo-samples-protobuf</a></p><p><img
 src=/imgs/blog/service-idl.png alt="service idl"></p><p>对 Reactive-style API 
的支持则和上面 CompletableFuture 有些类似,允许用户定义 RxJava、Reac [...]
 </span></span><span 
style=display:flex><span>dubbo.{config-type}[.{config-id}].{config-item} <span 
style=color:#2aa198>{config-item-value}</span>
 </span></span><span style=display:flex><span><span style=color:#586e75># 
服务级别</span>
 </span></span><span 
style=display:flex><span>dubbo.service.{interface-name}[.{method-name}].{config-item}
 <span style=color:#2aa198>{config-item-value}</span>
diff --git a/zh-cn/blog/integration/index.xml b/zh-cn/blog/integration/index.xml
index 9767a7c2c14..155fd67498a 100644
--- a/zh-cn/blog/integration/index.xml
+++ b/zh-cn/blog/integration/index.xml
@@ -1625,7 +1625,7 @@ dubbo-storage-service.xml&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sh seata-server.sh 
-p &lt;span style="color:#2aa198">8091&lt;/span> -h 127.0.0.1 -m file
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="step-5-运行例子">Step 
5: 运行例子&lt;/h3>
 &lt;ul>
-&lt;li>启动账户服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
+&lt;li>启动账户服务 (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
 &lt;li>启动库存服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
 &lt;li>启动订单服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
 &lt;li>运行BusinessService入口 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>
diff --git a/zh-cn/blog/java/demos/index.xml b/zh-cn/blog/java/demos/index.xml
index 775963dc439..40a84efcfbd 100644
--- a/zh-cn/blog/java/demos/index.xml
+++ b/zh-cn/blog/java/demos/index.xml
@@ -1817,7 +1817,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
 &lt;h2 id="示例">示例&lt;/h2>
 &lt;h3 id="示例-1使用-dubbo-开发-grpc-服务">示例 1,使用 Dubbo 开发 gRPC 服务&lt;/h3>
 &lt;p>&lt;a href="https://grpc.io/";>gRPC&lt;/a> 是 Google 开源的构建在 HTTP/2 之上的一个 
PRC 通信协议。Dubbo 依赖其灵活的协议扩展机制,增加了对 gRPC (HTTP/2) 协议的支持。&lt;/p>
-&lt;p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>简单的示例&lt;/a>来演示如何在
 Dubbo 中使用 gRPC 协议通信。&lt;/p>
+&lt;p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>简单的示例&lt;/a>来演示如何在
 Dubbo 中使用 gRPC 协议通信。&lt;/p>
 &lt;h4 id="1-定义服务-idl">1. 定义服务 IDL&lt;/h4>
 &lt;p>首先,通过标准的 Protobuf 协议定义服务如下:&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-go" data-lang="go">&lt;span 
style="display:flex;">&lt;span>syntax = &lt;span 
style="color:#2aa198">&amp;#34;proto3&amp;#34;&lt;/span>;
@@ -2134,7 +2134,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;/execution&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;/executions&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;/plugin&amp;gt;&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>注意,这里与 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>Dubbo
 对 gRPC&lt;/a> 支持部分的区别在于:
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>注意,这里与 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>Dubbo
 对 gRPC&lt;/a> 支持部分的区别在于:
 &lt;code> 
&amp;lt;pluginParameter&amp;gt;dubbo&amp;lt;/pluginParameter&amp;gt;&lt;/code>&lt;/p>
 &lt;ol start="2">
 &lt;li>
diff --git a/zh-cn/blog/news/index.xml b/zh-cn/blog/news/index.xml
index 91d325e3625..e1628613608 100644
--- a/zh-cn/blog/news/index.xml
+++ b/zh-cn/blog/news/index.xml
@@ -2840,7 +2840,7 @@ Dubbo Java 版本的典型服务定义如下:&lt;/p>
 &lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/blog/service-idl.png"; 
alt="service idl">&lt;/p>
 &lt;p>对 Reactive-style API 的支持则和上面 CompletableFuture 有些类似,允许用户定义 
RxJava、Reactor API 的服务接口&lt;/p>
 &lt;p>&lt;img 
src="https://cn.dubbo.apache.org/imgs/blog/idl-dubbo-compiler.png"; alt="idl 
dubbo compiler">&lt;/p>
-&lt;p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>Dubbo
 对 gRPC 的支持&lt;/a>” 一节的讲解。&lt;/p>
+&lt;p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>Dubbo
 对 gRPC 的支持&lt;/a>” 一节的讲解。&lt;/p>
 &lt;h3 id="性能优化">性能优化&lt;/h3>
 &lt;p>2.7 版本在性能优化方面也做了很多的工作,对 Dubbo 业务系统的吞吐量、调用链路响应速度、服务治理链路性能等都有明显提升。&lt;/p>
 &lt;ol>
diff --git a/zh-cn/docs/references/protocols/grpc/index.html 
b/zh-cn/docs/references/protocols/grpc/index.html
index bc639873fa9..95bb2458367 100644
--- a/zh-cn/docs/references/protocols/grpc/index.html
+++ b/zh-cn/docs/references/protocols/grpc/index.html
@@ -1,5 +1,5 @@
 <!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/docs/references/protocols/grpc/><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="width=device-width,initia [...]
-<meta property="og:description" content="grpc:// 协议参考手册"><meta 
property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/grpc/";><meta
 property="article:section" content="docs"><meta 
property="article:modified_time" content="2023-08-09T19:18:25+08:00"><meta 
itemprop=name content="gRPC 协议"><meta itemprop=description content="grpc:// 
协议参考手册"><meta itemprop=dateModified content="2023-08-09T19:18:25+08:00"><meta 
itemprop= [...]
+<meta property="og:description" content="grpc:// 协议参考手册"><meta 
property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/grpc/";><meta
 property="article:section" content="docs"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="gRPC 协议"><meta itemprop=description content="grpc:// 
协议参考手册"><meta itemprop=dateModified content="2023-12-15T15:20:45+08:00"><meta 
itemprop= [...]
 <label for=m-zh-cndocsintroduction-check><a href=/zh-cn/docs/introduction/ 
title="Dubbo3 简介" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsintroduction><span>简介</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-zh-cndocsnew-in-dubbo3-li><input type=checkbox 
id=m-zh-cndocsnew-in-dubbo3-check>
 <label for=m-zh-cndocsnew-in-dubbo3-check><a href=/zh-cn/docs/new-in-dubbo3/ 
title="What's New in Dubbo3" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" 
id=m-zh-cndocsnew-in-dubbo3><span>新版本特性速览</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-zh-cndocsquick-start-li><input type=checkbox 
id=m-zh-cndocsquick-start-check>
 <label for=m-zh-cndocsquick-start-check><a href=/zh-cn/docs/quick-start/ 
title="Spring Boot 快速开发 Dubbo 服务" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" 
id=m-zh-cndocsquick-start><span>快速开始</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" 
id=m-zh-cndocsconcepts-li><input type=checkbox id=m-zh-cndocsconcepts-check>
@@ -210,8 +210,8 @@
 <label for=m-zh-cndocsreferencesroutersdestination-rule-check><a 
href=/zh-cn/docs/references/routers/destination-rule/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsreferencesroutersdestination-rule><span>DestinationRule</span></a></label></li></ul></li></ul></li><li
 class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" 
id=m-zh-cndocsperformance-li><input type=checkbox 
id=m-zh-cndocsperformance-check>
 <label for=m-zh-cndocsperformance-check><a href=/zh-cn/docs/performance/ 
title="性能优化 & 基准测试" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cndocsperformance><span>性能优化</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
without-child" id=m-zh-cndocsperformancebenchmarking-li><input type=checkbox 
id=m-zh-cndocsperformancebenchmarking-check>
 <label for=m-zh-cndocsperformancebenchmarking-check><a 
href=/zh-cn/docs/performance/benchmarking/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsperformancebenchmarking><span>基准测试</span></a></label></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-cn/docs/>文档</a></li><li cl [...]
-都可以考虑启用 gRPC 协议。</p><h2 id=支持-grpc-的好处>支持 gRPC 的好处</h2><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 id=如何在-dubbo-中使用-grpc>如何在 Dubbo 中使用 
gRPC</h2><p>大概需要以下步骤:</p><ol><li>使用 IDL 定义服务</li><li>配置 compiler 
插件,本地预编译</li><li>配置暴露/引用 Dubbo 服务</li></ol><p>具体可参见以下<a 
href=https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc>示例</a></p><p>除了原生
 StreamObserver 接口类型之外,Dubbo 还支持 <a href=https://github.com/apache/ [...]
-<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
 [...]
+都可以考虑启用 gRPC 协议。</p><h2 id=支持-grpc-的好处>支持 gRPC 的好处</h2><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 id=如何在-dubbo-中使用-grpc>如何在 Dubbo 中使用 
gRPC</h2><p>大概需要以下步骤:</p><ol><li>使用 IDL 定义服务</li><li>配置 compiler 
插件,本地预编译</li><li>配置暴露/引用 Dubbo 服务</li></ol><p>具体可参见以下<a 
href=https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc>示例</a></p><p>除了原生
 StreamObserver 接口类型之外,Dub [...]
+<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/docs/references/protocols/gRPC.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+Edit+the+%22front+matter%2
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=gRPC%20%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><nav id=TableOfContents><ul><li><a 
href=#支持-grpc-的好处>支持 gRPC 的好处</a></li><li><a href=#如何在-dubbo-中使用-grpc>如何在 Dubbo 
中使用 gRPC</a></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 
row d-print-none footer-margin-0"><div class="container-fluid mx-sm-5"><div 
class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"><ul 
class="list-inline mb-0"><li class="l [...]
\ No newline at end of file
diff --git a/zh-cn/docs/references/protocols/index.xml 
b/zh-cn/docs/references/protocols/index.xml
index d51ab0fd7fa..d956e060a2f 100644
--- a/zh-cn/docs/references/protocols/index.xml
+++ b/zh-cn/docs/references/protocols/index.xml
@@ -293,8 +293,8 @@
 &lt;li>配置 compiler 插件,本地预编译&lt;/li>
 &lt;li>配置暴露/引用 Dubbo 服务&lt;/li>
 &lt;/ol>
-&lt;p>具体可参见以下&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
-&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API&lt;/p></description></item><item><title>Docs: memcached 
协议</title><link>https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/memcached/</link><pubDate>Mon,
 01 Jan [...]
+&lt;p>具体可参见以下&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
+&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API&lt;/p></description></item><item><title>Docs: memcached 
协议</title><link>https://cn.dubb [...]
 &lt;div class="pageinfo pageinfo-primary">
 &lt;p>此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅&lt;a 
href="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/";>最新版本&lt;/a>。&lt;/p>
 &lt;/div>
diff --git a/zh-cn/docsv2.7/user/references/protocol/grpc/index.html 
b/zh-cn/docsv2.7/user/references/protocol/grpc/index.html
index 4cebb059710..f7aa55f3e7d 100644
--- a/zh-cn/docsv2.7/user/references/protocol/grpc/index.html
+++ b/zh-cn/docsv2.7/user/references/protocol/grpc/index.html
@@ -1,5 +1,5 @@
 <!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/docsv2.7/user/references/protocol/grpc/><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="width=device-widt [...]
-<meta property="og:description" content="grpc:// 协议参考手册"><meta 
property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/docsv2.7/user/references/protocol/grpc/";><meta
 property="article:section" content="docsv2.7"><meta 
property="article:modified_time" content="2023-08-09T19:18:25+08:00"><meta 
itemprop=name content="gRPC 协议"><meta itemprop=description content="grpc:// 
协议参考手册"><meta itemprop=dateModified content="2023-08-09T19:18:25+08:00"><me 
[...]
+<meta property="og:description" content="grpc:// 协议参考手册"><meta 
property="og:type" content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/docsv2.7/user/references/protocol/grpc/";><meta
 property="article:section" content="docsv2.7"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="gRPC 协议"><meta itemprop=description content="grpc:// 
协议参考手册"><meta itemprop=dateModified content="2023-12-15T15:20:45+08:00"><me 
[...]
 <label for=m-zh-cndocsv27user-check><a href=/zh-cn/docsv2.7/user/ 
class="align-left pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-zh-cndocsv27user><span>用户文档</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child" id=m-zh-cndocsv27userpreface-li><input type=checkbox 
id=m-zh-cndocsv27userpreface-check>
 <label for=m-zh-cndocsv27userpreface-check><a 
href=/zh-cn/docsv2.7/user/preface/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cndocsv27userpreface><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-cndocsv27userprefacebackground-li><input type=checkbox 
id=m-zh-cndocsv27userprefacebackground-check>
 <label for=m-zh-cndocsv27userprefacebackground-check><a 
href=/zh-cn/docsv2.7/user/preface/background/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsv27userprefacebackground><span>背景</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-zh-cndocsv27userprefacerequirements-li><input type=checkbox 
id=m-zh-cndocsv27userprefacerequirements-check>
@@ -198,8 +198,8 @@
 <label for=m-zh-cndocsv27admininstallredis-check><a 
href=/zh-cn/docsv2.7/admin/install/redis/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsv27admininstallredis><span>Redis 
注册中心安装</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cndocsv27admininstallzookeeper-li><input type=checkbox 
id=m-zh-cndocsv27admininstallzookeeper-check>
 <label for=m-zh-cndocsv27admininstallzookeeper-check><a 
href=/zh-cn/docsv2.7/admin/install/zookeeper/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsv27admininstallzookeeper><span>Zookeeper 
注册中心安装</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cndocsv27admininstallmonitor-center-li><input type=checkbox 
id=m-zh-cndocsv27admininstallmonitor-center-check>
 <label for=m-zh-cndocsv27admininstallmonitor-center-check><a 
href=/zh-cn/docsv2.7/admin/install/monitor-center/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cndocsv27admininstallmonitor-center><span>Simple 
监控中心安装</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.a [...]
-都可以考虑启用 gRPC 协议。</p><h2 id=支持-grpc-的好处>支持 gRPC 的好处</h2><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 id=如何在-dubbo-中使用-grpc>如何在 Dubbo 中使用 
gRPC</h2><p>大概需要以下步骤:</p><ol><li>使用 IDL 定义服务</li><li>配置 compiler 
插件,本地预编译</li><li>配置暴露/引用 Dubbo 服务</li></ol><p>具体可参见以下<a 
href=https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc>示例</a></p><p>除了原生
 StreamObserver 接口类型之外,Dubbo 还支持 <a href=https://github.com/apache/ [...]
-<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
 [...]
+都可以考虑启用 gRPC 协议。</p><h2 id=支持-grpc-的好处>支持 gRPC 的好处</h2><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 id=如何在-dubbo-中使用-grpc>如何在 Dubbo 中使用 
gRPC</h2><p>大概需要以下步骤:</p><ol><li>使用 IDL 定义服务</li><li>配置 compiler 
插件,本地预编译</li><li>配置暴露/引用 Dubbo 服务</li></ol><p>具体可参见以下<a 
href=https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc>示例</a></p><p>除了原生
 StreamObserver 接口类型之外,Dub [...]
+<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/docsv2.7/user/references/protocol/gRPC.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+Edit+the+%22front+
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=gRPC%20%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><nav id=TableOfContents><ul><li><a 
href=#支持-grpc-的好处>支持 gRPC 的好处</a></li><li><a href=#如何在-dubbo-中使用-grpc>如何在 Dubbo 
中使用 gRPC</a></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 
row d-print-none footer-margin-0"><div class="container-fluid mx-sm-5"><div 
class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"><ul 
class="list-inline mb-0"><li class="l [...]
\ No newline at end of file
diff --git a/zh-cn/docsv2.7/user/references/protocol/index.xml 
b/zh-cn/docsv2.7/user/references/protocol/index.xml
index ba0f5542540..4ad5f86a2b1 100644
--- a/zh-cn/docsv2.7/user/references/protocol/index.xml
+++ b/zh-cn/docsv2.7/user/references/protocol/index.xml
@@ -715,8 +715,8 @@
 &lt;li>配置 compiler 插件,本地预编译&lt;/li>
 &lt;li>配置暴露/引用 Dubbo 服务&lt;/li>
 &lt;/ol>
-&lt;p>具体可参见以下&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
-&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API&lt;/p></description></item><item><title>Docsv2.7: memcached 
协议</title><link>https://cn.dubbo.apache.org/zh-cn/docsv2.7/user/references/protocol/memcached/</link><pubDate
 [...]
+&lt;p>具体可参见以下&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
+&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API&lt;/p></description></item><item><title>Docsv2.7: memcached 
协议</title><link>https://cn. [...]
 &lt;p>基于 memcached &lt;sup id="fnref:1">&lt;a href="#fn:1" 
class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> 实现的 RPC 协议。&lt;/p>
 &lt;div class="alert alert-primary" role="alert">
 &lt;h4 class="alert-heading">提示&lt;/h4>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/index.html 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/index.html
index 941e32d6340..3bb8280a8c1 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/index.html
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/index.html
@@ -1,5 +1,5 @@
 <!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/grpc/><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= [...]
-<meta property="og:description" content="gRPC协议"><meta property="og:type" 
content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/";><meta
 property="article:section" content="overview"><meta 
property="article:modified_time" content="2023-08-09T19:18:25+08:00"><meta 
itemprop=name content="gRPC协议"><meta itemprop=description 
content="gRPC协议"><meta itemprop=dateModified 
content="2023-08-09T19:18:25+08:00"><m [...]
+<meta property="og:description" content="gRPC协议"><meta property="og:type" 
content="article"><meta property="og:url" 
content="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/grpc/";><meta
 property="article:section" content="overview"><meta 
property="article:modified_time" content="2023-12-15T15:20:45+08:00"><meta 
itemprop=name content="gRPC协议"><meta itemprop=description 
content="gRPC协议"><meta itemprop=dateModified 
content="2023-12-15T15:20:45+08:00"><m [...]
 <label for=m-zh-cnoverviewhome-check><a href=/zh-cn/overview/home/ 
title="Dubbo 文档" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewhome><span>主页</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" 
id=m-zh-cnoverviewquickstart-li><input type=checkbox 
id=m-zh-cnoverviewquickstart-check>
 <label for=m-zh-cnoverviewquickstart-check><a href=/zh-cn/overview/quickstart/ 
title="Dubbo 入门" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewquickstart><span>入门</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child" id=m-zh-cnoverviewquickstartjava-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjava-check>
 <label for=m-zh-cnoverviewquickstartjava-check><a 
href=/zh-cn/overview/quickstart/java/ title="Java 微服务开发入门" class="align-left 
pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewquickstartjava><span>Java</span></a></label><ul class="ul-3 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
without-child" id=m-zh-cnoverviewquickstartjavabrief-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjavabrief-check>
@@ -680,8 +680,8 @@
 <label for=m-zh-cnoverviewnoticesprotocol-check><a 
href=/zh-cn/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticesprotocol><span>RPC 
协议安全</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewnoticesregistry-li><input type=checkbox 
id=m-zh-cnoverviewnoticesregistry-check>
 <label for=m-zh-cnoverviewnoticesregistry-check><a 
href=/zh-cn/overview/notices/registry/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" 
id=m-zh-cnoverviewnoticesregistry><span>注册中心安全</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewnoticeslog4j-li><input type=checkbox 
id=m-zh-cnoverviewnoticeslog4j-check>
 <label for=m-zh-cnoverviewnoticeslog4j-check><a 
href=/zh-cn/overview/notices/log4j/ class="align-left pl-0 td-sidebar-link 
td-sidebar-link__page" id=m-zh-cnoverviewnoticeslog4j><span>Log4j 
漏洞影响</span></a></label></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-cn/overview/>文档</a></li><li class=breadcr 
[...]
-都可以考虑启用 gRPC 协议。</p><h4 id=支持-grpc-的好处>支持 gRPC 的好处</h4><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 
id=使用场景>使用场景</h2><ul><li>需要立即响应才能继续处理的同步后端微服务到微服务通信。</li><li>需要支持混合编程平台的 
Polyglot 环境。</li><li>性能至关重要的低延迟和高吞吐量通信。</li><li>点到点实时通信 - gRPC 
无需轮询即可实时推送消息,并且能对双向流式处理提供出色的支持。</li><li>网络受约束环境 - 二进制 gRPC 消息始终小于等效的基于文本的 JSON 
消息。</li></ul><h2 id=使用方式>使用方式</h2><h3 id=在-dubbo-中使用-grpc>在 Dubbo 中使用 
gRPC</h3><p><a href=https://github.com/apache/d [...]
-<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
 [...]
+都可以考虑启用 gRPC 协议。</p><h4 id=支持-grpc-的好处>支持 gRPC 的好处</h4><ul><li>为期望使用 gRPC 
协议的用户带来服务治理能力,方便接入 Dubbo 体系</li><li>用户可以使用 Dubbo 
风格的,基于接口的编程风格来定义和使用远程服务</li></ul><h2 
id=使用场景>使用场景</h2><ul><li>需要立即响应才能继续处理的同步后端微服务到微服务通信。</li><li>需要支持混合编程平台的 
Polyglot 环境。</li><li>性能至关重要的低延迟和高吞吐量通信。</li><li>点到点实时通信 - gRPC 
无需轮询即可实时推送消息,并且能对双向流式处理提供出色的支持。</li><li>网络受约束环境 - 二进制 gRPC 消息始终小于等效的基于文本的 JSON 
消息。</li></ul><h2 id=使用方式>使用方式</h2><h3 id=在-dubbo-中使用-grpc>在 Dubbo 中使用 
gRPC</h3><p><a href=https://github.com/apache/d [...]
+<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/grpc.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=gRPC%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><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=#在-dubbo-中使用-grpc>在 Dubbo 中使用 
gRPC</a></li><li><a 
href=#步骤>步骤</a></li></ul></li></ul></nav></div></div></div></div><footer 
class="bg-dark py-5 row d-print-none footer-margin-0"><div 
class="container-fluid mx-sm-5"><div class=r [...]
\ No newline at end of file
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 a1da77d24c2..8c4aba5649c 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
@@ -790,7 +790,7 @@ Interface 方式。&lt;/p>
 &lt;/ul>
 &lt;h2 id="使用方式">使用方式&lt;/h2>
 &lt;h3 id="在-dubbo-中使用-grpc">在 Dubbo 中使用 gRPC&lt;/h3>
-&lt;p>&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
+&lt;p>&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>示例&lt;/a>&lt;/p>
 &lt;h3 id="步骤">步骤&lt;/h3>
 &lt;ol>
 &lt;li>使用 IDL 定义服务&lt;/li>
@@ -798,7 +798,7 @@ Interface 方式。&lt;/p>
 &lt;li>配置暴露/引用 Dubbo 服务&lt;/li>
 &lt;/ol>
 &lt;blockquote>
-&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API。&lt;/p>
+&lt;p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>RxJava&lt;/a>、&lt;a
 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor";>Reactor&lt;/a>
 编程风格的 API。&lt;/p>
 &lt;/blockquote></description></item><item><title>Overview: 
HTTP协议</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/http/</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/http/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
 &lt;p>基于 HTTP 表单的远程调用协议,采用 Spring 的 HttpInvoker 实现,&lt;code>2.3.0&lt;/code> 
以上版本支持。&lt;/p>
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 2d798c36b90..0868cd23ee5 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-11-28T15:14:12+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-11-28T15:14:12+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
diff --git a/zh-cn/tags/java/index.xml b/zh-cn/tags/java/index.xml
index cc7017213d9..854e7b54a34 100644
--- a/zh-cn/tags/java/index.xml
+++ b/zh-cn/tags/java/index.xml
@@ -13521,7 +13521,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
 &lt;h2 id="示例">示例&lt;/h2>
 &lt;h3 id="示例-1使用-dubbo-开发-grpc-服务">示例 1,使用 Dubbo 开发 gRPC 服务&lt;/h3>
 &lt;p>&lt;a href="https://grpc.io/";>gRPC&lt;/a> 是 Google 开源的构建在 HTTP/2 之上的一个 
PRC 通信协议。Dubbo 依赖其灵活的协议扩展机制,增加了对 gRPC (HTTP/2) 协议的支持。&lt;/p>
-&lt;p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>简单的示例&lt;/a>来演示如何在
 Dubbo 中使用 gRPC 协议通信。&lt;/p>
+&lt;p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>简单的示例&lt;/a>来演示如何在
 Dubbo 中使用 gRPC 协议通信。&lt;/p>
 &lt;h4 id="1-定义服务-idl">1. 定义服务 IDL&lt;/h4>
 &lt;p>首先,通过标准的 Protobuf 协议定义服务如下:&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-go" data-lang="go">&lt;span 
style="display:flex;">&lt;span>syntax = &lt;span 
style="color:#2aa198">&amp;#34;proto3&amp;#34;&lt;/span>;
@@ -13838,7 +13838,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;/execution&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;/executions&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;/plugin&amp;gt;&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>注意,这里与 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc";>Dubbo
 对 gRPC&lt;/a> 支持部分的区别在于:
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>注意,这里与 &lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc";>Dubbo
 对 gRPC&lt;/a> 支持部分的区别在于:
 &lt;code> 
&amp;lt;pluginParameter&amp;gt;dubbo&amp;lt;/pluginParameter&amp;gt;&lt;/code>&lt;/p>
 &lt;ol start="2">
 &lt;li>
diff --git 
"a/zh-cn/tags/\346\226\260\351\227\273\345\212\250\346\200\201/index.xml" 
"b/zh-cn/tags/\346\226\260\351\227\273\345\212\250\346\200\201/index.xml"
index 5f2826729df..89a9d5cec58 100644
--- "a/zh-cn/tags/\346\226\260\351\227\273\345\212\250\346\200\201/index.xml"
+++ "b/zh-cn/tags/\346\226\260\351\227\273\345\212\250\346\200\201/index.xml"
@@ -866,7 +866,7 @@ Dubbo Java 版本的典型服务定义如下:&lt;/p>
 &lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/blog/service-idl.png"; 
alt="service idl">&lt;/p>
 &lt;p>对 Reactive-style API 的支持则和上面 CompletableFuture 有些类似,允许用户定义 
RxJava、Reactor API 的服务接口&lt;/p>
 &lt;p>&lt;img 
src="https://cn.dubbo.apache.org/imgs/blog/idl-dubbo-compiler.png"; alt="idl 
dubbo compiler">&lt;/p>
-&lt;p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”&lt;a 
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava";>Dubbo
 对 gRPC 的支持&lt;/a>” 一节的讲解。&lt;/p>
+&lt;p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”&lt;a 
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava";>Dubbo
 对 gRPC 的支持&lt;/a>” 一节的讲解。&lt;/p>
 &lt;h3 id="性能优化">性能优化&lt;/h3>
 &lt;p>2.7 版本在性能优化方面也做了很多的工作,对 Dubbo 业务系统的吞吐量、调用链路响应速度、服务治理链路性能等都有明显提升。&lt;/p>
 &lt;ol>
diff --git "a/zh-cn/tags/\347\224\237\346\200\201/index.xml" 
"b/zh-cn/tags/\347\224\237\346\200\201/index.xml"
index 6d0e9de2d92..0a8f6446531 100644
--- "a/zh-cn/tags/\347\224\237\346\200\201/index.xml"
+++ "b/zh-cn/tags/\347\224\237\346\200\201/index.xml"
@@ -1789,7 +1789,7 @@ dubbo-storage-service.xml&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sh seata-server.sh 
-p &lt;span style="color:#2aa198">8091&lt;/span> -h 127.0.0.1 -m file
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="step-5-运行例子">Step 
5: 运行例子&lt;/h3>
 &lt;ul>
-&lt;li>启动账户服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
+&lt;li>启动账户服务 (&lt;a 
href="https://github.com/apache/dubbo-integration-cases/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboAccountServiceStarter.java";>DubboAccountServiceStarter&lt;/a>).&lt;/li>
 &lt;li>启动库存服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboStorageServiceStarter.java";>DubboStorageServiceStarter&lt;/a>).&lt;/li>
 &lt;li>启动订单服务 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboOrderServiceStarter.java";>DubboOrderServiceStarter&lt;/a>).&lt;/li>
 &lt;li>运行BusinessService入口 (&lt;a 
href="https://github.com/apache/dubbo-samples/blob/master/99-integration/dubbo-samples-transaction/src/main/java/org/apache/dubbo/samples/starter/DubboBusinessTester.java";>DubboBusinessTester&lt;/a>).&lt;/li>

Reply via email to