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&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</p>
</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/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
-<li>Start OrderService (<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</a>).</li>
-<li>Run BusinessService for test (<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</a>).</li>
+<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/apache/dubbo/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
+<li>Start OrderService (<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</a>).</li>
+<li>Run BusinessService for test (<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</a>).</li>
</ul>
<h3 id="related-projects">Related projects</h3>
<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</p>
</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/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
-<li>Start OrderService (<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</a>).</li>
-<li>Run BusinessService for test (<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</a>).</li>
+<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/apache/dubbo/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
+<li>Start OrderService (<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</a>).</li>
+<li>Run BusinessService for test (<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</a>).</li>
</ul>
<h3 id="related-projects">Related projects</h3>
<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
<code>Serializable</code> check configura
</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/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist</span>
-</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>
+<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-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist</span>
+</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 &gt; user-defined untrusted class = built-in untrusted class of
the framework &gt; 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 view the current
configuration information, <code>serializeWarnedClasses</code> to view
the real-time alarm list.</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>> curl
http://127.0.0.1:22222/serializeWarnedClasses
</span></span><span style=display:flex><span><span
style=color:#719e07>{</span><span
style=color:#2aa198>"warnedClasses"</span>:<span
style=color:#719e07>[</span><span
style=color:#2aa198>"io.dubbo.test2.NotSerializable"</span>,<span
style=color:#2aa198>"org.apache.dubbo.samples.NotSerializable"</span>,<span
style=color:#2aa198>"io.dubbo.test.NotSerializable"</span>,<span
style=color:#2aa198>"io.dubbo.test2.OthersSerializable"</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&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
<code>Serializable</code> check configura
</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/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist</span>
-</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>
+<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-integration/dubbo-samples-serialize-check/target/classes/security/serialize.allowlist</span>
+</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 &gt; user-defined untrusted class = built-in untrusted class of
the framework &gt; 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 view the current
configuration information, <code>serializeWarnedClasses</code> to view
the real-time alarm list.</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&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.</p>
</ul>
<h2 id="how-to-use">How to use</h2>
<h3 id="using-grpc-in-dubbo">Using gRPC in Dubbo</h3>
-<p><a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc">Example</a></p>
+<p><a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">Example</a></p>
<h3 id="steps">steps</h3>
<ol>
<li>Define a service using IDL</li>
@@ -765,7 +765,7 @@ You can consider enabling the gRPC protocol.</p>
<li>Configure to expose/reference Dubbo service</li>
</ol>
<blockquote>
-<p>In addition to the native StreamObserver interface type, Dubbo also
supports <a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>,
<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
programming style API.</p>
+<p>In addition to the native StreamObserver interface type, Dubbo also
supports <a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>,
<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
programming style API.</p>
</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>
<h2 id="feature-description">Feature description</h2>
<p>HTTP form-based remote invocation protocol, implemented by
Spring&rsquo;s HttpInvoker, supported by versions above
<code>2.3.0</code>.</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</p>
</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/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
-<li>Start OrderService (<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</a>).</li>
-<li>Run BusinessService for test (<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</a>).</li>
+<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/apache/dubbo/samples/starter/DubboStorageServiceStarter.java">DubboStorageServiceStarter</a>).</li>
+<li>Start OrderService (<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</a>).</li>
+<li>Run BusinessService for test (<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</a>).</li>
</ul>
<h3 id="related-projects">Related projects</h3>
<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&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>"io.grpc.examples.helloworld"</span>;
@@ -469,7 +469,7 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2></execution></span>
</span></span><span style=display:flex><span> <span
style=color:#268bd2></executions></span>
</span></span><span style=display:flex><span><span
style=color:#268bd2></plugin></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><pluginParameter>dubbo</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><</span>String<span style=color:#719e07>></span>
future <span style=color:#719e07>=</span> helloService.sayHello(<span
style=color:#2aa198>"world"</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</p>
</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-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/DubboStorageServiceStarter.java">DubboStorageServiceStarter</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/DubboOrderServiceStarter.java">DubboOrderServiceStarter</a>).</li>
<li>运行BusinessService入口 (<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</a>).</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这边有没有集合文档展示和测试功能,能不用写文档就能
<h2 id="示例">示例</h2>
<h3 id="示例-1使用-dubbo-开发-grpc-服务">示例 1,使用 Dubbo 开发 gRPC 服务</h3>
<p><a href="https://grpc.io/">gRPC</a> 是 Google 开源的构建在 HTTP/2 之上的一个
PRC 通信协议。Dubbo 依赖其灵活的协议扩展机制,增加了对 gRPC (HTTP/2) 协议的支持。</p>
-<p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc">简单的示例</a>来演示如何在
Dubbo 中使用 gRPC 协议通信。</p>
+<p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">简单的示例</a>来演示如何在
Dubbo 中使用 gRPC 协议通信。</p>
<h4 id="1-定义服务-idl">1. 定义服务 IDL</h4>
<p>首先,通过标准的 Protobuf 协议定义服务如下:</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-go" data-lang="go"><span
style="display:flex;"><span>syntax = <span
style="color:#2aa198">&#34;proto3&#34;</span>;
@@ -2134,7 +2134,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
</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&gt;dubbo&lt;/pluginParameter&gt;</code></p>
<ol start="2">
<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 版本的典型服务定义如下:</p>
<p><img src="https://cn.dubbo.apache.org/imgs/blog/service-idl.png"
alt="service idl"></p>
<p>对 Reactive-style API 的支持则和上面 CompletableFuture 有些类似,允许用户定义
RxJava、Reactor API 的服务接口</p>
<p><img
src="https://cn.dubbo.apache.org/imgs/blog/idl-dubbo-compiler.png" alt="idl
dubbo compiler"></p>
-<p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">Dubbo
对 gRPC 的支持</a>” 一节的讲解。</p>
+<p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">Dubbo
对 gRPC 的支持</a>” 一节的讲解。</p>
<h3 id="性能优化">性能优化</h3>
<p>2.7 版本在性能优化方面也做了很多的工作,对 Dubbo 业务系统的吞吐量、调用链路响应速度、服务治理链路性能等都有明显提升。</p>
<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&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 @@
<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/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API</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 [...]
+<p>具体可参见以下<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">示例</a></p>
+<p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 <a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API</p></description></item><item><title>Docs: memcached
协议</title><link>https://cn.dubb [...]
<div class="pageinfo pageinfo-primary">
<p>此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅<a
href="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/memcached/">最新版本</a>。</p>
</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&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 @@
<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/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API</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
[...]
+<p>具体可参见以下<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">示例</a></p>
+<p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 <a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API</p></description></item><item><title>Docsv2.7: memcached
协议</title><link>https://cn. [...]
<p>基于 memcached <sup id="fnref:1"><a href="#fn:1"
class="footnote-ref" role="doc-noteref">1</a></sup> 实现的 RPC 协议。</p>
<div class="alert alert-primary" role="alert">
<h4 class="alert-heading">提示</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&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 方式。</p>
</ul>
<h2 id="使用方式">使用方式</h2>
<h3 id="在-dubbo-中使用-grpc">在 Dubbo 中使用 gRPC</h3>
-<p><a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc">示例</a></p>
+<p><a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">示例</a></p>
<h3 id="步骤">步骤</h3>
<ol>
<li>使用 IDL 定义服务</li>
@@ -798,7 +798,7 @@ Interface 方式。</p>
<li>配置暴露/引用 Dubbo 服务</li>
</ol>
<blockquote>
-<p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 <a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API。</p>
+<p>除了原生 StreamObserver 接口类型之外,Dubbo 还支持 <a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">RxJava</a>、<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-reactor">Reactor</a>
编程风格的 API。</p>
</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>
<h2 id="特性说明">特性说明</h2>
<p>基于 HTTP 表单的远程调用协议,采用 Spring 的 HttpInvoker 实现,<code>2.3.0</code>
以上版本支持。</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这边有没有集合文档展示和测试功能,能不用写文档就能
<h2 id="示例">示例</h2>
<h3 id="示例-1使用-dubbo-开发-grpc-服务">示例 1,使用 Dubbo 开发 gRPC 服务</h3>
<p><a href="https://grpc.io/">gRPC</a> 是 Google 开源的构建在 HTTP/2 之上的一个
PRC 通信协议。Dubbo 依赖其灵活的协议扩展机制,增加了对 gRPC (HTTP/2) 协议的支持。</p>
-<p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc">简单的示例</a>来演示如何在
Dubbo 中使用 gRPC 协议通信。</p>
+<p>目前的支持限定在 Dubbo Java 语言版本,后续 Go 语言或其他语言版本将会以类似方式提供支持。下面,通过一个<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc">简单的示例</a>来演示如何在
Dubbo 中使用 gRPC 协议通信。</p>
<h4 id="1-定义服务-idl">1. 定义服务 IDL</h4>
<p>首先,通过标准的 Protobuf 协议定义服务如下:</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-go" data-lang="go"><span
style="display:flex;"><span>syntax = <span
style="color:#2aa198">&#34;proto3&#34;</span>;
@@ -13838,7 +13838,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
</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&gt;dubbo&lt;/pluginParameter&gt;</code></p>
<ol start="2">
<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 版本的典型服务定义如下:</p>
<p><img src="https://cn.dubbo.apache.org/imgs/blog/service-idl.png"
alt="service idl"></p>
<p>对 Reactive-style API 的支持则和上面 CompletableFuture 有些类似,允许用户定义
RxJava、Reactor API 的服务接口</p>
<p><img
src="https://cn.dubbo.apache.org/imgs/blog/idl-dubbo-compiler.png" alt="idl
dubbo compiler"></p>
-<p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”<a
href="https://github.com/apache/dubbo-samples/tree/master/99-integration/dubbo-samples-grpc/dubbo-samples-rxjava">Dubbo
对 gRPC 的支持</a>” 一节的讲解。</p>
+<p>但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用
gRPC 协议时才有意义,具体请参见示例以及下面关于 ”<a
href="https://github.com/apache/dubbo-samples/tree/925c3d150d9030bc72988564e4f97eca1f6fcb89/3-extensions/protocol/dubbo-samples-grpc/dubbo-samples-rxjava">Dubbo
对 gRPC 的支持</a>” 一节的讲解。</p>
<h3 id="性能优化">性能优化</h3>
<p>2.7 版本在性能优化方面也做了很多的工作,对 Dubbo 业务系统的吞吐量、调用链路响应速度、服务治理链路性能等都有明显提升。</p>
<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</p>
</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-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/DubboStorageServiceStarter.java">DubboStorageServiceStarter</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/DubboOrderServiceStarter.java">DubboOrderServiceStarter</a>).</li>
<li>运行BusinessService入口 (<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</a>).</li>