You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by gi...@apache.org on 2023/03/31 07:56:31 UTC

[dubbo-website] branch cn-site updated: deploy: 80ca93d3bdde9b75efb92256d2f1ea52a748f4d6

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 4f953f2e91 deploy: 80ca93d3bdde9b75efb92256d2f1ea52a748f4d6
4f953f2e91 is described below

commit 4f953f2e91bf032070438d92cb9758ab3e0f8cb6
Author: AlbumenJ <Al...@users.noreply.github.com>
AuthorDate: Fri Mar 31 07:56:24 2023 +0000

    deploy: 80ca93d3bdde9b75efb92256d2f1ea52a748f4d6
---
 sitemap.xml                                        |   2 +-
 zh-cn/docs/index.xml                               | 208 ++++++------------
 .../overview/tasks/observability/admin/index.html  |   6 +-
 .../tasks/observability/grafana/index.html         |   6 +-
 .../tasks/observability/prometheus/index.html      |   6 +-
 .../tasks/observability/tracing/index.html         |   2 +-
 .../what/ecosystem/gateway/higress/index.html      | 232 +++++++++++++++++++-
 zh-cn/overview/what/ecosystem/gateway/index.xml    | 240 ++++++++++++++++++++-
 zh-cn/sitemap.xml                                  |   2 +-
 zh/download/spi-extensions/index.html              |   2 +-
 10 files changed, 539 insertions(+), 167 deletions(-)

diff --git a/sitemap.xml b/sitemap.xml
index 4ab92a8a3c..16de84a523 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-03-30T10:13:22+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-03-30T10:11:54+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/en/sitemap.xml</loc><lastmod>2023-03-30T10:11:54+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-03-31T15:51:46+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/docs/index.xml b/zh-cn/docs/index.xml
index 9c67c3c4b6..79915405c9 100644
--- a/zh-cn/docs/index.xml
+++ b/zh-cn/docs/index.xml
@@ -186,7 +186,65 @@
 &lt;blockquote>
 &lt;p>另请参阅
 &lt;a href="https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config/properties/">配置项手册&lt;/a>&lt;/p>
-&lt;/blockquote></description></item><item><title>Overview: Dubbo</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/protocol/dubbo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/protocol/dubbo/</guid><description>
+&lt;/blockquote></description></item><item><title>Overview: 使用 Admin 可视化查看集群状态</title><link>https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/admin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/admin/</guid><description>
+&lt;p>前面章节我们提到 Dubbo 框架提供了丰富的服务治理功能如流量控制、动态配置、服务 Mock、服务测试等,而 Dubbo Admin 控制台的一部分重要作用在于将 dubbo 框架提供的服务治理能力提供一个开箱即用的可视化平台。本文将介绍 Dubbo Admin 控制台所提供的功能,让大家快速了解和使用 Admin 并对 Dubbo 所提供的服务治理能力有个更直观的了解。&lt;/p>
+&lt;blockquote>
+&lt;p>Dubbo Admin 已经升级为 Dubbo 服务治理统一入口,涵盖的范围非常广泛,本文讲解的只是 Admin 可视化控制台部分。&lt;/p>
+&lt;/blockquote>
+&lt;h2 id="安装-admin">安装 Admin&lt;/h2>
+&lt;p>首先,需要正确 &lt;a href="https://github.com/apache/dubbo-admin#dubbo-admin">安装&amp;amp;配置 Dubbo Admin&lt;/a> 控制台&lt;/p>
+&lt;h2 id="功能介绍">功能介绍&lt;/h2>
+&lt;p>Admin 控制台提供了从开发、测试到流量治理等不同层面的丰富功能,功能总体上可分为以下几类:&lt;/p>
+&lt;ul>
+&lt;li>服务状态与依赖关系查询&lt;/li>
+&lt;li>服务在线测试与文档管理&lt;/li>
+&lt;li>集群状态监控&lt;/li>
+&lt;li>实例诊断&lt;/li>
+&lt;li>流量管控&lt;/li>
+&lt;/ul>
+&lt;h3 id="服务状态与依赖关系查询">服务状态与依赖关系查询&lt;/h3>
+&lt;p>服务状态查询以接口为维度展示 dubbo 集群信息,包含服务提供者、消费者信息和服务的元数据等。元数据包含了服务定义、方法名和参数列表等信息。Admin 支持最新版本 dubbo3 所提供的应用级发现模型,以统一的页面交互展示了应用级&amp;amp;接口级地址信息,并以特殊的标记对记录进行区分。&lt;/p>
+&lt;h4 id="基于服务名查询">基于服务名查询&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/1-search-by-service.png" alt="img">&lt;/p>
+&lt;h4 id="基于应用名查询">基于应用名查询&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/1-search-by-appname.png" alt="img">&lt;/p>
+&lt;h4 id="基于实例地址查询">基于实例地址查询&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/1-search-by-ip.png" alt="img">&lt;/p>
+&lt;h4 id="服务实例详情">服务实例详情&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/1-service-detail.png" alt="img">&lt;/p>
+&lt;h3 id="服务在线测试与文档管理">服务在线测试与文档管理&lt;/h3>
+&lt;h4 id="服务测试">服务测试&lt;/h4>
+&lt;p>服务测试相,主要用于模拟服务消费方,验证 Dubbo 服务的使用方式与正确性。&lt;/p>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/2-service-test2.png" alt="img">&lt;/p>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/2-service-test.png" alt="img">&lt;/p>
+&lt;h4 id="服务-mock">服务 Mock&lt;/h4>
+&lt;p>服务Mock通过无代码嵌入的方式将Consumer对Provider的请求进行拦截,动态的对Consumer的请求进行放行或返回用户自定义的Mock数据。从而解决在前期开发过程中,Consumer所依赖的Provider未准备就绪时,造成Consumer开发方的阻塞问题。
+只需要以下两步,即可享受服务Mock功能带来的便捷:&lt;/p>
+&lt;p>第一步:
+Consumer应用引入服务Mock依赖,添加JVM启动参数-Denable.dubbo.admin.mock=true开启服务Mock功能。&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-xml" data-lang="xml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">&amp;lt;denpendency&amp;gt;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;groupId&amp;gt;&lt;/span>org.apache.dubbo.extensions&lt;span style="color:#268bd2">&amp;lt;/groupId&amp;gt;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;artifactId&amp;gt;&lt;/span>dubbo-mock-admin&lt;span style="color:#268bd2">&amp;lt;/artifactId&amp;gt;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;version&amp;gt;&lt;/span>${version}&lt;span style="color:#268bd2">&amp;lt;/version&amp;gt;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">&amp;lt;/denpendency&amp;gt;&lt;/span>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>第二步:在Dubbo Admin中配置对应的Mock数据。&lt;/p>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/2-service-mock.png" alt="img">&lt;/p>
+&lt;h4 id="服务文档管理">服务文档管理&lt;/h4>
+&lt;p>Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。&lt;/p>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/2-service-doc.png" alt="img">&lt;/p>
+&lt;h3 id="集群状态监控">集群状态监控&lt;/h3>
+&lt;h4 id="首页大盘">首页大盘&lt;/h4>
+&lt;p>TBD&lt;/p>
+&lt;h4 id="grafana">Grafana&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/3-grafana.png" alt="img">&lt;/p>
+&lt;h4 id="tracing">Tracing&lt;/h4>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/3-tracing-zipkin.png" alt="img">&lt;/p>
+&lt;h3 id="流量管控">流量管控&lt;/h3>
+&lt;p>Admin 提供了四种路由规则的可视化管理支持,分别是条件路由规则、标签路由规则、动态配置规则、脚本路由规则,所提供的功能可以轻松实现黑白名单、灰度环境隔离、多套测试环境、金丝雀发布等服务治理诉求。接下来以条件路由为例,可以可视化的创建条件路由规则。&lt;/p>
+&lt;h4 id="条件路由">条件路由&lt;/h4>
+&lt;p>条件路由可以编写一些自定义路由规则实现服务治理的需求比如同区域优先、参数路由、黑白名单、读写分离等。路由规则在发起一次RPC调用前起到过滤目标服务器地址的作用,过滤后的地址列表,将作为消费端最终发起RPC调用的备选地址。&lt;/p>
+&lt;p>&lt;img src="https://cn.dubbo.apache.org/imgs/v3/tasks/observability/admin/4-traffic-management.png" alt="img">&lt;/p>
+&lt;p>请参考 &lt;a href="../../traffic-management/">流量管控任务&lt;/a> 中关于如何进行路由规则配置的更多详细描述。&lt;/p></description></item><item><title>Overview: Dubbo</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/protocol/dubbo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/protocol/dubbo/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
 &lt;p>Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。&lt;/p>
 &lt;p>反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。&lt;/p>
