This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site-v2
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/asf-site-v2 by this push:
new 477e88b4d05 deploy: 16dadfd5b1f402e2b38cd3136c0cab67c148e7f6
477e88b4d05 is described below
commit 477e88b4d05fe61e4eac8a80e2fe5921b4f92436
Author: Alanxtl <[email protected]>
AuthorDate: Tue Aug 11 13:43:36 2026 +0000
deploy: 16dadfd5b1f402e2b38cd3136c0cab67c148e7f6
---
.../tutorial/traffic/condition_router/index.html | 17 ++++++++++++-----
en/sitemap.xml | 2 +-
sitemap.xml | 2 +-
.../tutorial/traffic/condition_router/index.html | 19 +++++++++++++------
zh-cn/sitemap.xml | 2 +-
5 files changed, 28 insertions(+), 14 deletions(-)
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 07c45fb2d19..49848b75741 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://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://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","*.dubbo.apa
[...]
+<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=zh-cn
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://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","*.dubbo.apa
[...]
<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>
@@ -718,18 +718,25 @@ 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>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></code></pre></div><blockquote><p>The example above uses dynamic
configuration and requires a config in Nacos or another config
center.</p></blockquote><p>Run the sample (the two servers belong to the same
application <code>condition-server</code>, and the client calls the
<code>Greet</code> method every 5 seconds):</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-la [...]
+</span></span><span style=display:flex><span>$ go run
./go-node2-server/cmd/server_node2.go <span style=color:#586e75># port
20000</span>
+</span></span><span style=display:flex><span>$ go run ./go-client/cmd/client.go
+</span></span></code></pre></div><p>Example config:</p><blockquote><p>The
<code>Data Id</code> of config must be
<code>{application_name}.{router_type}</code> (e.g.
<code>condition-server.condition-router</code>, where the application name is
the <strong>server-side</strong> application name).
+Group uses the default <code>DEFAULT_GROUP</code>, and the config format is
<code>YAML</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.3.2
</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>
</span></span><span style=display:flex><span><span
style=color:#268bd2>force</span>: <span style=color:#cb4b16>true</span>
-</span></span><span style=display:flex><span><span
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>false</span>
+</span></span><span style=display:flex><span><span
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>true</span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>conditions</span>:
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>from</span>:
</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>For the complete example, please
+</span></span><span style=display:flex><span> - <span
style=color:#268bd2>match</span>: <span style=color:#2aa198>"port =
20001"</span>
+</span></span></code></pre></div><p>Key
fields:</p><ul><li><code>enabled</code>: whether this rule is enabled; it must
be set to <code>true</code> when published.</li><li><code>force</code>: whether
the rule stays effective when it filters out every provider. <code>true</code>
means no fallback and the call fails directly; <code>false</code> means falling
back to the full address list.</li></ul><p>Expected
results:</p><ul><li><p>Before the rule is published, the client calls normally
and [...]
+</span></span></code></pre></div></li><li><p>After the rule is deleted, the
client calls become unrestricted again.</p></li></ul><blockquote><p>When
<code>force: true</code> and the rule filters out every provider, the call
fails directly and the client log contains
+<code>route an empty set in condition-route</code>, which means the rule is
effective but matches no instance.
+In that case, check whether the <code>to.match</code> condition is consistent
with the actual instance parameters (such as the port).</p></blockquote><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><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>(
diff --git a/en/sitemap.xml b/en/sitemap.xml
index c57b5bf3e7d..e1f440e9414 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://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://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5
[...]
\ 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://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://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5
[...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 61f6d0359f6..1d642ce3edc 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://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-08-09T13:40:17+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-09T13:40:17+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://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2026-08-11T21:27:31+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-11T21:27:31+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
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 827df1d557d..edac14e6760 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://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://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","*.dubbo.apa
[...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/traffic/condition_router/><link
rel=canonical
href=https://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","*.dubbo.apa
[...]
<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>
@@ -712,19 +712,26 @@
</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>上述示例使用的是动态配置方式,需要在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></code></pre></div><blockquote><p>上述示例使用的是动态配置方式,需要在nacos等配置中心动态设置匹配规则。</p></blockquote><p>运行示例(两个服务端同属应用<code>condition-server</code>,客户端每
5 秒调用一次<code>Greet</code>方法):</p><div class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-shell data-lang=shell><span style=display:flex><span>$ go run
./go-server/cmd/server.go <span style=color:#586e75>#
20001端口</span>
+</span></span><span style=display:flex><span>$ go run
./go-node2-server/cmd/server_node2.go <span style=color:#586e75>#
20000端口</span>
+</span></span><span style=display:flex><span>$ go run ./go-client/cmd/client.go
+</span></span></code></pre></div><p>Nacos配置示例:</p><blockquote><p>配置的<code>Data
ID</code>名字必须为: <code>{application_name}.{router_type}</code>。
+例如:
<code>condition-server.condition-router</code>(这里的应用名是<strong>服务端</strong>的应用名)。
+Group
使用默认的<code>DEFAULT_GROUP</code>,配置格式选择<code>YAML</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.3.2
</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>
</span></span><span style=display:flex><span><span
style=color:#268bd2>force</span>: <span style=color:#cb4b16>true</span>
-</span></span><span style=display:flex><span><span
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>false</span>
+</span></span><span style=display:flex><span><span
style=color:#268bd2>enabled</span>: <span style=color:#cb4b16>true</span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>conditions</span>:
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>from</span>:
</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><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> - <span
style=color:#268bd2>match</span>: <span style=color:#2aa198>"port =
20001"</span>
+</span></span></code></pre></div><p>关键字段说明:</p><ul><li><code>enabled</code>:
是否启用本条规则,下发时需要设置为<code>true</code>。</li><li><code>force</code>:
路由结果为空集时是否强制生效。<code>true</code>表示不回退、直接调用失败;<code>false</code>表示回退到全量地址列表。</li></ul><p>预期结果:</p><ul><li><p>未下发规则时,客户端可以正常调用,响应来自
20000 或 20001 端口的实例。</p></li><li><p>规则下发后,运行中的客户端无需重启即可生效,响应只会来自 20001
端口的实例:</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=langu [...]
+</span></span></code></pre></div></li><li><p>删除规则后,客户端调用恢复为不受限状态。</p></li></ul><blockquote><p>当<code>force:
true</code>且规则过滤后没有可用 provider 时,调用会直接失败,客户端日志中可以看到
+<code>route an empty set in condition-route</code>字样,说明规则已生效但未匹配到任何实例,
+此时应检查<code>to.match</code>条件与实例的实际参数(如端口)是否一致。</p></blockquote><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-lan [...]
</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>),
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 70fc9dda93f..59b2e5f0a67 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://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://dubbo.apach [...]
\ 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://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://dubbo.apach [...]
\ No newline at end of file