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 f63e3965811 deploy: 261c8c203abb0bd62e3e6a6dd0dd205618f3fda6
f63e3965811 is described below
commit f63e396581163425e5a12fdb428e8283e65b1bff
Author: Alanxtl <[email protected]>
AuthorDate: Mon Aug 17 06:15:04 2026 +0000
deploy: 261c8c203abb0bd62e3e6a6dd0dd205618f3fda6
---
en/index.xml | 19 ++----
.../tutorial/service-discovery/index.xml | 19 ++----
.../service-discovery/multi_registry/index.html | 72 +++++++++++++++++++---
en/sitemap.xml | 2 +-
sitemap.xml | 2 +-
zh-cn/index.xml | 51 +++++++--------
.../tutorial/service-discovery/index.xml | 51 +++++++--------
.../service-discovery/multi_registry/index.html | 68 +++++++++++++++++---
zh-cn/sitemap.xml | 2 +-
9 files changed, 189 insertions(+), 97 deletions(-)
diff --git a/en/index.xml b/en/index.xml
index 560db165845..e72afebbe29 100644
--- a/en/index.xml
+++ b/en/index.xml
@@ -10119,20 +10119,11 @@ Release notes: <a
href="https://github.com/apache/dubbo-spi-extensions/releas
<p>The user has called a deprecated method.</p>
<h3 id="troubleshooting-and-resolution-steps">Troubleshooting and
Resolution Steps</h3>
<p>Check the user&rsquo;s code for any methods that are marked as
@Deprecated in the current version being used. If found, replace them with the
corresponding methods; if not, you can ignore
this.</p></description></item><item><title>Multiple Registration
Centers</title><link>https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/en/overview/m [...]
-<h2 id="api-configuration-method">API Configuration Method</h2>
-<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
-</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
-</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
-</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
-</span></span><span style="display:flex;"><span>
),
-</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
-</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
-</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
-</span></span><span style="display:flex;"><span>
),
-</span></span><span style="display:flex;"><span>)
-</span></span></code></pre></div><p>Specify
which registration center a service under a specific server should register
to:</p></description></item><item><title>Parameter
Validation</title><link>https://dubbo.apache.org/en/overview/mannual/java-sdk/tasks/framework/more/parameter-validation/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/en/overview/mannual/java-sdk/tasks/framework/more/parameter-validation/
[...]
+<h2 id="usage-scenarios">Usage Scenarios</h2>
+<h3 id="migration-scenario">Migration Scenario</h3>
+<p>Migrate smoothly between different registration centers without
service interruption. For example, when migrating from ZooKeeper to Nacos, dual
registration keeps the business running during the transition.</p>
+<h3 id="canary-release-scenario">Canary Release Scenario</h3>
+<p>Deploy an independent canary registration center so that only
specific traffic can access the testing version. The new version is registered
to the canary center first, and after validation passes, it is released to all
traffic, reducing the risk of going
live.</p></description></item><item><title>Parameter
Validation</title><link>https://dubbo.apache.org/en/overview/mannual/java-sdk/tasks/framework/more/parameter-validation/</link><pubDate>Mon,
01 Jan 0001 00:00:00 +0000< [...]
<p>The parameter validation feature is implemented based on <a
href="https://jcp.org/en/jsr/detail?id=303">JSR303</a>. Users only
need to specify validation annotations from the JSR303 standard and implement
validation through a declared filter.</p>
<h4 id="maven-dependency">Maven Dependency</h4>
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dependency&gt;</span>
diff --git
a/en/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
b/en/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
index 577e3234114..613283fb3b8 100644
--- a/en/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
+++ b/en/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
@@ -32,17 +32,8 @@ directory.</p>
<a href="https://zookeeper.apache.org/releases.html#download">ZooKeeper
releases page</a>. Extract the archive,
copy the sample configuration, and start the
service:</p></description></item><item><title>Application-level Service
Discovery</title><link>https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/service-discovery/application-level-service-discovery/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/service-discovery/application-level-service-discovery/</guid><description><p>Dubbo-go
support [...]
<p>Application-level service discovery is the current default model.
Interface-level registration and application-level service discovery use
different registration and subscription paths, and they are not automatically
interoperable. A consumer using interface-level discovery cannot discover
providers that only register application-level instances; a consumer using
application-level discovery cannot discover providers that only register
interface-level URLs. Use <code>all< [...]
-<h2 id="api-configuration-method">API Configuration Method</h2>
-<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
-</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
-</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
-</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
-</span></span><span style="display:flex;"><span>
),
-</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
-</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
-</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
-</span></span><span style="display:flex;"><span>
),
-</span></span><span style="display:flex;"><span>)
-</span></span></code></pre></div><p>Specify
which registration center a service under a specific server should register
to:</p></description></item></channel></rss>
\ No newline at end of file
+<h2 id="usage-scenarios">Usage Scenarios</h2>
+<h3 id="migration-scenario">Migration Scenario</h3>
+<p>Migrate smoothly between different registration centers without
service interruption. For example, when migrating from ZooKeeper to Nacos, dual
registration keeps the business running during the transition.</p>
+<h3 id="canary-release-scenario">Canary Release Scenario</h3>
+<p>Deploy an independent canary registration center so that only
specific traffic can access the testing version. The new version is registered
to the canary center first, and after validation passes, it is released to all
traffic, reducing the risk of going
live.</p></description></item></channel></rss>
\ No newline at end of file
diff --git
a/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
b/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
index ea8faec1dbf..441c80943b9 100644
---
a/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
+++
b/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/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/service-discovery/multi_registry/><link
rel=canonical
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDoma
[...]
+<!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/service-discovery/multi_registry/><link
rel=canonical
href=https://dubbo.apache.org/en/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDoma
[...]
<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>
@@ -693,27 +693,48 @@
<label for=m-enoverviewnoticesprotocol-check><a
href=/en/overview/notices/protocol/ class="align-left pl-0 td-sidebar-link
td-sidebar-link__page" id=m-enoverviewnoticesprotocol><span>RPC Protocol
Security</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child" id=m-enoverviewnoticesregistry-li><input
type=checkbox id=m-enoverviewnoticesregistry-check>
<label for=m-enoverviewnoticesregistry-check><a
href=/en/overview/notices/registry/ class="align-left pl-0 td-sidebar-link
td-sidebar-link__page" id=m-enoverviewnoticesregistry><span>Registry Center
Security</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child" id=m-enoverviewnoticesadmin-li><input
type=checkbox id=m-enoverviewnoticesadmin-check>
<label for=m-enoverviewnoticesadmin-check><a href=/en/overview/notices/admin/
class="align-left pl-0 td-sidebar-link td-sidebar-link__page"
id=m-enoverviewnoticesadmin><span>Dubbo Admin
Security</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child" id=m-enoverviewnoticeslog4j-li><input
type=checkbox id=m-enoverviewnoticeslog4j-check>
-<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/
class="align-left pl-0 td-sidebar-link td-sidebar-link__page"
id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability
Impact</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=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a [...]
+<label for=m-enoverviewnoticeslog4j-check><a href=/en/overview/notices/log4j/
class="align-left pl-0 td-sidebar-link td-sidebar-link__page"
id=m-enoverviewnoticeslog4j><span>Log4j Vulnerability
Impact</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=/en/overview/>Documentation</a></li><li class=breadcrumb-item><a [...]
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(<span
style=color:#2aa198>"dubbo_multi_registry_server"</span>),
</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
-</span></span><span style=display:flex><span> <span
style=color:#268bd2>registryWithID</span>(<span
style=color:#2aa198>"nacos"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"nacos"</span>),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithNacos</span>(),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:8848"</span>),
</span></span><span style=display:flex><span> ),
</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
-</span></span><span style=display:flex><span> <span
style=color:#268bd2>registryWithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithZookeeper</span>(),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:2181"</span>),
</span></span><span style=display:flex><span> ),
</span></span><span style=display:flex><span>)
-</span></span></code></pre></div><p>Specify which registration center a
service under a specific server should register to:</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
style=color:#586e75>// Specify that the service under the server registers to
the zookeeper registration center</span>
+</span></span></code></pre></div><p>Specify which registration center the
services under a server should register to:</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
style=color:#586e75>// Register the services under the server to the zookeeper
registration center</span>
</span></span><span style=display:flex><span>srv, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewServer</span>(server.<span
style=color:#268bd2>WithServerRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"zookeeper"</span>}))
</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span><span style=color:#586e75>//
Specify that the service under the server registers to the nacos registration
center</span>
+</span></span><span style=display:flex><span><span style=color:#586e75>//
Register the services under the server to the nacos registration center</span>
</span></span><span style=display:flex><span>srv2, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewServer</span>(server.<span
style=color:#268bd2>WithServerRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"nacos"</span>}))
</span></span></code></pre></div><p>Specify which registration center a
particular service should register to:</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>srv, _ <span
style=color:#719e07>:=</span> ins.<span style=color:#268bd2>NewServer</span>()
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>greet.<span
style=color:#268bd2>RegisterGreetServiceHandler</span>(srv, <span
style=color:#719e07>&</span>GreetTripleServer{}, server.<span
style=color:#268bd2>WithRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"zookeeper"</span>}))
-</span></span></code></pre></div><p>The usage on the client side is
similar.</p><h2 id=yaml-configuration-method>YAML Configuration
Method</h2><p>Modify the server configuration at go-server/conf/dubbogo.yaml to
register the service in both registration centers.</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>dubbo [...]
+</span></span></code></pre></div><h3 id=client>Client</h3><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>ins, _ <span
style=color:#719e07>:=</span> dubbo.<span
style=color:#268bd2>NewInstance</span>(
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(<span
style=color:#2aa198>"dubbo_multi_registry_client"</span>),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"nacos"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithNacos</span>(),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:8848"</span>),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithZookeeper</span>(),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:2181"</span>),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>Specify which registration center the
client subscribes from:</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
style=color:#586e75>// Subscribe from the nacos registration center</span>
+</span></span><span style=display:flex><span>cli, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewClient</span>(client.<span
style=color:#268bd2>WithClientRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"nacos"</span>}))
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75>// Or
subscribe from the zookeeper registration center</span>
+</span></span><span style=display:flex><span>cli2, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewClient</span>(client.<span
style=color:#268bd2>WithClientRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"zookeeper"</span>}))
+</span></span></code></pre></div><h2 id=yaml-configuration-method>YAML
Configuration Method</h2><h3 id=server-1>Server</h3><p>Modify the server
configuration at go-server/conf/dubbogo.yaml to register the service in both
registration centers.</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>dubbo</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>application</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: dubbo_multi_registry_server
</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>zookeeper</span>: <span style=color:#586e75># Specify the
zookeeper registration center</span>
</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: zookeeper
@@ -725,7 +746,40 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>triple</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: tri
</span></span><span style=display:flex><span> <span
style=color:#268bd2>port</span>: <span style=color:#2aa198>20000</span>
-</span></span></code></pre></div><h2
id=supported-registration-centers>Supported Registration
Centers</h2><ul><li>Nacos</li><li>Zookeeper</li><li>Polaris</li><li>Kubernetes</li></ul><p>For
example, when using Polaris as a registration center, you need to specify the
following content, both via API or YAML configuration file:</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=yam [...]
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>provider</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>services</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterProvider</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75># Register
to both registration centers</span>
+</span></span><span style=display:flex><span> - zookeeper
+</span></span><span style=display:flex><span> - nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span> <span style=color:#586e75># Interface
name</span>
+</span></span></code></pre></div><h3 id=client-1>Client</h3><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>dubbo</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>application</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: dubbo_multi_registry_client
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>nacos</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>address</span>: <span
style=color:#2aa198>127.0.0.1</span>:<span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>zookeeper</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: zookeeper
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>address</span>: <span
style=color:#2aa198>127.0.0.1</span>:<span style=color:#2aa198>2181</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>consumer</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>references</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterClientImpl</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75># Subscribe
from the nacos registration center</span>
+</span></span><span style=display:flex><span> - nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: tri
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterClientImpl2</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75># Subscribe
from the zookeeper registration center</span>
+</span></span><span style=display:flex><span> - zookeeper
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: tri
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span> <span style=color:#586e75># Interface
name</span>
+</span></span></code></pre></div><h2 id=additional-notes>Additional
Notes</h2><h3 id=how-to-choose-the-registration-center-at-different-levels>How
to Choose the Registration Center at Different Levels</h3><p><strong>Server
level</strong> <code>server.WithServerRegistryIDs</code> Default registration
center for all services under the server</p><p><strong>Service level</strong>
<code>server.WithRegistryIDs</code> Registration center for a single
service</p><p><strong>Client level</strong> [...]
+</span></span><span style=display:flex><span>zookeeper client resp:
greeting:"from zookeeper", err: <nil>
+</span></span></code></pre></div><p>Both logs show err as nil, which means the
client has discovered and invoked the service from Nacos and ZooKeeper
respectively.</p><p><strong>Method 2: Check the service instances in both
registration centers</strong></p><p>Query the service instances via the Nacos
OpenAPI:</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= [...]
+</span></span></code></pre></div><blockquote><p>Note: <code>serviceName</code>
needs to be replaced with the application name you configured (the value set by
<code>dubbo.WithName()</code> or <code>application.name</code>); the ZooKeeper
node path <code>/services/<application-name></code> is the
same.</p></blockquote><p>The expected hosts should contain the provider address
(e.g. <code><provider-ip>:20000</code>) and healthy should be
true.</p><p>Query the service node via the ZooK [...]
+</span></span></code></pre></div><p>The expected output is similar to
<code>[<provider-ip>:20000]</code>. <code><provider-ip></code> is the
actual IP address registered by the service provider, which depends on the
local network environment.</p><p>If both registration centers can see the
service instances, it means the service has been successfully registered to
both Nacos and ZooKeeper, and the client can discover and invoke the service
from both registration centers.</p><h2 id=su [...]
</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>polarisMesh</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: polaris
@@ -733,7 +787,7 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>namespace</span>: ${Polaris Namespace Info}
</span></span><span style=display:flex><span> <span
style=color:#268bd2>token</span>: ${Polaris Resource Authorization Token}
<span style=color:#586e75># If Polaris server enables client authorization,
this parameter needs to be configured</span>
</span></span></code></pre></div><p>For usage with Kubernetes registration
centers, please refer to the <a
href=/en/overview/mannual/control-plane/>Control Plane</a>
documentation.</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
[...]
<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 e975c9646e3..a1f0063c2d8 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 b01490fde1b..7ff5af0fb10 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-13T09:13:24+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-13T09:13:24+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-17T14:07:51+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2026-08-17T14:07:51+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/index.xml b/zh-cn/index.xml
index 2ed68f56433..36318a9fd11 100644
--- a/zh-cn/index.xml
+++ b/zh-cn/index.xml
@@ -37560,15 +37560,24 @@ FORCE_APPLICATION:只启用新模式下应用级服务发现的注册中心逻
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dubbo:service</span> interface=<span
style="color:#2aa198">&#34;org.apache.dubbo.examples.validation.api.ValidationService&#34;</span>
ref=<span style="color:#2aa198">&#34;valid [...]
</span></span></code></pre></div><blockquote>
<p><strong>Dubbo 默认支持 hibernate-validator 版本 &lt;=6.x,若使用
hibernate-validator 7.x 版本,请将 validation 参数声明为
jvalidationNew</strong></p></description></item><item><title>多注册中心</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/</guid><descri
[...]
+<h2 id="应用场景">应用场景</h2>
+<h3 id="迁移场景">迁移场景</h3>
+<p>在不同注册中心之间实现平滑迁移,不进行服务的中断。例如从 ZooKeeper 迁移到
Nacos,双注册保证过渡期间业务连续。</p>
+<h3 id="灰度发布场景">灰度发布场景</h3>
+<p>部署独立的灰度注册中心,仅特定流量可访问测试。新版本先注册到灰度中心,验证通过后再全量发布,降低上线风险。</p>
+<h3 id="集群环境隔离场景">集群/环境隔离场景</h3>
+<p>将不同的服务环境使用完全独立的注册中心隔离,互不干扰。开发、测试、生产各自独立,避免调试服务影响线上业务。</p>
<h2 id="api配置方式">API配置方式</h2>
+<h3 id="服务端">服务端</h3>
<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithName</span>(<span
style="color:#2aa198">&#34;dubbo_multi_registry_server&#34;</span>),
</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
</span></span><span style="display:flex;"><span>
),
</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
</span></span><span style="display:flex;"><span>
),
@@ -37583,29 +37592,21 @@ FORCE_APPLICATION:只启用新模式下应用级服务发现的注册中心逻
<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>srv, _ <span
style="color:#719e07">:=</span> ins.<span
style="color:#268bd2">NewServer</span>()
</span></span><span style="display:flex;"><span>
</span></span><span
style="display:flex;"><span>greet.<span
style="color:#268bd2">RegisterGreetServiceHandler</span>(srv, <span
style="color:#719e07">&amp;</span>GreetTripleServer{},
server.<span
style="color:#268bd2">WithRegistryIDs</span>([]<span
style="color:#dc322f">string</span>{<span
style="color:#2aa198">&#34;zookeeper&#34;</span>}))
-</span></span></code></pre></div><p>以上使用方式对
client 侧类似。</p>
-<h2 id="yaml配置方式">YAML配置方式</h2>
-<p>修改服务端配置 go-server/conf/dubbogo.yaml, 同时将服务注册在两个注册中心上。</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">dubbo</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registries</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">zookeeper</span>: <span
style="color:#586e75"># 指定 zookeeper 注册中心</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocol</span>: zookeeper
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">address</span>: <span
style="color:#2aa198">127.0.0.1</span>:<span
style="color:#2aa198">2181</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">nacos</span>: <span
style="color:#586e75"># 指定 nacos 注册中心</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocol</span>: nacos
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">address</span>: <span
style="color:#2aa198">127.0.0.1</span>:<span
style="color:#2aa198">8848</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocols</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">triple</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">name</span>: tri
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">port</span>: <span
style="color:#2aa198">20000</span>
-</span></span></code></pre></div><h2
id="支持的注册中心">支持的注册中心</h2>
-<ul>
-<li>Nacos</li>
-<li>Zookeeper</li>
-<li>Polaris</li>
-<li>Kubernetes</li>
-</ul>
-<p>比如使用 Polaris 作为注册中心时,你需要指定以下内容,使用 API 或 YAML
配置文件均可以:</p></description></item><item><title>Dubbo 3
中的三层配置隔离</title><link>https://dubbo.apache.org/zh-cn/blog/1/01/01/dubbo-3-%E4%B8%AD%E7%9A%84%E4%B8%89%E5%B1%82%E9%85%8D%E7%BD%AE%E9%9A%94%E7%A6%BB/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/blog/1/01/01/dubbo-3-%E4%B8%AD%E7%9A%84%E4%B8%89%E5%B1%82%E9%85%8D%E7%BD%AE%E9%9A%94%E7%A6%BB/</guid><description><h2
id="models提供的隔离" [...]
+</span></span></code></pre></div><h3
id="客户端">客户端</h3>
+<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithName</span>(<span
style="color:#2aa198">&#34;dubbo_multi_registry_client&#34;</span>),
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
+</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
+</span></span><span style="display:flex;"><span>
),
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
+</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
+</span></span><span style="display:flex;"><span>
),
+</span></span><span style="display:flex;"><span>)
+</span></span></code></pre></div><p>指定从哪个注册中心订阅服务:</p></description></item><item><title>Dubbo
3
中的三层配置隔离</title><link>https://dubbo.apache.org/zh-cn/blog/1/01/01/dubbo-3-%E4%B8%AD%E7%9A%84%E4%B8%89%E5%B1%82%E9%85%8D%E7%BD%AE%E9%9A%94%E7%A6%BB/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/blog/1/01/01/dubbo-3-%E4%B8%AD%E7%9A%84%E4%B8%89%E5%B1%82%E9%85%8D%E7%BD%AE%E9%9A%94%E7%A6%BB/</guid><description
[...]
<p>Dubbo目前提供了三个级别上的隔离:JVM级别、应用级别、服务(模块)级别,从而实现各个级别上的生命周期及配置信息的单独管理。这三个层次上的隔离由
FrameworkModel、ApplicationModel 和 ModuleModel 及它们对应的 Config 来完成。</p>
<p><img src="https://dubbo.apache.org/imgs/blog/models.png"
alt="image"></p>
<ul>
diff --git
a/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
b/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
index b0c72a633b1..43c119d0980 100644
--- a/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/index.xml
@@ -103,15 +103,24 @@
</span></span><span style="display:flex;"><span>
),
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><p>如果使用配置文件,可以将
<code>registry-type</code> 设置为
<code>service</code>、<code>interface</code> 或
<code>all</code>。如果对注册方式有明确要求,建议显式配置。</p></description></item><item><title>多注册中心</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/</link><pubDate>Mon,
01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apac [...]
+<h2 id="应用场景">应用场景</h2>
+<h3 id="迁移场景">迁移场景</h3>
+<p>在不同注册中心之间实现平滑迁移,不进行服务的中断。例如从 ZooKeeper 迁移到
Nacos,双注册保证过渡期间业务连续。</p>
+<h3 id="灰度发布场景">灰度发布场景</h3>
+<p>部署独立的灰度注册中心,仅特定流量可访问测试。新版本先注册到灰度中心,验证通过后再全量发布,降低上线风险。</p>
+<h3 id="集群环境隔离场景">集群/环境隔离场景</h3>
+<p>将不同的服务环境使用完全独立的注册中心隔离,互不干扰。开发、测试、生产各自独立,避免调试服务影响线上业务。</p>
<h2 id="api配置方式">API配置方式</h2>
+<h3 id="服务端">服务端</h3>
<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithName</span>(<span
style="color:#2aa198">&#34;dubbo_multi_registry_server&#34;</span>),
</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
</span></span><span style="display:flex;"><span>
),
</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registryWithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
</span></span><span style="display:flex;"><span>
),
@@ -126,26 +135,18 @@
<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>srv, _ <span
style="color:#719e07">:=</span> ins.<span
style="color:#268bd2">NewServer</span>()
</span></span><span style="display:flex;"><span>
</span></span><span
style="display:flex;"><span>greet.<span
style="color:#268bd2">RegisterGreetServiceHandler</span>(srv, <span
style="color:#719e07">&amp;</span>GreetTripleServer{},
server.<span
style="color:#268bd2">WithRegistryIDs</span>([]<span
style="color:#dc322f">string</span>{<span
style="color:#2aa198">&#34;zookeeper&#34;</span>}))
-</span></span></code></pre></div><p>以上使用方式对
client 侧类似。</p>
-<h2 id="yaml配置方式">YAML配置方式</h2>
-<p>修改服务端配置 go-server/conf/dubbogo.yaml, 同时将服务注册在两个注册中心上。</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">dubbo</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">registries</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">zookeeper</span>: <span
style="color:#586e75"># 指定 zookeeper 注册中心</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocol</span>: zookeeper
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">address</span>: <span
style="color:#2aa198">127.0.0.1</span>:<span
style="color:#2aa198">2181</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">nacos</span>: <span
style="color:#586e75"># 指定 nacos 注册中心</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocol</span>: nacos
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">address</span>: <span
style="color:#2aa198">127.0.0.1</span>:<span
style="color:#2aa198">8848</span>
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">protocols</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">triple</span>:
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">name</span>: tri
-</span></span><span style="display:flex;"><span>
<span style="color:#268bd2">port</span>: <span
style="color:#2aa198">20000</span>
-</span></span></code></pre></div><h2
id="支持的注册中心">支持的注册中心</h2>
-<ul>
-<li>Nacos</li>
-<li>Zookeeper</li>
-<li>Polaris</li>
-<li>Kubernetes</li>
-</ul>
-<p>比如使用 Polaris 作为注册中心时,你需要指定以下内容,使用 API 或 YAML
配置文件均可以:</p></description></item></channel></rss>
\ No newline at end of file
+</span></span></code></pre></div><h3
id="客户端">客户端</h3>
+<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>ins, _ <span
style="color:#719e07">:=</span> dubbo.<span
style="color:#268bd2">NewInstance</span>(
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithName</span>(<span
style="color:#2aa198">&#34;dubbo_multi_registry_client&#34;</span>),
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;nacos&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithNacos</span>(),
+</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:8848&#34;</span>),
+</span></span><span style="display:flex;"><span>
),
+</span></span><span style="display:flex;"><span>
dubbo.<span style="color:#268bd2">WithRegistry</span>(
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithID</span>(<span
style="color:#2aa198">&#34;zookeeper&#34;</span>),
+</span></span><span style="display:flex;"><span>
registry.<span style="color:#268bd2">WithZookeeper</span>(),
+</span></span><span style="display:flex;"><span>
registry.<span
style="color:#268bd2">WithAddress</span>(<span
style="color:#2aa198">&#34;127.0.0.1:2181&#34;</span>),
+</span></span><span style="display:flex;"><span>
),
+</span></span><span style="display:flex;"><span>)
+</span></span></code></pre></div><p>指定从哪个注册中心订阅服务:</p></description></item></channel></rss>
\ No newline at end of file
diff --git
a/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
b/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
index 2e24cf2f29e..dd3f8918f4c 100644
---
a/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/index.html
+++
b/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/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/service-discovery/multi_registry/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDoma
[...]
+<!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/service-discovery/multi_registry/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/service-discovery/multi_registry/><script>var
_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]),_paq.push(["setCookieDoma
[...]
<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>
@@ -688,14 +688,15 @@
<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-cnoverviewnoticesadmin-li><input type=checkbox
id=m-zh-cnoverviewnoticesadmin-check>
<label for=m-zh-cnoverviewnoticesadmin-check><a
href=/zh-cn/overview/notices/admin/ class="align-left pl-0 td-sidebar-link
td-sidebar-link__page" id=m-zh-cnoverviewnoticesadmin><span>Dubbo Admin
安全</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=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove
[...]
+<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=/zh-cn/overview/>文档</a></li><li class=breadcrumb-item><a href=/zh-cn/ove
[...]
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(<span
style=color:#2aa198>"dubbo_multi_registry_server"</span>),
</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
-</span></span><span style=display:flex><span> <span
style=color:#268bd2>registryWithID</span>(<span
style=color:#2aa198>"nacos"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"nacos"</span>),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithNacos</span>(),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:8848"</span>),
</span></span><span style=display:flex><span> ),
</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
-</span></span><span style=display:flex><span> <span
style=color:#268bd2>registryWithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithZookeeper</span>(),
</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:2181"</span>),
</span></span><span style=display:flex><span> ),
@@ -708,7 +709,27 @@
</span></span></code></pre></div><p>指定某个特定服务注册到哪个注册中心:</p><div
class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-go data-lang=go><span style=display:flex><span>srv, _ <span
style=color:#719e07>:=</span> ins.<span style=color:#268bd2>NewServer</span>()
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>greet.<span
style=color:#268bd2>RegisterGreetServiceHandler</span>(srv, <span
style=color:#719e07>&</span>GreetTripleServer{}, server.<span
style=color:#268bd2>WithRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"zookeeper"</span>}))
-</span></span></code></pre></div><p>以上使用方式对 client 侧类似。</p><h2
id=yaml配置方式>YAML配置方式</h2><p>修改服务端配置 go-server/conf/dubbogo.yaml,
同时将服务注册在两个注册中心上。</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>dubbo</span>:
+</span></span></code></pre></div><h3 id=客户端>客户端</h3><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>ins, _ <span
style=color:#719e07>:=</span> dubbo.<span
style=color:#268bd2>NewInstance</span>(
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithName</span>(<span
style=color:#2aa198>"dubbo_multi_registry_client"</span>),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"nacos"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithNacos</span>(),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:8848"</span>),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span> dubbo.<span
style=color:#268bd2>WithRegistry</span>(
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithID</span>(<span
style=color:#2aa198>"zookeeper"</span>),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithZookeeper</span>(),
+</span></span><span style=display:flex><span> registry.<span
style=color:#268bd2>WithAddress</span>(<span
style=color:#2aa198>"127.0.0.1:2181"</span>),
+</span></span><span style=display:flex><span> ),
+</span></span><span style=display:flex><span>)
+</span></span></code></pre></div><p>指定从哪个注册中心订阅服务:</p><div
class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-go data-lang=go><span style=display:flex><span><span
style=color:#586e75>// 指定从 nacos 订阅服务</span>
+</span></span><span style=display:flex><span>cli, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewClient</span>(client.<span
style=color:#268bd2>WithClientRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"nacos"</span>}))
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75>// 或指定从
zookeeper 订阅服务</span>
+</span></span><span style=display:flex><span>cli2, _ <span
style=color:#719e07>:=</span> ins.<span
style=color:#268bd2>NewClient</span>(client.<span
style=color:#268bd2>WithClientRegistryIDs</span>([]<span
style=color:#dc322f>string</span>{<span
style=color:#2aa198>"zookeeper"</span>}))
+</span></span></code></pre></div><h2 id=yaml配置方式>YAML配置方式</h2><h2
id=yaml配置方式-1>YAML配置方式</h2><p>如果使用配置文件方式传入配置,而不是 API 的方式,请参考以下 YAML
配置。</p><p>修改服务端配置 go-server/conf/dubbogo.yaml, 同时将服务注册在两个注册中心上。</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>dubbo</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>application</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: dubbo_multi_registry_server
</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>zookeeper</span>: <span style=color:#586e75># 指定 zookeeper
注册中心</span>
</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: zookeeper
@@ -720,7 +741,40 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>triple</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: tri
</span></span><span style=display:flex><span> <span
style=color:#268bd2>port</span>: <span style=color:#2aa198>20000</span>
-</span></span></code></pre></div><h2
id=支持的注册中心>支持的注册中心</h2><ul><li>Nacos</li><li>Zookeeper</li><li>Polaris</li><li>Kubernetes</li></ul><p>比如使用
Polaris 作为注册中心时,你需要指定以下内容,使用 API 或 YAML 配置文件均可以:</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>dubbo</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>provider</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>services</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterProvider</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75>#
同时注册到两个注册中心</span>
+</span></span><span style=display:flex><span> - zookeeper
+</span></span><span style=display:flex><span> - nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span> <span style=color:#586e75># 接口名</span>
+</span></span></code></pre></div><h3 id=客户端-1>客户端</h3><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>dubbo</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>application</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>name</span>: dubbo_multi_registry_client
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>nacos</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>address</span>: <span
style=color:#2aa198>127.0.0.1</span>:<span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>zookeeper</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: zookeeper
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>address</span>: <span
style=color:#2aa198>127.0.0.1</span>:<span style=color:#2aa198>2181</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>consumer</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>references</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterClientImpl</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75># 从 nacos
订阅服务</span>
+</span></span><span style=display:flex><span> - nacos
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: tri
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span>
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>GreeterClientImpl2</span>:
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>registry-ids</span>: <span style=color:#586e75># 从
zookeeper 订阅服务</span>
+</span></span><span style=display:flex><span> - zookeeper
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: tri
+</span></span><span style=display:flex><span> <span
style=color:#268bd2>interface</span>: <span
style=color:#2aa198>""</span> <span style=color:#586e75># 接口名</span>
+</span></span></code></pre></div><h2 id=补充说明>补充说明</h2><h3
id=不同级别如何选择注册中心>不同级别如何选择注册中心</h3><p><strong>Server 级别</strong>
<code>server.WithServerRegistryIDs</code> 该 Server
下所有服务的默认注册中心</p><p><strong>Service 级别</strong>
<code>server.WithRegistryIDs</code> 单个服务的注册中心</p><p><strong>Client 级别</strong>
<code>client.WithClientRegistryIDs</code> 该 Client 从哪些注册中心订阅服务</p><h3
id=如何验证同时注册到-nacos-和-zookeeper>如何验证同时注册到 Nacos 和
Zookeeper</h3><p>完成上述配置并启动服务端和客户端后,可以通过以下方式验证多注册中心是否配置成功。</p><p><strong>方式一
[...]
+</span></span><span style=display:flex><span>zookeeper client resp:
greeting:"from zookeeper", err: <nil>
+</span></span></code></pre></div><p>两条日志的 err 均为 nil,说明客户端已分别从 Nacos 和
Zookeeper 发现并调用服务。</p><p><strong>方式二:查看两个注册中心的服务实例</strong></p><p>通过 Nacos
OpenAPI 查询服务实例:</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>curl -s
<span
style=color:#2aa198>'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=dubbo_multi_registry_server&
[...]
+</span></span></code></pre></div><blockquote><p>注意:<code>serviceName</code>
需要替换为你配置的应用名(<code>dubbo.WithName()</code> 或 <code>application.name</code>
设置的值),Zookeeper 节点路径 <code>/services/<应用名></code> 同理。</p></blockquote><p>预期
hosts 中包含服务提供者地址(如 <code><provider-ip>:20000</code>)且 healthy 为
true。</p><p>通过 Zookeeper 客户端查询服务节点:</p><div class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-shell data-l [...]
+</span></span></code></pre></div><p>预期输出类似
<code>[<provider-ip>:20000]</code>。其中 <code><provider-ip></code>
是服务提供者实际注册的 IP 地址,取决于本机网络环境。</p><p>如果两个注册中心都能看到服务实例,说明服务已同时成功注册到 Nacos 和
Zookeeper,客户端也能从两个注册中心正常发现并调用服务。</p><h2
id=支持的注册中心>支持的注册中心</h2><ul><li>Nacos</li><li>Zookeeper</li><li>Polaris</li><li>Kubernetes</li></ul><p>比如使用
Polaris 作为注册中心时,你需要指定以下内容,使用 API 或 YAML 配置文件均可以:</p><div class=highlight><pre
tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-s [...]
</span></span><span style=display:flex><span> <span
style=color:#268bd2>registries</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>polarisMesh</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>protocol</span>: polaris
@@ -728,7 +782,7 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>namespace</span>: ${北极星命名空间信息}
</span></span><span style=display:flex><span> <span
style=color:#268bd2>token</span>: ${北极星资源鉴权 token} <span
style=color:#586e75># 如果北极星服务端开启了针对客户端的鉴权,则需要配置该参数</span>
</span></span></code></pre></div><p>对于 Kubernetes 注册中心的使用方式,请参考 <a
href=/zh-cn/overview/mannual/control-plane/>控制面</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
[...]
+<button class="btn btn-primary mb-4
feedback--no">否</button></div><script>const
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
[...]
<button class="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 2f7bf47f1ee..b6998b6d1de 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