@@ -6363,150 +6421,4 @@ Pixiu 的整体设计遵守以下原则:&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo.application.qos-accept-foreign-ip=false
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo.application.qos-accept-foreign-ip-whitelist=123.12.10.13, 132.12.10.13/24
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dubbo.application.qos-anonymous-access-permission-level=NONE
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Overview: Request Routing</title><link>https://cn.dubbo.apache.org/zh-cn/overview/tasks/mesh/bookinfo-proxyless/security/request-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/tasks/mesh/bookinfo-proxyless/security/request-routing/</guid><description>
-&lt;p>Before you begin
-Setup Istio by following the instructions in the Installation guide.&lt;/p>
-&lt;p>Deploy the Bookinfo sample application.&lt;/p>
-&lt;p>Review the Traffic Management concepts doc.&lt;/p>
-&lt;p>About this task
-The Istio Bookinfo sample consists of four separate microservices, each with multiple versions. Three different versions of one of the microservices, reviews, have been deployed and are running concurrently. To illustrate the problem this causes, access the Bookinfo app’s /productpage in a browser and refresh several times. The URL is http://$GATEWAY_URL/productpage, where $GATEWAY_URL is the External IP address of the ingress, as explained in the Bookinfo doc.&lt;/p>
-&lt;p>You’ll notice that sometimes the book review output contains star ratings and other times it does not. This is because without an explicit default service version to route to, Istio routes requests to all available versions in a round robin fashion.&lt;/p>
-&lt;p>The initial goal of this task is to apply rules that route all traffic to v1 (version 1) of the microservices. Later, you will apply a rule to route traffic based on the value of an HTTP request header.&lt;/p>
-&lt;p>Route to version 1
-To route to one version only, you configure route rules that send traffic to default versions for the microservices.&lt;/p>
-&lt;p>If you haven’t already, follow the instructions in define the service versions.
-Run the following command to create the route rules:
-Istio classicGateway API
-Istio uses virtual services to define route rules. Run the following command to apply virtual services that will route all traffic to v1 of each microservice:&lt;/p>
-&lt;p>$ kubectl apply -f @samples/bookinfo/networking/virtual-service-all-v1.yaml@
-Because configuration propagation is eventually consistent, wait a few seconds for the virtual services to take effect.&lt;/p>
-&lt;p>Display the defined routes with the following command:
-Istio classicGateway API
-$ kubectl get virtualservices -o yaml&lt;/p>
-&lt;ul>
-&lt;li>apiVersion: networking.istio.io/v1beta1
-kind: VirtualService
-&amp;hellip;
-spec:
-hosts:
-&lt;ul>
-&lt;li>details
-http:&lt;/li>
-&lt;li>route:
-&lt;ul>
-&lt;li>destination:
-host: details
-subset: v1&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;li>apiVersion: networking.istio.io/v1beta1
-kind: VirtualService
-&amp;hellip;
-spec:
-hosts:
-&lt;ul>
-&lt;li>productpage
-http:&lt;/li>
-&lt;li>route:
-&lt;ul>
-&lt;li>destination:
-host: productpage
-subset: v1&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;li>apiVersion: networking.istio.io/v1beta1
-kind: VirtualService
-&amp;hellip;
-spec:
-hosts:
-&lt;ul>
-&lt;li>ratings
-http:&lt;/li>
-&lt;li>route:
-&lt;ul>
-&lt;li>destination:
-host: ratings
-subset: v1&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;li>apiVersion: networking.istio.io/v1beta1
-kind: VirtualService
-&amp;hellip;
-spec:
-hosts:
-&lt;ul>
-&lt;li>reviews
-http:&lt;/li>
-&lt;li>route:
-&lt;ul>
-&lt;li>destination:
-host: reviews
-subset: v1
-You can also display the corresponding subset definitions with the following command:&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;p>$ kubectl get destinationrules -o yaml
-You have configured Istio to route to the v1 version of the Bookinfo microservices, most importantly the reviews service version 1.&lt;/p>
-&lt;p>Test the new routing configuration
-You can easily test the new configuration by once again refreshing the /productpage of the Bookinfo app in your browser. Notice that the reviews part of the page displays with no rating stars, no matter how many times you refresh. This is because you configured Istio to route all traffic for the reviews service to the version reviews:v1 and this version of the service does not access the star ratings service.&lt;/p>
-&lt;p>You have successfully accomplished the first part of this task: route traffic to one version of a service.&lt;/p>
-&lt;p>Route based on user identity
-Next, you will change the route configuration so that all traffic from a specific user is routed to a specific service version. In this case, all traffic from a user named Jason will be routed to the service reviews:v2.&lt;/p>
-&lt;p>This example is enabled by the fact that the productpage service adds a custom end-user header to all outbound HTTP requests to the reviews service.&lt;/p>
-&lt;p>Istio also supports routing based on strongly authenticated JWT on ingress gateway, refer to the JWT claim based routing for more details.&lt;/p>
-&lt;p>Remember, reviews:v2 is the version that includes the star ratings feature.&lt;/p>
-&lt;p>Run the following command to enable user-based routing:
-Istio classicGateway API
-$ kubectl apply -f @samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml@
-You can confirm the rule is created using the following command:&lt;/p>
-&lt;p>$ kubectl get virtualservice reviews -o yaml
-apiVersion: networking.istio.io/v1beta1
-kind: VirtualService
-&amp;hellip;
-spec:
-hosts:&lt;/p>
-&lt;ul>
-&lt;li>reviews
-http:&lt;/li>
-&lt;li>match:
-&lt;ul>
-&lt;li>headers:
-end-user:
-exact: jason
-route:&lt;/li>
-&lt;li>destination:
-host: reviews
-subset: v2&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;li>route:
-&lt;ul>
-&lt;li>destination:
-host: reviews
-subset: v1
-On the /productpage of the Bookinfo app, log in as user jason.&lt;/li>
-&lt;/ul>
-&lt;/li>
-&lt;/ul>
-&lt;p>Refresh the browser. What do you see? The star ratings appear next to each review.&lt;/p>
-&lt;p>Log in as another user (pick any name you wish).&lt;/p>
-&lt;p>Refresh the browser. Now the stars are gone. This is because traffic is routed to reviews:v1 for all users except Jason.&lt;/p>
-&lt;p>You have successfully configured Istio to route traffic based on user identity.&lt;/p>
-&lt;p>Understanding what happened
-In this task, you used Istio to send 100% of the traffic to the v1 version of each of the Bookinfo services. You then set a rule to selectively send traffic to version v2 of the reviews service based on a custom end-user header added to the request by the productpage service.&lt;/p>
-&lt;p>Note that Kubernetes services, like the Bookinfo ones used in this task, must adhere to certain restrictions to take advantage of Istio’s L7 routing features. Refer to the Requirements for Pods and Services for details.&lt;/p>
-&lt;p>In the traffic shifting task, you will follow the same basic pattern you learned here to configure route rules to gradually send traffic from one version of a service to another.&lt;/p>
-&lt;p>Cleanup
-Remove the application route rules:
-Istio classicGateway API
-$ kubectl delete -f @samples/bookinfo/networking/virtual-service-all-v1.yaml@
-If you are not planning to explore any follow-on tasks, refer to the Bookinfo cleanup instructions to shutdown the application.&lt;/p></description></item></channel></rss>
\ No newline at end of file
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>
\ No newline at end of file
diff --git a/zh-cn/overview/tasks/observability/admin/index.html b/zh-cn/overview/tasks/observability/admin/index.html
index d43d321efb..253080bbce 100644
--- a/zh-cn/overview/tasks/observability/admin/index.html
+++ b/zh-cn/overview/tasks/observability/admin/index.html
@@ -7,7 +7,7 @@ Dubbo Admin 已经升级为 Dubbo 服务治理统一入口,涵盖的范围非
 服务 Mock 服务Mock通过无代码嵌入的方式将Consumer对Provider的请求进行拦截,动态的对Consumer的请求进行放行或返回用户自定义的Mock数据。从而解决在前期开发过程中,Consumer所依赖的Provider未准备就绪时,造成Consumer开发方的阻塞问题。 只需要以下两步,即可享受服务Mock功能带来的便捷:
 第一步: Consumer应用引入服务Mock依赖,添加JVM启动参数-Denable.dubbo.admin.mock=true开启服务Mock功能。
 <denpendency> <groupId>org.apache.dubbo.extensions</groupId> <artifactId>dubbo-mock-admin</artifactId> <version>${version}</version> </denpendency> 第二步:在Dubbo Admin中配置对应的Mock数据。
-服务文档管理 Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/admin/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-16T17:16:02+08:00"><meta property="og:site_name" content="Apache Dubbo"><meta itemprop=name content="使用 Admin 可视化查看集群状态"><meta itemprop=description conte [...]
+服务文档管理 Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/admin/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-30T10:14:35+08:00"><meta property="og:site_name" content="Apache Dubbo"><meta itemprop=name content="使用 Admin 可视化查看集群状态"><meta itemprop=description conte [...]
 Dubbo Admin 已经升级为 Dubbo 服务治理统一入口,涵盖的范围非常广泛,本文讲解的只是 Admin 可视化控制台部分。
 安装 Admin 首先,需要正确 安装&配置 Dubbo Admin 控制台
 功能介绍 Admin 控制台提供了从开发、测试到流量治理等不同层面的丰富功能,功能总体上可分为以下几类:
@@ -16,7 +16,7 @@ Dubbo Admin 已经升级为 Dubbo 服务治理统一入口,涵盖的范围非
 服务 Mock 服务Mock通过无代码嵌入的方式将Consumer对Provider的请求进行拦截,动态的对Consumer的请求进行放行或返回用户自定义的Mock数据。从而解决在前期开发过程中,Consumer所依赖的Provider未准备就绪时,造成Consumer开发方的阻塞问题。 只需要以下两步,即可享受服务Mock功能带来的便捷:
 第一步: Consumer应用引入服务Mock依赖,添加JVM启动参数-Denable.dubbo.admin.mock=true开启服务Mock功能。
 <denpendency> <groupId>org.apache.dubbo.extensions</groupId> <artifactId>dubbo-mock-admin</artifactId> <version>${version}</version> </denpendency> 第二步:在Dubbo Admin中配置对应的Mock数据。
