This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site-v2
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/asf-site-v2 by this push:
new e8c7d71b8f deploy: 450614975612b62bf2e52bdceb9812988787c0d8
e8c7d71b8f is described below
commit e8c7d71b8f3a0a1f0d99e8218bf5856d8bdad2a1
Author: AlbumenJ <[email protected]>
AuthorDate: Mon Mar 6 11:47:03 2023 +0000
deploy: 450614975612b62bf2e52bdceb9812988787c0d8
---
sitemap.xml | 2 +-
zh-cn/overview/core-features/index.html | 2 +-
.../overview/core-features/load-balance/index.html | 32 ++-----------
.../core-features/service-discovery/index.html | 56 ++--------------------
.../java-sdk/concepts-and-architecture/index.xml | 2 +-
.../v3.2_rest_protocol_design/index.html | 6 +--
zh-cn/sitemap.xml | 2 +-
7 files changed, 15 insertions(+), 87 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 70bb4f0df3..c6ece1d465 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-03-06T14:31:53+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-03-03T06:59:49+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-03-06T19:43:42+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-03-03T06:59:49+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/overview/core-features/index.html
b/zh-cn/overview/core-features/index.html
index c9fc7cbf54..41acc9dca1 100644
--- a/zh-cn/overview/core-features/index.html
+++ b/zh-cn/overview/core-features/index.html
@@ -717,7 +717,7 @@
<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 [...]
+<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
[...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/core-features/_index.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=Dubbo%20%e6%a0%b8%e5%bf%83%e7%89%b9%e6%80%a7"
target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
diff --git a/zh-cn/overview/core-features/load-balance/index.html
b/zh-cn/overview/core-features/load-balance/index.html
index b9ab816366..091ee3e449 100644
--- a/zh-cn/overview/core-features/load-balance/index.html
+++ b/zh-cn/overview/core-features/load-balance/index.html
@@ -1,30 +1,6 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://dubbo.apache.org/en/overview/core-features/load-balance/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/core-features/load-balance/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/imgs/favicon [...]
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><meta property="og:type"
content="article"><meta property="og:url"
content="https://dubbo.apache.org/zh-cn/overview/core-features/load-balance/"><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 itemprop=name
content="负载均衡"><meta itemprop=description content="在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为
weighted random 基于权 [...]
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><meta itemprop=dateModified
content="2023-03-01T09:48:32+08:00"><meta itemprop=wordCount
content="180"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="负载均衡"><meta
name=twitter:description content="在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 weighted random
基于权重的随机负载均衡策略。
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><script
type=application/javascript>var
doNotTrack=!1;doNotTrack||(window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new
Date,ga("create","G-1TFHM5YBH0","auto"),ga("send","pageview"))</script><script
async src=https://www.google-analytics.com/analytics.js></script>
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://dubbo.apache.org/en/overview/core-features/load-balance/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/core-features/load-balance/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/imgs/favicon [...]
<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/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin=anonymous></script>
-<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="在集群负载均衡时,Dubbo
提供了多种均衡策略,缺省为 weighted random 基于权重的随机负载均衡策略。
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><meta
property="og:description" content="在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 weighted random
基于权重的随机负载均衡策略。
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><meta name=twitter:description
content="在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 weighted random 基于权重的随机负载均衡策略。
-具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。
-负载均衡策略 目前 Dubbo 内置了如下负载均衡算法,可通过调整配置项启用。
-算法 特性 备注 Weighted Random LoadBalance 加权随机 默认算法,默认权重相同 RoundRobin LoadBalance
加权轮询 借鉴于 Nginx 的平滑加权轮询算法,默认权重相同, LeastActive LoadBalance 最少活跃优先 + 加权随机
背后是能者多劳的思想 Shortest-Response LoadBalance 最短响应优先 + 加权随机 更加关注响应速度 ConsistentHash
LoadBalance 一致性哈希 确定的入参,确定的提供者,适用于有状态请求 Weighted Random 加权随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
缺点:存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。 RoundRobin
加权轮询,按公约后的权重设置轮询比率,循环调用节点 �
��点:同样存在慢的提供者累积请求的问题。 加权轮询过程过程中,如果某 [...]
-对此,Dubbo 借鉴 Nginx 的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:"><meta property="og:url"
content="https://dubbo.apache.org/zh-cn/overview/core-features/load-balance/"><meta
property="og:title" content="负载均衡"><meta name=twitter:title
content="负载均衡"><meta name=twitter:image:alt content="Apache Dubbo"><meta
property="og:type" content="article"><meta name=viewport
content="width=device-width"><script async defer
src=/js/github-buttons.js></script>
+<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://dubbo.apache.org/zh-cn/overview/core-features/load-balance/"><meta
property="og:title" content="负载均衡"><meta name=twitter:title
content="负载均衡"><meta name=twit [...]
<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-cnoverviewcore-featuresload-balance").addClass("active"),$("#td-section-n
[...]
<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>
@@ -741,11 +717,11 @@
<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 [...]
+<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 [...]
例如 ABC 三节点有如下权重:<code>{A: 3, B: 2, C: 1}</code>
那么按照最原始的轮询算法,调用过程将变成:<code>A A A B B C</code></p><p>对此,Dubbo 借鉴 Nginx
的平滑加权轮询算法,对此做了优化,调用过程可抽象成下表:</p><table><thead><tr><th
style=text-align:left>轮前加和权重</th><th style=text-align:left>本轮胜者</th><th
style=text-align:left>合计权重</th><th
style=text-align:left>轮后权重(胜者减去合计权重)</th></tr></thead><tbody><tr><td
style=text-align:left>起始轮</td><td style=text-align:left>\</td><td
style=text-align:left>\</td><td style=text-align:left><code>A(0), B(0),
C(0)</code></td></tr><tr><td style=text-align:left><co [...]
则默认使用随机负载均衡策略。</p><p>同一个应用内支持配置不同的服务使用不同的负载均衡策略,支持为同一服务的不同方法配置不同的负载均衡策略。</p><p>具体配置方式参加以下多语言实现</p><ul><li><a
href=/>Java</a></li><li><a href=/>Golang</a></li><li><a
href=/>Rust</a></li><li><a href=/>Node.js</a></li></ul><h2
id=自定义扩展>自定义扩展</h2><p>负载均衡策略支持自定义扩展实现,具体请参见 <a href=../extensibility>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
[...]
+<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/core-features/load-balance.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+mat
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1"
target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a
href=#负载均衡策略>负载均衡策略</a><ul><li><a href=#weighted-random>Weighted
Random</a></li><li><a href=#roundrobin>RoundRobin</a></li><li><a
href=#leastactive>LeastActive</a></li><li><a
href=#shortestresponse>ShortestResponse</a></li><li><a
href=#consistenthash>ConsistentHash</a></li></ul></li><li><a
href=#配置方式>配置方式</a></li><li><a href=#自定义扩展>自定义扩展</ [...]
diff --git a/zh-cn/overview/core-features/service-discovery/index.html
b/zh-cn/overview/core-features/service-discovery/index.html
index 16dfab9744..150e840533 100644
--- a/zh-cn/overview/core-features/service-discovery/index.html
+++ b/zh-cn/overview/core-features/service-discovery/index.html
@@ -1,54 +1,6 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://dubbo.apache.org/en/overview/core-features/service-discovery/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/im [...]
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><meta property="og:type"
content="article"><meta property="og:url"
content="https://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/"><meta
property="article:section" content="overview"><meta
property="article:modified_time" content="2023-03-01T15:24:06+08:00"><meta
property="og:site_name" content="Apache Dubbo"><meta itemprop=name
content="服务发现"><meta itemprop=description content="Dubbo 提供的是一种 Client-Based
的服务发现机制,依赖第三方注册 [...]
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><meta itemprop=dateModified
content="2023-03-01T15:24:06+08:00"><meta itemprop=wordCount content="99"><meta
itemprop=keywords content><meta name=twitter:card content="summary"><meta
name=twitter:title content="服务发现"><meta name=twitter:description content="Dubbo
提供的是一种 Client-Based 的服务发现机制,依赖第三方注册中心组件来协调服务发现过程,支持常用的注册中心如
Nacos、Consul、Zookeeper 等。
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><script
type=application/javascript>var
doNotTrack=!1;doNotTrack||(window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new
Date,ga("create","G-1TFHM5YBH0","auto"),ga("send","pageview"))</script><script
async src=https://www.google-analytics.com/analytics.js></script>
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=alternate hreflang=en
href=https://dubbo.apache.org/en/overview/core-features/service-discovery/><link
rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/im [...]
<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/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin=anonymous></script>
-<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="Dubbo 提供的是一种
Client-Based 的服务发现机制,依赖第三方注册中心组件来协调服务发现过程,支持常用的注册中心如 Nacos、Consul、Zookeeper 等。
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><meta
property="og:description" content="Dubbo 提供的是一种 Client-Based
的服务发现机制,依赖第三方注册中心组件来协调服务发现过程,支持常用的注册中心如 Nacos、Consul、Zookeeper 等。
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><meta
name=twitter:description content="Dubbo 提供的是一种 Client-Based
的服务发现机制,依赖第三方注册中心组件来协调服务发现过程,支持常用的注册中心如 Nacos、Consul、Zookeeper 等。
-以下是 Dubbo 服务发现机制的基本工作原理图:
-服务发现包含提供者、消费者和注册中心三个参与角色,其中,Dubbo 提供者实例注册 URL 地址到注册中心,注册中心负责对数据进行聚合,Dubbo
消费者从注册中心读取地址列表并订阅变更,每当地址列表发生变化,注册中心将最新的列表通知到所有订阅的消费者实例。
-面向百万实例集群的服务发现机制 区别于其他很多微服务框架的是,Dubbo3
的服务发现机制诞生于阿里巴巴超大规模微服务电商集群实践场景,因此,其在性能、可伸缩性、易用性等方面的表现大幅领先于业界大多数主流开源产品。是企业面向未来构建可伸缩的微服务集群的最佳选择。
-首先,Dubbo 注册中心以应用粒度聚合实例数据,消费者按消费需求精准订阅,避免了大多数开源框架如 Istio、Spring Cloud
等全量订阅带来的性能瓶颈。 其次,Dubbo SDK 在实现上对消费端地址列表处理过程做了大量优化,地址通知增加了异步、缓存、bitmap
等多种解析优化,避免了地址更新常出现的消费端进程资源波动。 最后,在功能丰富度和易用性上,服务发现除了同步 ip、port
等端点基本信息到消费者外,Dubbo 还将服务端的 RPC/HTTP
服务及其配置的元数据信息同步到消费端,这让消费者、提供者两端的更细粒度的协作成为可能,Dubbo 基于此机制提供了很多差异化的治理能力。 高效地址推送实现
从注册中心视角来看,它负责以应用名 (dubbo.application.name)
对整个集群的实例地址进行聚合,每个对外提供服务的实例将自身的应用名、实例ip:port 地址信息 (
通常还包含少量的实例元数据,如机器所在区域、环境等) 注册到注册中心。
-Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更细,也就意味着传输的数据量更大,因此在大规模集群下也遇到一些性能问题。 针对 Dubbo2 与
Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了平滑迁移方案,可做到模型变更对用户无感。
-每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 + 实例地址) 加载到本地进程,Dubbo
实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2 的地址列表更新,大幅减轻了冗余数据推送和解析的负担。
丰富元数据配置 除了与注册中心的交互,Dubbo3 的完整地址发现过程还有一条额外的元数据通路,我们称之为元数据服务
(MetadataService),实例地址与元数据共同组成了消费者端有效的地址列表。
-完整工作流程如上图所示,首先,消费者从注册中心接收到地址 (ip:port)
信息,然后与提供者建立连接并通过元数据服务读取到对端的元数据配置信息,两部分信息共同组装成 Dubbo
消费端有效的面向服务的地址列表。以上两个步骤都是在实际的 RPC 服务调用发生之前。
-关于 MetadataService 的定义及完整服务发现流程分析,请查看 应用级服务发现详解。"><meta property="og:url"
content="https://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/"><meta
property="og:title" content="服务发现"><meta name=twitter:title
content="服务发现"><meta name=twitter:image:alt content="Apache Dubbo"><meta
property="og:type" content="article"><meta name=viewport
content="width=device-width"><script async defer
src=/js/github-buttons.js></script>
+<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://dubbo.apache.org/zh-cn/overview/core-features/service-discovery/"><meta
property="og:title" content="服务发现"><meta name=twitter:title
content="服务发现"><meta name [...]
<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-cnoverviewcore-featuresservice-discovery").addClass("active"),$("#td-sect
[...]
<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>
@@ -765,9 +717,9 @@ Dubbo2 版本注册中心以服务粒度聚合实例地址,比应用粒度更
<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 [...]
+<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 [...]
针对 Dubbo2 与 Dubbo3 跨版本数据模型不统一的问题,Dubbo3 给出了<a
href=/zh-cn/overview/mannual/java-sdk/upgrades-and-compatibility/service-discovery/migration-service-discovery/>平滑迁移方案</a>,可做到模型变更对用户无感。</p></blockquote><p><img
src=/imgs/v3/feature/service-discovery/registry-data.png
alt=service-discovery></p><br>每个消费服务的实例从注册中心订阅实例地址列表,相比于一些产品直接将注册中心的全量数据 (应用 +
实例地址) 加载到本地进程,Dubbo 实现了按需精准订阅地址信息。比如一个消费者应用依赖 app1、app2,则只会订阅 app1、app2
的地址列表更新,大幅减轻了冗余数据推送和解析的负担。<p></p><br><p><img src=/imgs/v3/feature/service-dis
[...]
-<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/core-features/service-discovery.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22fron
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e6%9c%8d%e5%8a%a1%e5%8f%91%e7%8e%b0"
target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a
href=#面向百万实例集群的服务发现机制>面向百万实例集群的服务发现机制</a><ul><li><a
href=#高效地址推送实现>高效地址推送实现</a></li><li><a
href=#丰富元数据配置>丰富元数据配置</a></li></ul></li><li><a href=#配置方式>配置方式</a></li><li><a
href=#自定义扩展>自定义扩展</a></li></ul></nav></div></div></div></div><footer
class="bg-dark py-5 row d-print-none footer-margin-0"><div
class="container-fluid mx-sm-5"><div class=r [...]
diff --git
a/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/index.xml
b/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/index.xml
index 8081316ca9..8459955d8a 100644
--- a/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/index.xml
+++ b/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/index.xml
@@ -403,7 +403,7 @@ Dubbo 的路由主要需要实现 3 个接口,分别是负责每次调用筛
<p>支持程度:</p>
<p>content-type text json xml form(后续会扩展)</p>
<p>注解</p>
-<p>param,header,body,pathvaribale (spring mvc &amp; resteasy)</p>
+<p>param,header,body,pathvariable (spring mvc &amp; resteasy)</p>
<h2 id="http协议报文">Http 协议报文</h2>
<pre><code>POST /test/path? HTTP/1.1
Host: localhost:8080
diff --git
a/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/index.html
b/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/index.html
index ed35bea2d8..c91cb150bd 100644
---
a/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/index.html
+++
b/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/imgs/favicon.png><link rel=apple-touch-icon href=/favicons/apple-touch-i
[...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=canonical
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/><meta
charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.111.2"><link rel="shortcut icon" type=image/png
href=/imgs/favicon.png><link rel=apple-touch-icon href=/favicons/apple-touch-i
[...]
<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/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin=anonymous></script>
<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="本文将介绍 Dubbo 的 Rest
协议。"><meta property="og:description" content="本文将介绍 Dubbo 的 Rest 协议。"><meta
name=twitter:description content="本文将介绍 Dubbo 的 Rest 协议。"><meta
property="og:url"
content="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design/">
[...]
<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="
[...]
@@ -717,7 +717,7 @@
<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 [...]
+<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 [...]
Host: localhost:8080
Connection: keep-alive
Content-type: application/json
@@ -1176,7 +1176,7 @@ public class RestDemoServiceImpl implements
RestDemoService {
}
</code></pre><h2 id=流程图>流程图</h2><p><strong>Consumer</strong> </p><p><img
src=https://static.dingtalk.com/media/lQLPJxLOtqTxs9TNA5rNBQCwci8F2QYiGAYD5sSyd4BVAA_1280_922.png
alt=image></p><p><strong>Provider(RestServer)</strong></p><p><img
src=https://static.dingtalk.com/media/lQLPJxZcNUm4M9TNA1_NBMuwZUu6IC3FeYAD5sSydYADAA_1227_863.png
alt=image></p><h2 id=场景>场景 :</h2><p><strong>非dubbo体系互通(Springcloud alibaba
互通)</strong></p><p>互通条件:</p><table><thead><tr><th></th><th>协议</th><th>Dubbo</th>
[...]
</code></pre><h3 id=4跨语言>4.跨语言</h3><p><img
src=https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/LvBPlNAjAmw3OdG8/img/1bdf8f91-9666-4c20-9aea-8396c745f554.png
alt=image></p><h3 id=5多协议交互>5.多协议交互</h3><p><img
src=https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/LvBPlNAjAmw3OdG8/img/af72e3df-05d5-42a2-a333-618be7ec6cb8.png
alt=image></p><h3 id=6协议迁移>6.协议迁移</h3><p><img
src=https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/LvBPlNAjAmw3OdG8/img/36d30183-8d5f-494c-8ebb-b57403c88661.png
a [...]
-<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/mannual/java-sdk/concepts-and-architecture/v3.2_rest_protocol_design.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=Rest%20%e5%8d%8f%e8%ae%ae"
target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a
href=#原版本dubborest>原版本dubbo rest</a><ul><li><a href=#改版dubborest>改版dubbo rest
</a></li></ul></li><li><a href=#http协议报文>Http 协议报文</a><ul><li><a
href=#dubbohttpheader>dubbo http(header)</a></li></ul></li><li><a
href=#目前支持粒度>目前支持粒度:</a></li><li><a
href=#rest注解解析servicerestmetadataresolver>rest注解解析(ServiceRestMetadataResolver)</a><ul><li><a
hr [...]
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 478d65243f..a7195fe64e 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://dubbo.apache.org/zh-cn/overview/mannual/jav
[...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://dubbo.apache.org/zh-cn/overview/mannual/jav
[...]
\ No newline at end of file