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 415bc2e3ab9 deploy: 1419c7cce72850627766a2bc7e85d1d0167e76f2
415bc2e3ab9 is described below
commit 415bc2e3ab9e049b18b94cc026f3ad03d883a66c
Author: Alanxtl <[email protected]>
AuthorDate: Mon Apr 13 06:38:19 2026 +0000
deploy: 1419c7cce72850627766a2bc7e85d1d0167e76f2
---
css/app.css | 2 +-
css/chunk-vendors.css | 2 +-
.../tutorial/traffic/condition_router/index.html | 23 ++++++--
.../tutorial/traffic/tag_router/index.html | 27 ++++++++--
en/sitemap.xml | 2 +-
js/app.js | 3 +-
js/chunk-vendors.js | 61 +---------------------
sitemap.xml | 2 +-
zh-cn/index.xml | 2 +-
.../tutorial/traffic/condition_router/index.html | 22 ++++++--
.../mannual/golang-sdk/tutorial/traffic/index.xml | 2 +-
.../tutorial/traffic/tag_router/index.html | 26 +++++++--
zh-cn/sitemap.xml | 2 +-
13 files changed, 89 insertions(+), 87 deletions(-)
diff --git a/css/app.css b/css/app.css
index 44c2a2c2469..b9457c8de14 100644
--- a/css/app.css
+++ b/css/app.css
@@ -1 +1 @@
-h3[data-v-76eccb7f]{margin:40px 0
0}ul[data-v-76eccb7f]{list-style-type:none;padding:0}li[data-v-76eccb7f]{display:inline-block;margin:0
10px}a[data-v-76eccb7f]{color:#42b983}.form-layout[data-v-76eccb7f]{display:flex;justify-content:space-between;align-items:flex-start}.left-form[data-v-76eccb7f]{flex:1;max-width:calc(50%
-
20px);margin-right:20px}.right-text[data-v-76eccb7f]{flex-shrink:0;width:calc(50%
- 20px)}.left-form
.el-form-item__label[data-v-76eccb7f]{text-align:left}.left-form [...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build
time*/
\ No newline at end of file
diff --git a/css/chunk-vendors.css b/css/chunk-vendors.css
index 61c66238ea8..b9457c8de14 100644
--- a/css/chunk-vendors.css
+++ b/css/chunk-vendors.css
@@ -1 +1 @@
-@font-face{font-family:element-icons;src:url(../fonts/element-icons.ff18efd1.woff)
format("woff"),url(../fonts/element-icons.f1a45d74.ttf)
format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*="
el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:gr
[...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build
time*/
\ No newline at end of file
diff --git
a/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
b/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
index 229fab15631..587a68e9514 100644
---
a/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
+++
b/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dub
[...]
+<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dub
[...]
<a class=dropdown-item href=/en/overview/notices/>Security Notices</a>
<a class=dropdown-item href=/en/contact/>Contributor's Guide</a></div></li><li
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link
href=/en/blog/><span>Blog</span></a></li><li class="nav-item nav-item-line px-2
mb-2 mb-lg-0"><a class=nav-link
href=/en/download/><span>DOWNLOAD</span></a></li><li class="nav-item dropdown
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown
role=button data-toggle=dropdown aria-haspopup=true
aria-expanded=false>ECOSYSTEM</ [...]
<a class=dropdown-item
href=/zh-cn/overview/mannual/control-plane/>Visualizable Console</a>
@@ -707,7 +707,7 @@ It uses <code>consumer => provider</code> expressions to
manage traffic for both
</span></span><span style=display:flex><span> ),
</span></span><span style=display:flex><span> )
</span></span><span style=display:flex><span>rep, err <span
style=color:#719e07>:=</span> srv.<span
style=color:#268bd2>Greet</span>(context.<span
style=color:#268bd2>Background</span>(), <span
style=color:#719e07>&</span>greet.GreetRequest{Name: <span
style=color:#2aa198>"hello world"</span>})
-</span></span></code></pre></div><blockquote><p>A configuration in Nacos is
needed if you want to use condition router.</p></blockquote><p>Example
config:</p><blockquote><p>The <code>Data Id</code> of config must be
<code>{application_name}.{router_type}</code> (e.g.
condition-server.condition-router).</p></blockquote><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-yaml data-lang=yaml><span st [...]
+</span></span></code></pre></div><blockquote><p>The example above uses dynamic
configuration and requires a config in Nacos or another config
center.</p></blockquote><p>Example config:</p><blockquote><p>The <code>Data
Id</code> of config must be <code>{application_name}.{router_type}</code> (e.g.
condition-server.condition-router).</p></blockquote><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=languag [...]
</span></span><span style=display:flex><span><span
style=color:#268bd2>scope</span>: <span
style=color:#2aa198>"application"</span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>key</span>: <span
style=color:#2aa198>"condition-server"</span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>priority</span>: <span style=color:#2aa198>1</span>
@@ -719,11 +719,24 @@ It uses <code>consumer => provider</code> expressions to
manage traffic for both
</span></span><span style=display:flex><span> <span
style=color:#268bd2>to</span>:
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>match</span>: <span style=color:#2aa198>"port =
20000"</span>
</span></span></code></pre></div><p>For the complete example, please
-see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/condition>Full
Example Code</a>.</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
[...]
+see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/condition>Full
Example Code</a>.</p><h3 id=static-configuration-api>Static configuration
API</h3><p>Besides the dynamic approach above, condition router also supports
injecting routing rules statically in code. Static configuration does not
require a config center, and it can work with direct URLs or with instances
discovered from a registry.</p><p>The following example shows a service-scope
static condition router: [...]
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(clientApplication),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRouter</span>(
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithScope</span>(<span
style=color:#2aa198>"service"</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithKey</span>(greet.GreetServiceName),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithPriority</span>(<span style=color:#2aa198>100</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithForce</span>(<span style=color:#cb4b16>true</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithConditions</span>([]<span
style=color:#dc322f>string</span>{
+</span></span><span style=display:flex><span> <span
style=color:#2aa198>"method = Greet => port = 20000"</span>,
+</span></span><span style=display:flex><span> }),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>Parameters:</p><ul><li><code>router.WithScope("service")</code>:
applies the rule at service
scope.</li><li><code>router.WithKey(greet.GreetServiceName)</code>: binds the
rule to the target service
key.</li><li><code>router.WithConditions(...)</code>: declares the static
condition expressions.</li><li><code>router.WithForce(true)</code>: controls
whether fallback is allowed when the rule does not match.</li></ul><p>The
static sample in <code>dubbo-go-s [...]
+see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/static_config/condition>Full
Example Code</a>.</p><h3 id=priority-and-merge-semantics>Priority and merge
semantics</h3><ul><li>Dynamically delivered routing rules override static
configuration.</li><li>When <code>dubbo.WithRouter(...)</code> is called
multiple times, append semantics apply and multiple static router entries are
appended to the instance configuration.</li><li>When
<code>router.WithConditions(...)</co [...]
+<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//overview/mannual/golang-sdk/tutorial/traffic/condition_router?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=Condition%20Router"
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=#how-to-use>How to use</a><ul><li><a
href=#prerequisites>Prerequisites</a></li><li><a
href=#condition-router>Condition
router</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-left-title>Follow us</div><div class=footer-co [...]
+<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=#how-to-use>How to use</a><ul><li><a
href=#prerequisites>Prerequisites</a></li><li><a
href=#condition-router>Condition router</a></li><li><a
href=#static-configuration-api>Static configuration API</a></li><li><a
href=#priority-and-merge-semantics>Priority and merge
semantics</a></li></ul></li></ul></nav></div></div></div [...]
<button class="contact-btn qr-container"
onmouseover='showQRCode("dingding-qr")'
onmouseout='hideQRCode("dingding-qr")'>DINGTALK CHANNEL<div class=qr-code
id=dingding-qr style=display:none><img
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div
class=footer-container-right><ul><li>DOCUMENTATION</li><li><a
href=/en/overview/>Overview</a></li><li><a href=/en/overview/quickstart/>Quick
Start</a></li><li><a
href=/en/contact/contributor/software-donation-guide_dev/>Developer
guide</a></li></ul><ul><li>RESOURCES</li><li><a
href=/en/contact/>Community</a></li></ul></div></div><div
style="width:85.125rem;height:0;border:1px solid #ddd [...]
project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States
diff --git
a/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
b/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
index 6d5bcab7e9b..0cc2903c38a 100644
--- a/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
+++ b/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.or
[...]
+<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.or
[...]
<a class=dropdown-item href=/en/overview/notices/>Security Notices</a>
<a class=dropdown-item href=/en/contact/>Contributor's Guide</a></div></li><li
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link
href=/en/blog/><span>Blog</span></a></li><li class="nav-item nav-item-line px-2
mb-2 mb-lg-0"><a class=nav-link
href=/en/download/><span>DOWNLOAD</span></a></li><li class="nav-item dropdown
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown
role=button data-toggle=dropdown aria-haspopup=true
aria-expanded=false>ECOSYSTEM</ [...]
<a class=dropdown-item
href=/zh-cn/overview/mannual/control-plane/>Visualizable Console</a>
@@ -703,11 +703,30 @@ to <a
href=https://dubbo-next.staged.apache.org/zh-cn/overview/reference/integra
</span></span><span style=display:flex><span>resp, err <span
style=color:#719e07>:=</span> svc.<span style=color:#268bd2>Greet</span>(ctx,
<span style=color:#719e07>&</span>greet.GreetRequest{Name: name})
</span></span></code></pre></div><p>Parameters:</p><ul><li><code>constant.TagKey</code>:
Sets tag that requests carry.</li><li><code>constant.ForceUseTag</code>: Sets
whether to force tag matching.</li></ul><blockquote><p>Untagged traffic is
routed only to untagged servers. Tagged traffic can be routed to servers with
matching tags or
to untagged servers, depending on the force
configuration.</p></blockquote><p>For the complete example, please
-see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/tag>Full
Example Code</a>.</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
[...]
+see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/tag>Full
Example Code</a>.</p><h3 id=static-configuration-api>Static configuration
API</h3><p>Besides the usage above, tag router also supports injecting routing
rules statically in code. Static configuration does not require a config
center, and it can work with direct URLs or with instances discovered from a
registry.</p><p>The following example shows an application-scope static tag
router:</p><div class=highlight [...]
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(clientApplication),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRouter</span>(
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithScope</span>(<span
style=color:#2aa198>"application"</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithKey</span>(clientApplication),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithPriority</span>(<span style=color:#2aa198>100</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithForce</span>(<span style=color:#cb4b16>false</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithTags</span>([]global.Tag{
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> Name:
<span style=color:#2aa198>"gray"</span>,
+</span></span><span style=display:flex><span>
Addresses: []<span style=color:#dc322f>string</span>{<span
style=color:#2aa198>"127.0.0.1:20002"</span>},
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> }),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>Request tag attachment:</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>ctx <span
style=color:#719e07>:=</span> context.<span
style=color:#268bd2>WithValue</span>(context.<span
style=color:#268bd2>Background</span>(), constant.AttachmentKey, <span
style=color:#268bd2>map</span>[<span style=color:#dc322f>strin [...]
+</span></span><span style=display:flex><span> constant.Tagkey: <span
style=color:#2aa198>"gray"</span>,
+</span></span><span style=display:flex><span>})
+</span></span></code></pre></div><p>Parameters:</p><ul><li><code>router.WithScope("application")</code>:
applies the rule at application
scope.</li><li><code>router.WithKey(clientApplication)</code>: binds the rule
to the consumer application.</li><li><code>router.WithTags(...)</code>:
declares the static mapping from tag to address
list.</li><li><code>router.WithForce(...)</code>: controls whether fallback is
allowed when no tagged provider matches.</li></ul><p>The static sample in <cod
[...]
+see: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/static_config/tag>Full
Example Code</a>.</p><h3 id=priority-and-merge-semantics>Priority and merge
semantics</h3><ul><li>Dynamically delivered routing rules override static
configuration.</li><li>When <code>dubbo.WithRouter(...)</code> is called
multiple times, append semantics apply and multiple static router entries are
appended to the instance configuration.</li><li>When
<code>router.WithTags(...)</code> is set m [...]
+<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//overview/mannual/golang-sdk/tutorial/traffic/tag_router?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+t
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=Tag%20Router"
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=#how-to-use>How to use</a><ul><li><a
href=#prerequisites>Prerequisites</a></li><li><a href=#tag-router>Tag
router</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-left-title>Follow us</div><div
class=footer-container-left [...]
+<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=#how-to-use>How to use</a><ul><li><a
href=#prerequisites>Prerequisites</a></li><li><a href=#tag-router>Tag
router</a></li><li><a href=#static-configuration-api>Static configuration
API</a></li><li><a href=#priority-and-merge-semantics>Priority and merge
semantics</a></li></ul></li></ul></nav></div></div></div></div><foot [...]
<button class="contact-btn qr-container"
onmouseover='showQRCode("dingding-qr")'
onmouseout='hideQRCode("dingding-qr")'>DINGTALK CHANNEL<div class=qr-code
id=dingding-qr style=display:none><img
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div
class=footer-container-right><ul><li>DOCUMENTATION</li><li><a
href=/en/overview/>Overview</a></li><li><a href=/en/overview/quickstart/>Quick
Start</a></li><li><a
href=/en/contact/contributor/software-donation-guide_dev/>Developer
guide</a></li></ul><ul><li>RESOURCES</li><li><a
href=/en/contact/>Community</a></li></ul></div></div><div
style="width:85.125rem;height:0;border:1px solid #ddd [...]
project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States
diff --git a/en/sitemap.xml b/en/sitemap.xml
index f9cfb92243f..aea23b275c5 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/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
rel="alternate" hreflang="zh-cn"
href="https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7
[...]
\ 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/blog/2023/01/16/alibaba-upgrades-dubbo3-to-fully-replace-hsf2/</loc><lastmod>2024-09-30T17:53:33+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
rel="alternate" hreflang="zh-cn"
href="https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7
[...]
\ No newline at end of file
diff --git a/js/app.js b/js/app.js
index 29a7c68caea..069248774b1 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,2 +1 @@
-(function(){"use strict";var t={9763:function(t,e,s){var
r=s(2856),l=function(){var t=this,e=t._self._c;return
e("div",{attrs:{id:"app"}},[e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"30px"}},[t._v("Dubbo
基准测试")])])],1),e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"15px","text-align":"right"}},[e("a",{attrs:{target:"_blank",href:"https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-
[...]
-//# sourceMappingURL=app.dc2d1526.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build
time
\ No newline at end of file
diff --git a/js/chunk-vendors.js b/js/chunk-vendors.js
index bb28f6ff17a..069248774b1 100644
--- a/js/chunk-vendors.js
+++ b/js/chunk-vendors.js
@@ -1,60 +1 @@
-(self["webpackChunkdubbo_benchmark"]=self["webpackChunkdubbo_benchmark"]||[]).push([[504],{1656:function(e,t,n){"use
strict";function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof
e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof
__VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&& [...]
-/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright JS Foundation and other contributors <https://js.foundation/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters &
Editors
- */(function(){var o,a="4.17.10",s=200,l="Unsupported core-js use. Try
https://npms.io/search?q=ponyfill.",u="Expected a
function",c="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,f=2,g=4,v=1,m=2,y=1,b=2,_=4,x=8,w=16,S=32,C=64,k=128,M=256,T=512,D=30,I="...",O=800,A=16,E=1,P=2,L=3,N=1/0,R=9007199254740991,$=17976931348623157e292,z=NaN,V=4294967295,F=V-1,B=V>>>1,j=[["ary",k],["bind",y],["bindKey",b],["curry",x],["curryRight",w],["flip",T],["partial",S],["partialRight",C],
[...]
-/**
- * @fileOverview Kickass library to create and place poppers near their
reference elements.
- * @version {{version}}
- * @license
- * Copyright (c) 2016 Federico Zivolo and contributors
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
- * SOFTWARE.
- */(function(o,a){i=a,r="function"===typeof i?i.call(t,n,t,e):i,void
0===r||(e.exports=r)})(0,function(){var
e=window,t={placement:"bottom",gpuAcceleration:!0,offset:0,boundariesElement:"viewport",boundariesPadding:5,preventOverflowOrder:["left","right","top","bottom"],flipBehavior:"flip",arrowElement:"[x-arrow]",arrowOffset:0,modifiers:["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],modifiersIgnored:[],forceAbsolute:!1};function
n(e,n,i){this._reference=e [...]
-/*!
- * jQuery JavaScript Library v3.7.1
- * https://jquery.com/
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2023-08-28T13:37Z
- */
-function(t,n){"use strict";"object"===typeof
e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new
Error("jQuery requires a window with a document");return
n(e)}:n(t)}("undefined"!==typeof window?window:this,function(n,o){"use
strict";var a=[],s=Object.getPrototypeOf,l=a.slice,u=a.flat?function(e){return
a.flat.call(e)}:function(e){return
a.concat.apply([],e)},c=a.push,h=a.indexOf,d={},p=d.toString,f=d.hasOwnProperty,g=f.toString,v=g.call(Object),m={},y=function(e){
[...]
-/**
- * Checks if an event is supported in the current execution environment.
- *
- * NOTE: This will not work correctly for non-generic events such as `change`,
- * `reset`, `load`, `error`, and `select`.
- *
- * Borrows from Modernizr.
- *
- * @param {string} eventNameSuffix Event name, e.g. "click".
- * @param {?boolean} capture Check if the capture phase is supported.
- * @return {boolean} True if the event is supported.
- * @internal
- * @license Modernizr 3.0.0pre (Custom Build) | MIT
- */
-function o(e,t){if(!r.canUseDOM||t&&!("addEventListener"in
document))return!1;var n="on"+e,o=n in document;if(!o){var
a=document.createElement("div");a.setAttribute(n,"return;"),o="function"===typeof
a[n]}return!o&&i&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=o},9030:function(e,t,n){"use
strict";var i=n(8656),r=n(2021),o= [...]
-//# sourceMappingURL=chunk-vendors.7e7fea7f.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build
time
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index d0d81aae319..1076f555d1c 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>2026-04-13T14:28:01+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-04-13T14:28:01+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>2026-04-13T14:28:39+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-04-13T14:28:39+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/index.xml b/zh-cn/index.xml
index 924fe6bb23f..e2fffdb930d 100644
--- a/zh-cn/index.xml
+++ b/zh-cn/index.xml
@@ -8481,7 +8481,7 @@ Dubbo &gt;= 3.1.6</p>
</span></span><span style="display:flex;"><span>
)
</span></span><span style="display:flex;"><span>rep,
err <span style="color:#719e07">:=</span> srv.<span
style="color:#268bd2">Greet</span>(context.<span
style="color:#268bd2">Background</span>(), <span
style="color:#719e07">&amp;</span>greet.GreetRequest{Name:
<span style="color:#2aa198">&#34;hello world&#34;</span>})
</span></span></code></pre></div><blockquote>
-<p>使用condition
router必须在nacos等配置中心动态设置匹配规则。</p></description></item><item><title>条件路由规则</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/core-features/traffic/condition-rule/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/core-features/traffic/condition-rule/</guid><description><p>条件路由规则将符合特定条件的请求转发到特定的地址实例子集上。规则首先对发起流量的请求参数进行匹配,符合匹配条件的请求将被转发到包含特定实例地址列表的子集。</p>
+<p>上述示例使用的是动态配置方式,需要在nacos等配置中心动态设置匹配规则。</p></description></item><item><title>条件路由规则</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/core-features/traffic/condition-rule/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/core-features/traffic/condition-rule/</guid><description><p>条件路由规则将符合特定条件的请求转发到特定的地址实例子集上。规则首先对发起流量的请求参数进行匹配,符合匹配条件的请求将被转发到包含特定实例地址列表的子集。</p>
<p>以下是一个条件路由规则示例。</p>
<p>基于以下示例规则,所有
<code>org.apache.dubbo.samples.CommentService</code> 服务
<code>getComment</code> 方法的调用都将被转发到有
<code>region=Hangzhou</code> 标记的地址子集。</p>
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-yaml" data-lang="yaml"><span
style="display:flex;"><span><span
style="color:#268bd2">configVersion</span>: v3.0
diff --git
a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
index ddc8fc8ee95..b66bfd7f1c5 100644
---
a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
+++
b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dub
[...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dub
[...]
<a class=dropdown-item href=/zh-cn/overview/notices/>安全公告</a>
<a class=dropdown-item href=/zh-cn/contact/>贡献者指南</a></div></li><li
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link
href=/zh-cn/blog/><span>博客</span></a></li><li class="nav-item nav-item-line
px-2 mb-2 mb-lg-0"><a class=nav-link
href=/zh-cn/download/><span>下载</span></a></li><li class="nav-item dropdown
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown
role=button data-toggle=dropdown aria-haspopup=true
aria-expanded=false>生态</a><div class="dropdo [...]
<a class=dropdown-item href=/zh-cn/overview/mannual/control-plane/>可视化控制台</a>
@@ -701,7 +701,7 @@
</span></span><span style=display:flex><span> ),
</span></span><span style=display:flex><span> )
</span></span><span style=display:flex><span>rep, err <span
style=color:#719e07>:=</span> srv.<span
style=color:#268bd2>Greet</span>(context.<span
style=color:#268bd2>Background</span>(), <span
style=color:#719e07>&</span>greet.GreetRequest{Name: <span
style=color:#2aa198>"hello world"</span>})
-</span></span></code></pre></div><blockquote><p>使用condition
router必须在nacos等配置中心动态设置匹配规则。</p></blockquote><p>Nacos配置示例:</p><blockquote><p>配置的<code>Data
ID</code>名字必须为: <code>{application_name}.{router_type}</code>。
+</span></span></code></pre></div><blockquote><p>上述示例使用的是动态配置方式,需要在nacos等配置中心动态设置匹配规则。</p></blockquote><p>Nacos配置示例:</p><blockquote><p>配置的<code>Data
ID</code>名字必须为: <code>{application_name}.{router_type}</code>。
例如: <code>condition-server.condition-router</code>。</p></blockquote><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-yaml data-lang=yaml><span style=display:flex><span><span
style=color:#268bd2>configVersion</span>: v3.1
</span></span><span style=display:flex><span><span
style=color:#268bd2>scope</span>: <span
style=color:#2aa198>"application"</span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>key</span>: <span
style=color:#2aa198>"condition-server"</span>
@@ -713,11 +713,23 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>match</span>: <span style=color:#2aa198>"application =
condition-client"</span>
</span></span><span style=display:flex><span> <span
style=color:#268bd2>to</span>:
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>match</span>: <span style=color:#2aa198>"port =
20000"</span>
-</span></span></code></pre></div><p>完整示例请见: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/condition>本示例完整代码</a>。</p><div
id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button
class="btn btn-primary mb-4 feedback--yes">是</button>
-<button class="btn btn-primary mb-4
feedback--no">否</button></div><script>const
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
[...]
+</span></span></code></pre></div><p>完整示例请见: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/condition>本示例完整代码</a>。</p><h3
id=静态配置-api>静态配置 API</h3><p>除上面的动态配置方式外,Condition router 也支持通过静态配置 API
在代码中注入路由规则。静态配置不要求配置中心参与,可以配合直连 URL 使用,也可以配合注册中心使用。</p><p>下面是一个服务级静态 condition
router 的示例:</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></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(clientApplication),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRouter</span>(
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithScope</span>(<span
style=color:#2aa198>"service"</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithKey</span>(greet.GreetServiceName),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithPriority</span>(<span style=color:#2aa198>100</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithForce</span>(<span style=color:#cb4b16>true</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithConditions</span>([]<span
style=color:#dc322f>string</span>{
+</span></span><span style=display:flex><span> <span
style=color:#2aa198>"method = Greet => port = 20000"</span>,
+</span></span><span style=display:flex><span> }),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>参数:</p><ul><li><code>router.WithScope("service")</code>:
按服务维度生效。</li><li><code>router.WithKey(greet.GreetServiceName)</code>:
指定当前规则作用的服务键。</li><li><code>router.WithConditions(...)</code>: 静态声明 condition
router 的匹配表达式。</li><li><code>router.WithForce(true)</code>:
控制规则命中失败时是否允许回退。</li></ul><p><code>dubbo-go-samples</code> 中的静态示例使用直连
URL,只是为了最小化演示,不代表该 API 只能用于直连场景。</p><p>静态配置示例请见: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/stat [...]
+<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/golang-sdk/tutorial/traffic/condition_router?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%
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e6%9d%a1%e4%bb%b6%e8%b7%af%e7%94%b1"
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><a href=#前置准备>前置准备</a></li><li><a
href=#condition-router-介绍>Condition router
介绍</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-left-title>关注我们</div><div
class=footer-container-left-des>请通过以下任一或多个渠道关注社区动态,与社区开发者保 [...]
+<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><a href=#前置准备>前置准备</a></li><li><a
href=#condition-router-介绍>Condition router 介绍</a></li><li><a
href=#静态配置-api>静态配置 API</a></li><li><a
href=#规则优先级与合并语义>规则优先级与合并语义</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-le [...]
<button class="contact-btn qr-container"
onmouseover='showQRCode("dingding-qr")'
onmouseout='hideQRCode("dingding-qr")'>钉钉<div class=qr-code id=dingding-qr
style=display:none><img
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div
class=footer-container-right><ul><li>文档</li><li><a
href=/zh-cn/overview/home/>概览</a></li><li><a
href=/zh-cn/overview/quickstart/>快速开始</a></li><li><a
href=/zh-cn/contact/contributor/software-donation-guide_dev/>开发者指南</a></li></ul><ul><li>资源</li><li><a
href=/zh-cn/contact/>社区</a></li></ul></div></div><div
style="width:85.125rem;height:0;border:1px solid
#dddee4;margin-bottom:32px"></div>< [...]
project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States
diff --git a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/index.xml
b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/index.xml
index 60c72fdf1ca..c08b695a1fc 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/index.xml
@@ -127,7 +127,7 @@
</span></span><span style="display:flex;"><span>
)
</span></span><span style="display:flex;"><span>rep,
err <span style="color:#719e07">:=</span> srv.<span
style="color:#268bd2">Greet</span>(context.<span
style="color:#268bd2">Background</span>(), <span
style="color:#719e07">&amp;</span>greet.GreetRequest{Name:
<span style="color:#2aa198">&#34;hello world&#34;</span>})
</span></span></code></pre></div><blockquote>
-<p>使用condition
router必须在nacos等配置中心动态设置匹配规则。</p></description></item><item><title>Sentinel限流降级</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/sentinel/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/sentinel/</guid><description><p>Dubbo-go
中提供了内置的限流组件,用户可根据自己的业务场景调整限流值、限流后的行为等,具体可 <a
href="https://github.com/apache/dubbo-go/blob/ma [...]
+<p>上述示例使用的是动态配置方式,需要在nacos等配置中心动态设置匹配规则。</p></description></item><item><title>Sentinel限流降级</title><link>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/sentinel/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/sentinel/</guid><description><p>Dubbo-go
中提供了内置的限流组件,用户可根据自己的业务场景调整限流值、限流后的行为等,具体可 <a
href="https://github.com/apache/dubbo-go/blob/main/ [...]
<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>server.<span
style="color:#268bd2">WithTpsLimiter</span>(<span
style="color:#2aa198">&#34;method-service&#34;</span>)
<span style="color:#586e75">// 目前支持 method-service、polaris
等几个实现</span>
</span></span><span
style="display:flex;"><span>server.<span
style="color:#268bd2">WithTpsLimiterXxx</span>() <span
style="color:#586e75">// 设置限流相关阈值,请根据具体方法填写</span>
</span></span><span
style="display:flex;"><span><span
style="color:#719e07">//tps.limit.strategy:
&#34;slidingWindow&#34;</span>
diff --git
a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
index 72b5a56886b..dc261942bf2 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.or
[...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://cn.dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><link
rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/tag_router/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDomain","*.dubbo.apache.or
[...]
<a class=dropdown-item href=/zh-cn/overview/notices/>安全公告</a>
<a class=dropdown-item href=/zh-cn/contact/>贡献者指南</a></div></li><li
class="nav-item nav-item-line px-2 mb-2 mb-lg-0"><a class=nav-link
href=/zh-cn/blog/><span>博客</span></a></li><li class="nav-item nav-item-line
px-2 mb-2 mb-lg-0"><a class=nav-link
href=/zh-cn/download/><span>下载</span></a></li><li class="nav-item dropdown
d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown
role=button data-toggle=dropdown aria-haspopup=true
aria-expanded=false>生态</a><div class="dropdo [...]
<a class=dropdown-item href=/zh-cn/overview/mannual/control-plane/>可视化控制台</a>
@@ -695,11 +695,29 @@
</span></span><span style=display:flex><span>}
</span></span><span style=display:flex><span>ctx <span
style=color:#719e07>:=</span> context.<span
style=color:#268bd2>WithValue</span>(context.<span
style=color:#268bd2>Background</span>(), constant.AttachmentKey, atta)
</span></span><span style=display:flex><span>resp, err <span
style=color:#719e07>:=</span> svc.<span style=color:#268bd2>Greet</span>(ctx,
<span style=color:#719e07>&</span>greet.GreetRequest{Name: name})
-</span></span></code></pre></div><p>参数:</p><ul><li><code>constant.TagKey</code>:
设置客户端发送请求时所携带的tag标签。</li><li><code>constant.ForceUseTag</code>:
设置是否强制匹配标签。</li></ul><blockquote><p>未携带标签的流量只能打到未携带标签的服务,携带标签的流量则可以打到携带相应标签的服务以及不具有标签的服务(取决于是否配置force参数)。</p></blockquote><p>完整示例请见:
<a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/tag>本示例完整代码</a>。</p><div
id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button
class="btn btn-primary mb-4 feedback--yes">是</button>
-<button class="btn btn-primary mb-4
feedback--no">否</button></div><script>const
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
[...]
+</span></span></code></pre></div><p>参数:</p><ul><li><code>constant.TagKey</code>:
设置客户端发送请求时所携带的tag标签。</li><li><code>constant.ForceUseTag</code>:
设置是否强制匹配标签。</li></ul><blockquote><p>未携带标签的流量只能打到未携带标签的服务,携带标签的流量则可以打到携带相应标签的服务以及不具有标签的服务(取决于是否配置force参数)。</p></blockquote><p>完整示例请见:
<a
href=https://github.com/apache/dubbo-go-samples/tree/main/router/tag>本示例完整代码</a>。</p><h3
id=静态配置-api>静态配置 API</h3><p>除上面的用法外,Tag router 也支持通过静态配置 API
在代码中注入路由规则。静态配置不要求配置中心参与,可以配合直连 URL 使用,也可以配合注册中心使用。</p><p>下面是 [...]
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(clientApplication),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRouter</span>(
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithScope</span>(<span
style=color:#2aa198>"application"</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithKey</span>(clientApplication),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithPriority</span>(<span style=color:#2aa198>100</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithForce</span>(<span style=color:#cb4b16>false</span>),
+</span></span><span style=display:flex><span> router.<span
style=color:#268bd2>WithTags</span>([]global.Tag{
+</span></span><span style=display:flex><span> {
+</span></span><span style=display:flex><span> Name:
<span style=color:#2aa198>"gray"</span>,
+</span></span><span style=display:flex><span>
Addresses: []<span style=color:#dc322f>string</span>{<span
style=color:#2aa198>"127.0.0.1:20002"</span>},
+</span></span><span style=display:flex><span> },
+</span></span><span style=display:flex><span> }),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>携带请求 tag:</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>ctx <span
style=color:#719e07>:=</span> context.<span
style=color:#268bd2>WithValue</span>(context.<span
style=color:#268bd2>Background</span>(), constant.AttachmentKey, <span
style=color:#268bd2>map</span>[<span style=color:#dc322f>string</span>]<span
[...]
+</span></span><span style=display:flex><span> constant.Tagkey: <span
style=color:#2aa198>"gray"</span>,
+</span></span><span style=display:flex><span>})
+</span></span></code></pre></div><p>参数:</p><ul><li><code>router.WithScope("application")</code>:
按应用维度生效。</li><li><code>router.WithKey(clientApplication)</code>: 指定当前路由规则绑定的
consumer application。</li><li><code>router.WithTags(...)</code>: 静态声明 tag
到地址列表的映射关系。</li><li><code>router.WithForce(...)</code>: 控制 tag
不匹配时是否允许回退。</li></ul><p><code>dubbo-go-samples</code> 中的静态示例使用直连
URL,只是为了最小化演示,不代表静态配置 API 只能用于直连场景。</p><p>静态配置示例请见: <a
href=https://github.com/apache/dubbo-go-samples/tree/main/rou [...]
+<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/golang-sdk/tutorial/traffic/tag_router?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+Edi
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e6%a0%87%e7%ad%be%e8%b7%af%e7%94%b1"
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><a href=#前置准备>前置准备</a></li><li><a
href=#tag-router-介绍>Tag router
介绍</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-left-title>关注我们</div><div
class=footer-container-left-des>请通过以下任一或多个渠道关注社区动态,与社区开发者保持密切沟通。</div> [...]
+<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><a href=#前置准备>前置准备</a></li><li><a
href=#tag-router-介绍>Tag router 介绍</a></li><li><a href=#静态配置-api>静态配置
API</a></li><li><a
href=#规则优先级与合并语义>规则优先级与合并语义</a></li></ul></li></ul></nav></div></div></div></div><footer><div
class=footer-container><div class=footer-container-left><div
class=footer-container-left-title>关注我 [...]
<button class="contact-btn qr-container"
onmouseover='showQRCode("dingding-qr")'
onmouseout='hideQRCode("dingding-qr")'>钉钉<div class=qr-code id=dingding-qr
style=display:none><img
src=https://img.alicdn.com/imgextra/i4/O1CN01buuadT274Lj33QZWQ_!!6000000007743-0-tps-1170-1477.jpg
alt="DingTalk QR Code"></div></button>
<button class=contact-btn><a
href=https://github.com/apache/dubbo/>GitHub</a></button></div></div><div
class=footer-container-right><ul><li>文档</li><li><a
href=/zh-cn/overview/home/>概览</a></li><li><a
href=/zh-cn/overview/quickstart/>快速开始</a></li><li><a
href=/zh-cn/contact/contributor/software-donation-guide_dev/>开发者指南</a></li></ul><ul><li>资源</li><li><a
href=/zh-cn/contact/>社区</a></li></ul></div></div><div
style="width:85.125rem;height:0;border:1px solid
#dddee4;margin-bottom:32px"></div>< [...]
project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 6fa4cbb6dcf..7336c419570 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><xhtml:link
rel="alternate" hreflang="en" href="https://cn.dubbo [...]
\ 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><xhtml:link
rel="alternate" hreflang="en" href="https://cn.dubbo [...]
\ No newline at end of file