-服务文档管理 Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。"><meta itemprop=dateModified content="2023-03-16T17:16:02+08:00"><meta itemprop=wordCount content="91"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="使用 Admin 可视化查看集群状态"><meta name=twitter:description content="前面章节我们提到 Dubbo 框架提供了丰富的服务治理功能如流量控制、动态配置、服务 Mock、服务测试等,而 Dubbo Admin 控制台的一部分重要作用在于将 dubbo 框架提供的服务治理能力提供一个开箱即用的可视化平台。本文将介绍 Dubbo Admin 控制台所提 [...]
+服务文档管理 Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。"><meta itemprop=dateModified content="2023-03-30T10:14:35+08:00"><meta itemprop=wordCount content="91"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="使用 Admin 可视化查看集群状态"><meta name=twitter:description content="前面章节我们提到 Dubbo 框架提供了丰富的服务治理功能如流量控制、动态配置、服务 Mock、服务测试等,而 Dubbo Admin 控制台的一部分重要作用在于将 dubbo 框架提供的服务治理能力提供一个开箱即用的可视化平台。本文将介绍 Dubbo Admin 控制台所提 [...]
 Dubbo Admin 已经升级为 Dubbo 服务治理统一入口,涵盖的范围非常广泛,本文讲解的只是 Admin 可视化控制台部分。
 安装 Admin 首先,需要正确 安装&配置 Dubbo Admin 控制台
 功能介绍 Admin 控制台提供了从开发、测试到流量治理等不同层面的丰富功能,功能总体上可分为以下几类:
@@ -785,7 +785,7 @@ Consumer应用引入服务Mock依赖,添加JVM启动参数-Denable.dubbo.admin
 </span></span><span style=display:flex><span>  <span style=color:#268bd2>&lt;version&gt;</span>${version}<span style=color:#268bd2>&lt;/version&gt;</span>
 </span></span><span style=display:flex><span><span style=color:#268bd2>&lt;/denpendency&gt;</span>
 </span></span></code></pre></div><p>第二步:在Dubbo Admin中配置对应的Mock数据。</p><p><img src=/imgs/v3/tasks/observability/admin/2-service-mock.png alt=img></p><h4 id=服务文档管理>服务文档管理</h4><p>Admin 提供的接口文档,相当于 swagger 对于 RESTful 风格的 Web 服务的作用。使用该功能可以有效的管理 Dubbo 接口文档。</p><p><img src=/imgs/v3/tasks/observability/admin/2-service-doc.png alt=img></p><h3 id=集群状态监控>集群状态监控</h3><h4 id=首页大盘>首页大盘</h4><p>TBD</p><h4 id=grafana>Grafana</h4><p><img src=/imgs/v3/tasks/observability/admin/3-grafana.png alt=img></p><h4 i [...]
-<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 [...]
 <a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/observability/admin.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matt [...]
 <a href="https://github.com/apache/dubbo-website/issues/new?title=%e4%bd%bf%e7%94%a8%20Admin%20%e5%8f%af%e8%a7%86%e5%8c%96%e6%9f%a5%e7%9c%8b%e9%9b%86%e7%be%a4%e7%8a%b6%e6%80%81" 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=#安装-admin>安装 Admin</a></li><li><a href=#功能介绍>功能介绍</a><ul><li><a href=#服务状态与依赖关系查询>服务状态与依赖关系查询</a></li><li><a href=#服务在线测试与文档管理>服务在线测试与文档管理</a></li><li><a href=#集群状态监控>集群状态监控</a></li><li><a href=#流量管控>流量管控</a></li></ul></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 row d-print-none footer-margin-0"><div class="cont [...]
diff --git a/zh-cn/overview/tasks/observability/grafana/index.html b/zh-cn/overview/tasks/observability/grafana/index.html
index 9a9b3d2229..b6c0ed44c5 100644
--- a/zh-cn/overview/tasks/observability/grafana/index.html
+++ b/zh-cn/overview/tasks/observability/grafana/index.html
@@ -5,14 +5,14 @@ Spring项目参考案例: https://github.com/apache/dubbo-samples/tree/master/
 <dubbo:metrics protocol=&#34;prometheus&#34; enable-jvm-metrics=&#34;true&#34;> <dubbo:aggregation enabled=&#34;true&#34;/> <dubbo:prometheus-exporter enabled=&#34;true&#34; metrics-port=&#34;20888&#34;/> </dubbo:metrics> 关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:
 enable-jvm-metrics: 是对JVM指标的埋点, 如果不需要这些配置项可以将其删除或者设置为false。 aggregation: 针对指标数据的聚合处理使监控指标更平滑。 prometheus-exporter: 指标数据导出器,这里配置指标服务的端口号为20888。 配置完成后即可启动服务。
 指标获取 前面的例子中提供了指标服务,接下来我们可以通过普罗米修斯来获取数据。 普罗米修斯监控服务通过访问:http://localhost:20888 即可拉取数据 指标数据如下所示: 普罗米修斯获取数据的配置参考如下:
-# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config."><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/grafana/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-01T09:48:32+08:00"><met [...]
+# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config."><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/grafana/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-30T10:14:09+08:00"><met [...]
 开始之前 安装 Prometheus 安装 Grafana 部署示例项目 查看 Grafana 面板 示例详解 参考案例 Dubbo官方案例中提供了指标埋点的示例,可以访问如下地址获取案例源码:
 Spring项目参考案例: https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-prometheus SpringBoot项目参考案例: https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-spring-boot 依赖 目前Dubbo的指标埋点仅支持3.2及以上版本,同时需要引入dubbo-metrics-prometheus依赖如下所示:
 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-metrics-prometheus</artifactId> <version>3.2及以上版本</version> </dependency> 配置 开启Dubbo的指标埋点只需要引入以下配置即可。
 <dubbo:metrics protocol=&#34;prometheus&#34; enable-jvm-metrics=&#34;true&#34;> <dubbo:aggregation enabled=&#34;true&#34;/> <dubbo:prometheus-exporter enabled=&#34;true&#34; metrics-port=&#34;20888&#34;/> </dubbo:metrics> 关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:
 enable-jvm-metrics: 是对JVM指标的埋点, 如果不需要这些配置项可以将其删除或者设置为false。 aggregation: 针对指标数据的聚合处理使监控指标更平滑。 prometheus-exporter: 指标数据导出器,这里配置指标服务的端口号为20888。 配置完成后即可启动服务。
 指标获取 前面的例子中提供了指标服务,接下来我们可以通过普罗米修斯来获取数据。 普罗米修斯监控服务通过访问:http://localhost:20888 即可拉取数据 指标数据如下所示: 普罗米修斯获取数据的配置参考如下:
-# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config."><meta itemprop=dateModified content="2023-03-01T09:48:32+08:00"><meta itemprop=wordCount content="114"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="使用 Grafana 可视化查看集群 Metrics 指标"><meta name=twitter:description content [...]
+# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config."><meta itemprop=dateModified content="2023-03-30T10:14:09+08:00"><meta itemprop=wordCount content="114"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="使用 Grafana 可视化查看集群 Metrics 指标"><meta name=twitter:description content [...]
 开始之前 安装 Prometheus 安装 Grafana 部署示例项目 查看 Grafana 面板 示例详解 参考案例 Dubbo官方案例中提供了指标埋点的示例,可以访问如下地址获取案例源码:
 Spring项目参考案例: https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-prometheus SpringBoot项目参考案例: https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-spring-boot 依赖 目前Dubbo的指标埋点仅支持3.2及以上版本,同时需要引入dubbo-metrics-prometheus依赖如下所示:
 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-metrics-prometheus</artifactId> <version>3.2及以上版本</version> </dependency> 配置 开启Dubbo的指标埋点只需要引入以下配置即可。
@@ -793,7 +793,7 @@ enable-jvm-metrics: 是对JVM指标的埋点, 如果不需要这些配置项
 Dubbo可观测性面板可以在Grafana官网的模板库中可以找到,您可以直接导入如下模版,并配置好数据源即可。
 <a href=https://grafana.com/grafana/dashboards/18051>https://grafana.com/grafana/dashboards/18051</a></p><p><img src=/imgs/v3/advantages/grafana-dashboard-1.png alt=grafana-dashboard-1.png>
 <img src=/imgs/v3/advantages/grafana-dashboard-2.png alt=grafana-dashboard-2.png></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 [...]
 <a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/observability/grafana.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+ma [...]
 <a href="https://github.com/apache/dubbo-website/issues/new?title=%e4%bd%bf%e7%94%a8%20Grafana%20%e5%8f%af%e8%a7%86%e5%8c%96%e6%9f%a5%e7%9c%8b%e9%9b%86%e7%be%a4%20Metrics%20%e6%8c%87%e6%a0%87" 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></li><li><a href=#查看-grafana-面板>查看 Grafana 面板</a></li><li><a href=#示例详解>示例详解</a><ul><li><a href=#参考案例>参考案例</a></li><li><a href=#依赖>依赖</a></li><li><a href=#配置>配置</a></li><li><a href=#指标获取>指标获取</a></li><li><a href=#可视化页面>可视化页面</a></li></ul></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 row d-print-none [...]
diff --git a/zh-cn/overview/tasks/observability/prometheus/index.html b/zh-cn/overview/tasks/observability/prometheus/index.html
index aa4541e77b..67906ce8c3 100644
--- a/zh-cn/overview/tasks/observability/prometheus/index.html
+++ b/zh-cn/overview/tasks/observability/prometheus/index.html
@@ -2,11 +2,11 @@
 本地或远端 Kubernetes 集群 Kubernetes 集群安装 Prometheus 部署示例应用 使用 Prometheus dashboard 查询数据指标 部署与安装 Prometheus Kubernetes 环境安装 使用以下 Dubbo 社区准备好的 Prometheus 配置文件,可以快速的将 Prometheus 启动起来:
 $ kubectl apply -f dubbo-stack/prometheus.yaml 验证 Prometheus 已经正确部署
 $ kubectl get svc prometheus -n dubbo-system 配置 Prometheus Dubbo 的每个实例都会暴露一个 http 端口用于 Metrics 采集,Prometheus 通过 scraping 每个实例的 http 接口来采集统计数据。具体的 scraping 路径可以通过 Prometheus 配置文件进行调整,该文件控制 scraping 实例的端口、路径、TLS 设置等。
-本示例基于 prometheus.io 注解实现了 scraping target 地址的自动发现,具体注解配置可参见示例中的 Deployment 资源定义。在此模式下,Dubbo 实例默认提供的 Prometheus Metrics 采集路径是:20888/management/prometheus。"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/prometheus/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-01T09:48:32+08:00"><meta property="og:site_name" content="Apache Dubbo"><meta [...]
+本示例基于 prometheus.io 注解实现了 scraping target 地址的自动发现,具体注解配置可参见示例中的 Deployment 资源定义。在此模式下,Dubbo 实例默认提供的 Prometheus Metrics 采集路径是:20888/management/prometheus。"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/tasks/observability/prometheus/"><meta property="article:section" content="overview"><meta property="article:modified_time" content="2023-03-30T10:13:54+08:00"><meta property="og:site_name" content="Apache Dubbo"><meta [...]
 本地或远端 Kubernetes 集群 Kubernetes 集群安装 Prometheus 部署示例应用 使用 Prometheus dashboard 查询数据指标 部署与安装 Prometheus Kubernetes 环境安装 使用以下 Dubbo 社区准备好的 Prometheus 配置文件,可以快速的将 Prometheus 启动起来:
 $ kubectl apply -f dubbo-stack/prometheus.yaml 验证 Prometheus 已经正确部署
 $ kubectl get svc prometheus -n dubbo-system 配置 Prometheus Dubbo 的每个实例都会暴露一个 http 端口用于 Metrics 采集,Prometheus 通过 scraping 每个实例的 http 接口来采集统计数据。具体的 scraping 路径可以通过 Prometheus 配置文件进行调整,该文件控制 scraping 实例的端口、路径、TLS 设置等。
-本示例基于 prometheus.io 注解实现了 scraping target 地址的自动发现,具体注解配置可参见示例中的 Deployment 资源定义。在此模式下,Dubbo 实例默认提供的 Prometheus Metrics 采集路径是:20888/management/prometheus。"><meta itemprop=dateModified content="2023-03-01T09:48:32+08:00"><meta itemprop=wordCount content="149"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="从 Prometheus 查询 Metrics 监控指标"><meta name=twitter:description content="准备条件 本文演示在如何 Kubernetes 环境下部署的 Prometheus 并实现对 Dubbo 集群的 [...]
+本示例基于 prometheus.io 注解实现了 scraping target 地址的自动发现,具体注解配置可参见示例中的 Deployment 资源定义。在此模式下,Dubbo 实例默认提供的 Prometheus Metrics 采集路径是:20888/management/prometheus。"><meta itemprop=dateModified content="2023-03-30T10:13:54+08:00"><meta itemprop=wordCount content="149"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="从 Prometheus 查询 Metrics 监控指标"><meta name=twitter:description content="准备条件 本文演示在如何 Kubernetes 环境下部署的 Prometheus 并实现对 Dubbo 集群的 [...]
 本地或远端 Kubernetes 集群 Kubernetes 集群安装 Prometheus 部署示例应用 使用 Prometheus dashboard 查询数据指标 部署与安装 Prometheus Kubernetes 环境安装 使用以下 Dubbo 社区准备好的 Prometheus 配置文件,可以快速的将 Prometheus 启动起来:
 $ kubectl apply -f dubbo-stack/prometheus.yaml 验证 Prometheus 已经正确部署
 $ kubectl get svc prometheus -n dubbo-system 配置 Prometheus Dubbo 的每个实例都会暴露一个 http 端口用于 Metrics 采集,Prometheus 通过 scraping 每个实例的 http 接口来采集统计数据。具体的 scraping 路径可以通过 Prometheus 配置文件进行调整,该文件控制 scraping 实例的端口、路径、TLS 设置等。
@@ -755,7 +755,7 @@ $ kubectl get svc prometheus -n dubbo-system 配置 Prometheus Dubbo 的每个
 </span></span></code></pre></div><p><strong>3. 查看示例启动成功</strong></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>$ kubectl get pods -n dubbo-demo
 </span></span></code></pre></div><p>Dubbo 服务开始模拟正常运行,接下来可以通过 Prometheus 查看统计数据了。</p><h2 id=查询-prometheus>查询 Prometheus</h2><p>获得 Prometheus dashboard 访问地址</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>$ kubectl port-forward service/prometheus ${port}:${port}
 </span></span></code></pre></div><p>接下来,执行 Prometheus 查询命令。可以在此确认 <a href=../../../reference/proposals/metrics/>Dubbo 支持的 Metrics 指标</a>。</p><p><strong>1. 在 “Expression” 一览,输入 <code>dubbo_requests_total</code>,返回以下结果</strong></p><p><img src=/imgs/v3/tasks/observability/prometheus.png alt=img></p><p><strong>2. 在 “Expression” 一览,输入 <code>dubbo_requests_total</code>,返回以下结果</strong></p><div id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 f [...]
-<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 [...]
 <a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/observability/prometheus.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front [...]
 <a href="https://github.com/apache/dubbo-website/issues/new?title=%e4%bb%8e%20Prometheus%20%e6%9f%a5%e8%af%a2%20Metrics%20%e7%9b%91%e6%8e%a7%e6%8c%87%e6%a0%87" 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></li><li><a href=#部署与安装-prometheus>部署与安装 Prometheus</a><ul><li><a href=#kubernetes-环境安装>Kubernetes 环境安装</a></li><li><a href=#配置-prometheus>配置 Prometheus</a></li></ul></li><li><a href=#部署示例项目>部署示例项目</a></li><li><a href=#查询-prometheus>查询 Prometheus</a></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 row  [...]
diff --git a/zh-cn/overview/tasks/observability/tracing/index.html b/zh-cn/overview/tasks/observability/tracing/index.html
index bc9c8170d5..d76c51ada9 100644
--- a/zh-cn/overview/tasks/observability/tracing/index.html
+++ b/zh-cn/overview/tasks/observability/tracing/index.html
@@ -724,7 +724,7 @@
 <label for=m-zh-cnoverviewreferenceproposalsmetrics-check><a href=/zh-cn/overview/reference/proposals/metrics/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsmetrics><span>指标埋点</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-li><input type=checkbox id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-check>
 <label for=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-check><a href=/zh-cn/overview/reference/proposals/heuristic-flow-control/ title=自适应负载均衡与限流 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control><span>服务柔性</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewreferenceproposalsservice-discovery-li><input type=checkbox id=m-zh-cnoverviewref [...]
 <label for=m-zh-cnoverviewreferenceproposalsservice-discovery-check><a href=/zh-cn/overview/reference/proposals/service-discovery/ title="Dubbo3 应用级服务发现设计" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsservice-discovery><span>应用级服务发现</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li  [...]
-<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 [...]
 <a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/observability/tracing/_index.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22f [...]
 <a href="https://github.com/apache/dubbo-website/issues/new?title=%e5%85%a8%e9%93%be%e8%b7%af%e8%bf%bd%e8%b8%aa" 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></div></div></div></div><footer class="bg-dark py-5 row d-print-none footer-margin-0"><div class="container-fluid mx-sm-5"><div class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"><ul class="list-inline mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top title="Dubbo mailing list archive" aria-label="Dubbo mailing list archive"><a c [...]
diff --git a/zh-cn/overview/what/ecosystem/gateway/higress/index.html b/zh-cn/overview/what/ecosystem/gateway/higress/index.html
index e282c77946..b6862eb5c0 100644
--- a/zh-cn/overview/what/ecosystem/gateway/higress/index.html
+++ b/zh-cn/overview/what/ecosystem/gateway/higress/index.html
@@ -1,6 +1,18 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/><script>var _hmt=_hmt||[];(function(){var e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta charset=utf-8><meta name=viewport content="width=device-wid [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/><script>var _hmt=_hmt||[];(function(){var e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta charset=utf-8><meta name=viewport content="width=device-wid [...]
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
 <script>var doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link rel=preload href=/scss/main.min.578ffe330fde90c98ec1a836a78e3a4f7ea2a73a72f353cdd331fc3f8dd3a3cd.css as=style><link href=/scss/main.min.578ffe330fde90c98ec1a836a78e3a4f7ea2a73a72f353cdd331fc3f8dd3a3cd.css rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js integrity="sha256-9/a [...]
-<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta name=theme-color content="#326ce5"><link rel=stylesheet href=/css/feature-states.css><meta name=description content><meta property="og:description" content><meta name=twitter:description content><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/"><meta property="og:title" content="Higress"><meta name=twitter:title content="Higress"><meta name=twitter:imag [...]
+<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta name=theme-color content="#326ce5"><link rel=stylesheet href=/css/feature-states.css><meta name=description content="Higress 对接 Dubbo 服务 Higress提供了从HTTP协议到Dubbo协议进行转换的功能,用户通过配置协议转换,可以将一个Dubbo服务以HTTP接口暴露出来,从而用HTTP请求实现对Dubbo接口的调用。本文将通过一个示例来介绍如何用Higress配置HTTP到Dubbo的协议转换。该示例会引导您轻松地部署一个Nacos server和一个Dubbo服务,然后通过Ingress将HTTP请求转发到注册在Nacos上的Dubbo服务,并通过Higress的协议转换能力完成对Dubbo服务的HTTP调用。
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
+前提条件 Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。 已安装Higress,并开启了对Istio CRD的支持,参考Higress安装部署文档。 部署Nacos和Dubbo服务 首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。
+# Nacos Server配置 apiVersion: apps/v1 kind: Deployment metadata: name: nacos-server spec: replicas: 1 selector: matchLabels: app: nacos-server template: metadata: labels: app: nacos-server spec: containers: - env: - name: MODE value: standalone image: nacos/nacos-server:v2.2.0 imagePullPolicy: Always name: nacos-server ports: - containerPort: 8848 name: server dnsPolicy: ClusterFirst restartPolicy: Always # Nacos Server Service配置 --- apiVersion: v1 kind: Service metadata: name: nacos-serv [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css rel=stylesheet><link href=/css/language.css rel=stylesheet><script src=/js/script.js></script></head><body class="td-page td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" [...]
 <a href=#>Apache Dubbo 全新改版网站与文档</a> <em>正式上线!</em></h4><p>新版文档仍处于持续完善中,涵盖 Dubbo3 及最新特性使用方式,我们计划在未来几个月内为用户提供最完善、易用的使用体验!<br>可扫码反馈问题! 2023-02-21.</p></div></aside></div></header><div class="container-fluid td-outer"><div class=td-main><div class="row flex-md-nowrap"><div class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"><script>$(function(){$("#td-section-nav a").removeClass("active"),$("#td-section-nav #m-zh-cnoverviewwhatecosystemgatewayhigress").addClass("active"),$("#td-section [...]
 <label for=m-zh-cnoverviewhome-check><a href=/zh-cn/overview/home/ title="Dubbo 文档" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cnoverviewhome><span>主页</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cnoverviewquickstart-li><input type=checkbox id=m-zh-cnoverviewquickstart-check>
@@ -723,11 +735,221 @@
 <label for=m-zh-cnoverviewreferenceproposalsadmin-check><a href=/zh-cn/overview/reference/proposals/admin/ title="Dubbo Admin 控制面总体架构设计" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsadmin><span>Admin 架构设计</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewreferenceproposalsmetrics-li><input type=checkbox id=m-zh-cnoverviewreferenceproposalsmetrics-check>
 <label for=m-zh-cnoverviewreferenceproposalsmetrics-check><a href=/zh-cn/overview/reference/proposals/metrics/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsmetrics><span>指标埋点</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-li><input type=checkbox id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-check>
 <label for=m-zh-cnoverviewreferenceproposalsheuristic-flow-control-check><a href=/zh-cn/overview/reference/proposals/heuristic-flow-control/ title=自适应负载均衡与限流 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsheuristic-flow-control><span>服务柔性</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cnoverviewreferenceproposalsservice-discovery-li><input type=checkbox id=m-zh-cnoverviewref [...]
-<label for=m-zh-cnoverviewreferenceproposalsservice-discovery-check><a href=/zh-cn/overview/reference/proposals/service-discovery/ title="Dubbo3 应用级服务发现设计" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsservice-discovery><span>应用级服务发现</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li  [...]
-<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 [...]
+<label for=m-zh-cnoverviewreferenceproposalsservice-discovery-check><a href=/zh-cn/overview/reference/proposals/service-discovery/ title="Dubbo3 应用级服务发现设计" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cnoverviewreferenceproposalsservice-discovery><span>应用级服务发现</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li  [...]
+</span></span><span style=display:flex><span><span style=color:#268bd2>apiVersion</span>: apps/v1
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: Deployment
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: nacos-server
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>replicas</span>: <span style=color:#2aa198>1</span>
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>selector</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>matchLabels</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>app</span>: nacos-server
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>template</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>app</span>: nacos-server
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>containers</span>:
+</span></span><span style=display:flex><span>      - <span style=color:#268bd2>env</span>:
+</span></span><span style=display:flex><span>        - <span style=color:#268bd2>name</span>: MODE
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>value</span>: standalone
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>image</span>: nacos/nacos-server:v2.2.0
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>imagePullPolicy</span>: Always
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>name</span>: nacos-server
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>ports</span>:
+</span></span><span style=display:flex><span>          - <span style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>name</span>: server
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>dnsPolicy</span>: ClusterFirst
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>restartPolicy</span>: Always
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75># Nacos Server Service配置</span>
+</span></span><span style=display:flex><span>---
+</span></span><span style=display:flex><span><span style=color:#268bd2>apiVersion</span>: v1
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: Service
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: nacos-server
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>ports</span>:
+</span></span><span style=display:flex><span>  - <span style=color:#268bd2>port</span>: <span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>name</span>: server
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>protocol</span>: TCP
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>targetPort</span>: <span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>selector</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>app</span>: nacos-server
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>type</span>: ClusterIP
+</span></span></code></pre></div><p>在K8s集群中apply以下资源,以部署一个Dubbo服务,该Dubbo服务将注册到上述的Naocs中。</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>apiVersion</span>: apps/v1
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: Deployment
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: nacos-provider
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>replicas</span>: <span style=color:#2aa198>1</span>
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>selector</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>matchLabels</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>app</span>: nacos-provider
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>template</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>labels</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>app</span>: nacos-provider
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>containers</span>:
+</span></span><span style=display:flex><span>        - <span style=color:#268bd2>name</span>: server
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>image</span>: higress-registry.cn-hangzhou.cr.aliyuncs.com/samples/nacos-dubbo-provider:v1.0.0
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>imagePullPolicy</span>: IfNotPresent
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>ports</span>:
+</span></span><span style=display:flex><span>            - <span style=color:#268bd2>containerPort</span>: <span style=color:#2aa198>20880</span>
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>env</span>:
+</span></span><span style=display:flex><span>            - <span style=color:#268bd2>name</span>: DUBBO_REGISTRY_ADDRESS
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>value</span>: nacos-server.default.svc.cluster.local
+</span></span></code></pre></div><p>该Dubbo服务的代码可以在Nacos的<a href=https://github.com/nacos-group/nacos-examples/tree/master/nacos-dubbo-example>示例代码</a>仓库中找到,其接口定义为:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-java data-lang=java><span style=display:flex><span><span style=color:#719e07>package</span> com.alibaba.nacos.example.dubbo.service<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>interface</span> <span style=color:#268bd2>DemoService</span> <span style=color:#719e07>{</span>
+</span></span><span style=display:flex><span>    String <span style=color:#268bd2>sayName</span><span style=color:#719e07>(</span>String name<span style=color:#719e07>);</span>
+</span></span><span style=display:flex><span><span style=color:#719e07>}</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-java data-lang=java><span style=display:flex><span><span style=color:#719e07>package</span> com.alibaba.nacos.example.dubbo.service<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#719e07>import</span> com.alibaba.dubbo.config.annotation.Service<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span><span style=color:#719e07>import</span> com.alibaba.dubbo.rpc.RpcContext<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span><span style=color:#719e07>import</span> org.springframework.beans.factory.annotation.Value<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span><span style=color:#586e75>/**
+</span></span></span><span style=display:flex><span><span style=color:#586e75> * Default {@link DemoService}
+</span></span></span><span style=display:flex><span><span style=color:#586e75> *  https://nacos.io/zh-cn/docs/use-nacos-with-dubbo.html
+</span></span></span><span style=display:flex><span><span style=color:#586e75> * @since 2.6.5
+</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
+</span></span><span style=display:flex><span><span style=color:#268bd2>@Service</span><span style=color:#719e07>(</span>version <span style=color:#719e07>=</span> <span style=color:#2aa198>&#34;${demo.service.version}&#34;</span><span style=color:#719e07>,</span> group <span style=color:#719e07>=</span> <span style=color:#2aa198>&#34;${demo.service.group}&#34;</span><span style=color:#719e07>)</span>
+</span></span><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>DefaultService</span> <span style=color:#268bd2>implements</span> DemoService <span style=color:#719e07>{</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>@Value</span><span style=color:#719e07>(</span><span style=color:#2aa198>&#34;${demo.service.name}&#34;</span><span style=color:#719e07>)</span>
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>private</span> String serviceName<span style=color:#719e07>;</span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>public</span> String <span style=color:#268bd2>sayName</span><span style=color:#719e07>(</span>String name<span style=color:#719e07>)</span> <span style=color:#719e07>{</span>
+</span></span><span style=display:flex><span>        RpcContext rpcContext <span style=color:#719e07>=</span> RpcContext<span style=color:#719e07>.</span>getContext<span style=color:#719e07>();</span>
+</span></span><span style=display:flex><span>        <span style=color:#719e07>return</span> String<span style=color:#719e07>.</span>format<span style=color:#719e07>(</span><span style=color:#2aa198>&#34;Service [name :%s , port : %d] %s(\&#34;%s\&#34;) : Hello,%s&#34;</span><span style=color:#719e07>,</span>
+</span></span><span style=display:flex><span>                serviceName<span style=color:#719e07>,</span>
+</span></span><span style=display:flex><span>                rpcContext<span style=color:#719e07>.</span>getLocalPort<span style=color:#719e07>(),</span>
+</span></span><span style=display:flex><span>                rpcContext<span style=color:#719e07>.</span>getMethodName<span style=color:#719e07>(),</span>
+</span></span><span style=display:flex><span>                name<span style=color:#719e07>,</span>
+</span></span><span style=display:flex><span>                name<span style=color:#719e07>);</span>
+</span></span><span style=display:flex><span>    <span style=color:#719e07>}</span>
+</span></span><span style=display:flex><span><span style=color:#719e07>}</span>
+</span></span></code></pre></div><p>在本示例中,该Dubbo服务的服务名为com.alibaba.nacos.example.dubbo.service.DemoService,服务版本为1.0.0,服务分组为dev。</p><p>为了测试方便,我们可以通过运行以下命令来将我们部署在K8s集群中的Naocs服务映射到本地端口:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>kubectl port-forward svc/nacos-server 8848:8848 --address<span style=color:#719e07>=</span><span style=color:#2 [...]
+</span></span></code></pre></div><p>然后请求Nacos的服务发现接口,可以查看到我们Dubbo服务的元数据信息,从而对以上部署进行验证。</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#268bd2>$curl</span> -X GET <span style=color:#2aa198>&#39;http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:de [...]
+</span></span><span style=display:flex><span><span style=color:#719e07>{</span><span style=color:#2aa198>&#34;name&#34;</span>:<span style=color:#2aa198>&#34;DEFAULT_GROUP@@providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev&#34;</span>,<span style=color:#2aa198>&#34;groupName&#34;</span>:<span style=color:#2aa198>&#34;DEFAULT_GROUP&#34;</span>,<span style=color:#2aa198>&#34;clusters&#34;</span>:<span style=color:#2aa198>&#34;&#34;</span>,<span style=color:#2aa198>&#3 [...]
+</span></span></code></pre></div><h2 id=通过ingress转发请求到dubbo服务>通过Ingress转发请求到Dubbo服务</h2><p>Higress可以通过McpBridge来对接Nacos作为服务来源,在K8s集群中apply以下资源来配置McpBridge</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>apiVersion</span>: networking.higress.io/v1
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: McpBridge
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: default
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>namespace</span>: higress-system
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</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>domain</span>: nacos-server.default.svc.cluster.local
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>nacosGroups</span>:
+</span></span><span style=display:flex><span>    - DEFAULT_GROUP
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>name</span>: nacos-service-resource
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>port</span>: <span style=color:#2aa198>8848</span>
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>type</span>: nacos2
+</span></span></code></pre></div><p>通过McpBridge,我们可以直接从Nacos中发现Dubbo服务,并为其创建路由,而无需为每一个Dubbo服务创建service资源。</p><p>接下来我们创建如下Ingress,从而创建一条指向Dubbo服务的HTTP路由:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#268bd2>apiVersion</span>: networking.k8s.io/v1
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: Ingress
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>annotations</span>:
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>higress.io/destination</span>: providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev.DEFAULT-GROUP.public.nacos
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: demo
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>namespace</span>: higress-system
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>ingressClassName</span>: higress
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>rules</span>:
+</span></span><span style=display:flex><span>  - <span style=color:#268bd2>http</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>paths</span>:
+</span></span><span style=display:flex><span>      - <span style=color:#268bd2>backend</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>resource</span>:
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>apiGroup</span>: networking.higress.io
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>kind</span>: McpBridge
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>name</span>: default
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>path</span>: /dubbo
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>pathType</span>: Prefix
+</span></span></code></pre></div><p>这样,path前缀为/dubbo的请求就会被路由到我们刚刚创建的Dubbo服务上。</p><h2 id=通过envoyfilter配置http到dubbo的协议转换规则>通过EnvoyFilter配置HTTP到Dubbo的协议转换规则</h2><p>经过上述步骤,我们已经在K8s环境下部署了一套Naocs和Dubbo,并通过Ingress将path前缀为/dubbo的请求路由到我们配好的Dubbo服务上。但光是这样是无法正常通信的,因为Dubbo服务使用的是定制的Dubbo协议,无法天然与HTTP协议进行兼容。因此接下来我们将通过EnvoyFilter来配置HTTP到Dubbo的协议转换规则,从而实现用HTTP请求来调用Dubbo服务。</p><p>在K8s集群中apply以下资源,要注意的是,EnvoyFilter是属于Istio的CRD,因此需要参照前提条件中的第2点来开启Higress对Istio CRD的支持。</p><div class=highlight><pre tabindex=0  [...]
+</span></span><span style=display:flex><span><span style=color:#268bd2>kind</span>: EnvoyFilter
+</span></span><span style=display:flex><span><span style=color:#268bd2>metadata</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>name</span>: http-dubbo-transcoder-test
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>namespace</span>: higress-system
+</span></span><span style=display:flex><span><span style=color:#268bd2>spec</span>:
+</span></span><span style=display:flex><span>  <span style=color:#268bd2>configPatches</span>:
+</span></span><span style=display:flex><span>  - <span style=color:#268bd2>applyTo</span>: HTTP_FILTER
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>match</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>context</span>: GATEWAY
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>listener</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>filterChain</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>filter</span>:
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>name</span>: envoy.filters.network.http_connection_manager
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>subFilter</span>:
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>name</span>: envoy.filters.http.router
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>patch</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>operation</span>: INSERT_BEFORE
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>value</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>name</span>: envoy.filters.http.http_dubbo_transcoder
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>typed_config</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>&#39;@type&#39;</span>: type.googleapis.com/udpa.type.v1.TypedStruct
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>type_url</span>: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
+</span></span><span style=display:flex><span>  - <span style=color:#268bd2>applyTo</span>: HTTP_ROUTE
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>match</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>context</span>: GATEWAY
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>routeConfiguration</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>vhost</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>route</span>:
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>name</span>: demo
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>patch</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>operation</span>: MERGE
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>value</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>route</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>upgrade_configs</span>:
+</span></span><span style=display:flex><span>          - <span style=color:#268bd2>connect_config</span>:
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>allow_post</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>upgrade_type</span>: CONNECT
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>typed_per_filter_config</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>envoy.filters.http.http_dubbo_transcoder</span>:
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>&#39;@type&#39;</span>: type.googleapis.com/udpa.type.v1.TypedStruct
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>type_url</span>: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>value</span>:
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>request_validation_options</span>:
+</span></span><span style=display:flex><span>                <span style=color:#268bd2>reject_unknown_method</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span>                <span style=color:#268bd2>reject_unknown_query_parameters</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>services_mapping</span>:
+</span></span><span style=display:flex><span>              - <span style=color:#268bd2>group</span>: dev
+</span></span><span style=display:flex><span>                <span style=color:#268bd2>method_mapping</span>:
+</span></span><span style=display:flex><span>                - <span style=color:#268bd2>name</span>: sayName
+</span></span><span style=display:flex><span>                  <span style=color:#268bd2>parameter_mapping</span>:
+</span></span><span style=display:flex><span>                  - <span style=color:#268bd2>extract_key</span>: p
+</span></span><span style=display:flex><span>                    <span style=color:#268bd2>extract_key_spec</span>: ALL_QUERY_PARAMETER
+</span></span><span style=display:flex><span>                    <span style=color:#268bd2>mapping_type</span>: java.lang.String
+</span></span><span style=display:flex><span>                  <span style=color:#268bd2>passthrough_setting</span>:
+</span></span><span style=display:flex><span>                    <span style=color:#268bd2>passthrough_all_headers</span>: <span style=color:#cb4b16>true</span>
+</span></span><span style=display:flex><span>                  <span style=color:#268bd2>path_matcher</span>:
+</span></span><span style=display:flex><span>                    <span style=color:#268bd2>match_http_method_spec</span>: ALL_GET
+</span></span><span style=display:flex><span>                    <span style=color:#268bd2>match_pattern</span>: /dubbo/hello
+</span></span><span style=display:flex><span>                <span style=color:#268bd2>name</span>: com.alibaba.nacos.example.dubbo.service.DemoService
+</span></span><span style=display:flex><span>                <span style=color:#268bd2>version</span>: <span style=color:#2aa198>1.0.0</span>
+</span></span><span style=display:flex><span>              <span style=color:#268bd2>url_unescape_spec</span>: ALL_CHARACTERS_EXCEPT_RESERVED
+</span></span><span style=display:flex><span>  - <span style=color:#268bd2>applyTo</span>: CLUSTER
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>match</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>cluster</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>service</span>: providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev.DEFAULT-GROUP.public.nacos
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>context</span>: GATEWAY
+</span></span><span style=display:flex><span>    <span style=color:#268bd2>patch</span>:
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>operation</span>: MERGE
+</span></span><span style=display:flex><span>      <span style=color:#268bd2>value</span>:
+</span></span><span style=display:flex><span>        <span style=color:#268bd2>upstream_config</span>:
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>name</span>: envoy.upstreams.http.dubbo_tcp
+</span></span><span style=display:flex><span>          <span style=color:#268bd2>typed_config</span>:
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>&#39;@type&#39;</span>: type.googleapis.com/udpa.type.v1.TypedStruct
+</span></span><span style=display:flex><span>            <span style=color:#268bd2>type_url</span>: type.googleapis.com/envoy.extensions.upstreams.http.dubbo_tcp.v3.DubboTcpConnectionPoolProto
+</span></span></code></pre></div><p>在以上EnvoyFilter中,我们配置了将path为/dubbo/hello的HTTP请求转发到Dubbo服务com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev中,并调用其sayName方法,而该方法的参数则通过HTTP url中的的query参数p来指定。</p><h2 id=请求验证>请求验证</h2><p>通过以上配置,我们就可以执行以下curl命令来调用这个dubbo服务了:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#268bd2>$ [...]
+</span></span><span style=display:flex><span><span style=color:#719e07>{</span><span style=color:#2aa198>&#34;result&#34;</span>:<span style=color:#2aa198>&#34;Service [name :demoService , port : 20880] sayName(\&#34;abc\&#34;) : Hello,abc&#34;</span><span style=color:#719e07>}</span>
+</span></span></code></pre></div><h2 id=配置参考>配置参考</h2><p>EnvoyFilter的相关配置项参考<a href=https://higress.io/zh-cn/docs/user/dubbo-envoyfilter>HTTP转Dubbo配置说明</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 [...]
 <a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/what/ecosystem/gateway/higress.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front [...]
 <a href="https://github.com/apache/dubbo-website/issues/new?title=Higress" 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></div></div></div></div><footer class="bg-dark py-5 row d-print-none footer-margin-0"><div class="container-fluid mx-sm-5"><div class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"><ul class="list-inline mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top title="Dubbo mailing list archive" aria-label="Dubbo mailing list archive"><a c [...]
+<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></li><li><a href=#部署nacos和dubbo服务>部署Nacos和Dubbo服务</a></li><li><a href=#通过ingress转发请求到dubbo服务>通过Ingress转发请求到Dubbo服务</a></li><li><a href=#通过envoyfilter配置http到dubbo的协议转换规则>通过EnvoyFilter配置HTTP到Dubbo的协议转换规则</a></li><li><a href=#请求验证>请求验证</a></li><li><a href=#配置参考>配置参考</a></li></ul></nav></div></div></div></div><footer class=" [...]
 <script src=/js/bootstrap.min.js integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy crossorigin=anonymous></script>
 <script src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug=" crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh-cn/overview/what/ecosystem/gateway/index.xml b/zh-cn/overview/what/ecosystem/gateway/index.xml
index 169e550f24..f4536f4435 100644
--- a/zh-cn/overview/what/ecosystem/gateway/index.xml
+++ b/zh-cn/overview/what/ecosystem/gateway/index.xml
@@ -446,4 +446,242 @@
 &lt;li>通过&lt;code>springboot starter&lt;/code>即可引入不同的注册中心和数同步方式,扩展性很好;&lt;/li>
 &lt;li>通过&lt;code>admin&lt;/code>支持规则热更新,方便流量管控;&lt;/li>
 &lt;li>&lt;code>Disruptor&lt;/code>队列是为了数据与操作解耦,以及数据缓冲。&lt;/li>
-&lt;/ul></description></item><item><title>Overview: Higress</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/</guid><description/></item><item><title>Overview: Apache Dubbo Go Pixiu</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/pixiu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</p [...]
\ No newline at end of file
+&lt;/ul></description></item><item><title>Overview: Higress</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/higress/</guid><description>
+&lt;h1 id="higress-对接-dubbo-服务">Higress 对接 Dubbo 服务&lt;/h1>
+&lt;p>Higress提供了从HTTP协议到Dubbo协议进行转换的功能,用户通过配置协议转换,可以将一个Dubbo服务以HTTP接口暴露出来,从而用HTTP请求实现对Dubbo接口的调用。本文将通过一个示例来介绍如何用Higress配置HTTP到Dubbo的协议转换。该示例会引导您轻松地部署一个Nacos server和一个Dubbo服务,然后通过Ingress将HTTP请求转发到注册在Nacos上的Dubbo服务,并通过Higress的协议转换能力完成对Dubbo服务的HTTP调用。&lt;/p>
+&lt;h2 id="前提条件">前提条件&lt;/h2>
+&lt;ol>
+&lt;li>Higress目前支持的Dubbo框架的版本为2.x。若您使用Dubbo3.0,要求使用dubbo协议(目前暂不支持Triple协议)。&lt;/li>
+&lt;li>已安装Higress,并开启了对Istio CRD的支持,参考&lt;a href="https://higress.io/zh-cn/docs/ops/deploy-by-helm">Higress安装部署文档&lt;/a>。&lt;/li>
+&lt;/ol>
+&lt;h2 id="部署nacos和dubbo服务">部署Nacos和Dubbo服务&lt;/h2>
+&lt;p>首先在K8s集群中apply以下资源,以部署一个Nacos注册中心,同时通过K8s service将这个Nacos server暴露出来。&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># Nacos Server配置&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: apps/v1
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: Deployment
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">replicas&lt;/span>: &lt;span style="color:#2aa198">1&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">selector&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">matchLabels&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">app&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">template&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">labels&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">app&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">containers&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">env&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">name&lt;/span>: MODE
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>: standalone
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">image&lt;/span>: nacos/nacos-server:v2.2.0
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">imagePullPolicy&lt;/span>: Always
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">ports&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">containerPort&lt;/span>: &lt;span style="color:#2aa198">8848&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">dnsPolicy&lt;/span>: ClusterFirst
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">restartPolicy&lt;/span>: Always
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"># Nacos Server Service配置&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>---
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: v1
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: Service
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">ports&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">port&lt;/span>: &lt;span style="color:#2aa198">8848&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">protocol&lt;/span>: TCP
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">targetPort&lt;/span>: &lt;span style="color:#2aa198">8848&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">selector&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">app&lt;/span>: nacos-server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">type&lt;/span>: ClusterIP
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>在K8s集群中apply以下资源,以部署一个Dubbo服务,该Dubbo服务将注册到上述的Naocs中。&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: apps/v1
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: Deployment
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: nacos-provider
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">replicas&lt;/span>: &lt;span style="color:#2aa198">1&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">selector&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">matchLabels&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">app&lt;/span>: nacos-provider
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">template&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">labels&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">app&lt;/span>: nacos-provider
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">containers&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">name&lt;/span>: server
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">image&lt;/span>: higress-registry.cn-hangzhou.cr.aliyuncs.com/samples/nacos-dubbo-provider:v1.0.0
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">imagePullPolicy&lt;/span>: IfNotPresent
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">ports&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">containerPort&lt;/span>: &lt;span style="color:#2aa198">20880&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">env&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">name&lt;/span>: DUBBO_REGISTRY_ADDRESS
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>: nacos-server.default.svc.cluster.local
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>该Dubbo服务的代码可以在Nacos的&lt;a href="https://github.com/nacos-group/nacos-examples/tree/master/nacos-dubbo-example">示例代码&lt;/a>仓库中找到,其接口定义为:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">package&lt;/span> com.alibaba.nacos.example.dubbo.service&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">public&lt;/span> &lt;span style="color:#268bd2">interface&lt;/span> &lt;span style="color:#268bd2">DemoService&lt;/span> &lt;span style="color:#719e07">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> String &lt;span style="color:#268bd2">sayName&lt;/span>&lt;span style="color:#719e07">(&lt;/span>String name&lt;span style="color:#719e07">);&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">}&lt;/span>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>接口实现如下:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-java" data-lang="java">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">package&lt;/span> com.alibaba.nacos.example.dubbo.service&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">import&lt;/span> com.alibaba.dubbo.config.annotation.Service&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">import&lt;/span> com.alibaba.dubbo.rpc.RpcContext&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">import&lt;/span> org.springframework.beans.factory.annotation.Value&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75">/**
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"> * Default {@link DemoService}
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"> * https://nacos.io/zh-cn/docs/use-nacos-with-dubbo.html
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"> * @since 2.6.5
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#586e75"> */&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">@Service&lt;/span>&lt;span style="color:#719e07">(&lt;/span>version &lt;span style="color:#719e07">=&lt;/span> &lt;span style="color:#2aa198">&amp;#34;${demo.service.version}&amp;#34;&lt;/span>&lt;span style="color:#719e07">,&lt;/span> group &lt;span style="color:#719e07">=&lt;/span> &lt;span style="color:#2aa198">&amp;#34;${demo.service.group}&amp;#34;&lt;/span>&lt;span style="color:#719e07">)&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">public&lt;/span> &lt;span style="color:#268bd2">class&lt;/span> &lt;span style="color:#268bd2">DefaultService&lt;/span> &lt;span style="color:#268bd2">implements&lt;/span> DemoService &lt;span style="color:#719e07">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">@Value&lt;/span>&lt;span style="color:#719e07">(&lt;/span>&lt;span style="color:#2aa198">&amp;#34;${demo.service.name}&amp;#34;&lt;/span>&lt;span style="color:#719e07">)&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">private&lt;/span> String serviceName&lt;span style="color:#719e07">;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">public&lt;/span> String &lt;span style="color:#268bd2">sayName&lt;/span>&lt;span style="color:#719e07">(&lt;/span>String name&lt;span style="color:#719e07">)&lt;/span> &lt;span style="color:#719e07">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> RpcContext rpcContext &lt;span style="color:#719e07">=&lt;/span> RpcContext&lt;span style="color:#719e07">.&lt;/span>getContext&lt;span style="color:#719e07">();&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#719e07">return&lt;/span> String&lt;span style="color:#719e07">.&lt;/span>format&lt;span style="color:#719e07">(&lt;/span>&lt;span style="color:#2aa198">&amp;#34;Service [name :%s , port : %d] %s(\&amp;#34;%s\&amp;#34;) : Hello,%s&amp;#34;&lt;/span>&lt;span style="color:#719e07">,&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> serviceName&lt;span style="color:#719e07">,&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> rpcContext&lt;span style="color:#719e07">.&lt;/span>getLocalPort&lt;span style="color:#719e07">(),&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> rpcContext&lt;span style="color:#719e07">.&lt;/span>getMethodName&lt;span style="color:#719e07">(),&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name&lt;span style="color:#719e07">,&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> name&lt;span style="color:#719e07">);&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#719e07">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">}&lt;/span>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>在本示例中,该Dubbo服务的服务名为com.alibaba.nacos.example.dubbo.service.DemoService,服务版本为1.0.0,服务分组为dev。&lt;/p>
+&lt;p>为了测试方便,我们可以通过运行以下命令来将我们部署在K8s集群中的Naocs服务映射到本地端口:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl port-forward svc/nacos-server 8848:8848 --address&lt;span style="color:#719e07">=&lt;/span>&lt;span style="color:#2aa198">&amp;#39;0.0.0.0&amp;#39;&lt;/span>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>然后请求Nacos的服务发现接口,可以查看到我们Dubbo服务的元数据信息,从而对以上部署进行验证。&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">$curl&lt;/span> -X GET &lt;span style="color:#2aa198">&amp;#39;http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev&amp;#39;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">{&lt;/span>&lt;span style="color:#2aa198">&amp;#34;name&amp;#34;&lt;/span>:&lt;span style="color:#2aa198">&amp;#34;DEFAULT_GROUP@@providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev&amp;#34;&lt;/span>,&lt;span style="color:#2aa198">&amp;#34;groupName&amp;#34;&lt;/span>:&lt;span style="color:#2aa198">&amp;#34;DEFAULT_GROUP&amp;#34;&lt;/span>,&lt;span style="color:#2aa198">&amp;#3 [...]
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="通过ingress转发请求到dubbo服务">通过Ingress转发请求到Dubbo服务&lt;/h2>
+&lt;p>Higress可以通过McpBridge来对接Nacos作为服务来源,在K8s集群中apply以下资源来配置McpBridge&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: networking.higress.io/v1
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: McpBridge
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: default
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">namespace&lt;/span>: higress-system
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">registries&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">domain&lt;/span>: nacos-server.default.svc.cluster.local
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">nacosGroups&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - DEFAULT_GROUP
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: nacos-service-resource
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">port&lt;/span>: &lt;span style="color:#2aa198">8848&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">type&lt;/span>: nacos2
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通过McpBridge,我们可以直接从Nacos中发现Dubbo服务,并为其创建路由,而无需为每一个Dubbo服务创建service资源。&lt;/p>
+&lt;p>接下来我们创建如下Ingress,从而创建一条指向Dubbo服务的HTTP路由:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: networking.k8s.io/v1
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: Ingress
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">annotations&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">higress.io/destination&lt;/span>: providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev.DEFAULT-GROUP.public.nacos
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: demo
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">namespace&lt;/span>: higress-system
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">ingressClassName&lt;/span>: higress
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">rules&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">http&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">paths&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">backend&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">resource&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">apiGroup&lt;/span>: networking.higress.io
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">kind&lt;/span>: McpBridge
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: default
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">path&lt;/span>: /dubbo
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">pathType&lt;/span>: Prefix
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这样,path前缀为/dubbo的请求就会被路由到我们刚刚创建的Dubbo服务上。&lt;/p>
+&lt;h2 id="通过envoyfilter配置http到dubbo的协议转换规则">通过EnvoyFilter配置HTTP到Dubbo的协议转换规则&lt;/h2>
+&lt;p>经过上述步骤,我们已经在K8s环境下部署了一套Naocs和Dubbo,并通过Ingress将path前缀为/dubbo的请求路由到我们配好的Dubbo服务上。但光是这样是无法正常通信的,因为Dubbo服务使用的是定制的Dubbo协议,无法天然与HTTP协议进行兼容。因此接下来我们将通过EnvoyFilter来配置HTTP到Dubbo的协议转换规则,从而实现用HTTP请求来调用Dubbo服务。&lt;/p>
+&lt;p>在K8s集群中apply以下资源,要注意的是,EnvoyFilter是属于Istio的CRD,因此需要参照前提条件中的第2点来开启Higress对Istio CRD的支持。&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">apiVersion&lt;/span>: networking.istio.io/v1alpha3
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">kind&lt;/span>: EnvoyFilter
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">metadata&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: http-dubbo-transcoder-test
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">namespace&lt;/span>: higress-system
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">spec&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">configPatches&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">applyTo&lt;/span>: HTTP_FILTER
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">match&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">context&lt;/span>: GATEWAY
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">listener&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">filterChain&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">filter&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: envoy.filters.network.http_connection_manager
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">subFilter&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: envoy.filters.http.router
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">patch&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">operation&lt;/span>: INSERT_BEFORE
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: envoy.filters.http.http_dubbo_transcoder
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">typed_config&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;#39;@type&amp;#39;&lt;/span>: type.googleapis.com/udpa.type.v1.TypedStruct
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">type_url&lt;/span>: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">applyTo&lt;/span>: HTTP_ROUTE
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">match&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">context&lt;/span>: GATEWAY
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">routeConfiguration&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">vhost&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">route&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: demo
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">patch&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">operation&lt;/span>: MERGE
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">route&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">upgrade_configs&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">connect_config&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">allow_post&lt;/span>: &lt;span style="color:#cb4b16">true&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">upgrade_type&lt;/span>: CONNECT
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">typed_per_filter_config&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">envoy.filters.http.http_dubbo_transcoder&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;#39;@type&amp;#39;&lt;/span>: type.googleapis.com/udpa.type.v1.TypedStruct
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">type_url&lt;/span>: type.googleapis.com/envoy.extensions.filters.http.http_dubbo_transcoder.v3.HttpDubboTranscoder
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">request_validation_options&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">reject_unknown_method&lt;/span>: &lt;span style="color:#cb4b16">true&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">reject_unknown_query_parameters&lt;/span>: &lt;span style="color:#cb4b16">true&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">services_mapping&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">group&lt;/span>: dev
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">method_mapping&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">name&lt;/span>: sayName
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">parameter_mapping&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">extract_key&lt;/span>: p
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">extract_key_spec&lt;/span>: ALL_QUERY_PARAMETER
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">mapping_type&lt;/span>: java.lang.String
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">passthrough_setting&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">passthrough_all_headers&lt;/span>: &lt;span style="color:#cb4b16">true&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">path_matcher&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">match_http_method_spec&lt;/span>: ALL_GET
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">match_pattern&lt;/span>: /dubbo/hello
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: com.alibaba.nacos.example.dubbo.service.DemoService
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">version&lt;/span>: &lt;span style="color:#2aa198">1.0.0&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">url_unescape_spec&lt;/span>: ALL_CHARACTERS_EXCEPT_RESERVED
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#268bd2">applyTo&lt;/span>: CLUSTER
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">match&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">cluster&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">service&lt;/span>: providers:com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev.DEFAULT-GROUP.public.nacos
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">context&lt;/span>: GATEWAY
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">patch&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">operation&lt;/span>: MERGE
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">value&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">upstream_config&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">name&lt;/span>: envoy.upstreams.http.dubbo_tcp
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">typed_config&lt;/span>:
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;#39;@type&amp;#39;&lt;/span>: type.googleapis.com/udpa.type.v1.TypedStruct
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">type_url&lt;/span>: type.googleapis.com/envoy.extensions.upstreams.http.dubbo_tcp.v3.DubboTcpConnectionPoolProto
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>在以上EnvoyFilter中,我们配置了将path为/dubbo/hello的HTTP请求转发到Dubbo服务com.alibaba.nacos.example.dubbo.service.DemoService:1.0.0:dev中,并调用其sayName方法,而该方法的参数则通过HTTP url中的的query参数p来指定。&lt;/p>
+&lt;h2 id="请求验证">请求验证&lt;/h2>
+&lt;p>通过以上配置,我们就可以执行以下curl命令来调用这个dubbo服务了:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">$curl&lt;/span> &lt;span style="color:#2aa198">&amp;#34;localhost/dubbo/hello?p=abc&amp;#34;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#719e07">{&lt;/span>&lt;span style="color:#2aa198">&amp;#34;result&amp;#34;&lt;/span>:&lt;span style="color:#2aa198">&amp;#34;Service [name :demoService , port : 20880] sayName(\&amp;#34;abc\&amp;#34;) : Hello,abc&amp;#34;&lt;/span>&lt;span style="color:#719e07">}&lt;/span>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="配置参考">配置参考&lt;/h2>
+&lt;p>EnvoyFilter的相关配置项参考&lt;a href="https://higress.io/zh-cn/docs/user/dubbo-envoyfilter">HTTP转Dubbo配置说明&lt;/a>&lt;/p></description></item><item><title>Overview: Apache Dubbo Go Pixiu</title><link>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/pixiu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/what/ecosystem/gateway/pixiu/</guid><description/></item><item><title>Overview: Kong</title><link>https://cn.dubbo.a [...]
\ No newline at end of file
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 49673a9f20..d21e17dfbb 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-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu [...]
\ No newline at end of file
diff --git a/zh/download/spi-extensions/index.html b/zh/download/spi-extensions/index.html
index f001104aef..f7bcb98d5f 100644
--- a/zh/download/spi-extensions/index.html
+++ b/zh/download/spi-extensions/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en-us><head><title>https://cn.dubbo.apache.org/en/download/spi-extensions/</title><link rel=canonical href=https://cn.dubbo.apache.org/en/download/spi-extensions/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=https://cn.dubbo.apache.org/en/download/spi-extensions/"></head></html>
\ No newline at end of file
+<!doctype html><html lang=en-us><head><title>https://cn.dubbo.apache.org/zh-cn/download/spi-extensions/</title><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/download/spi-extensions/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=https://cn.dubbo.apache.org/zh-cn/download/spi-extensions/"></head></html>
\ No newline at end of file