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 56cd87deea deploy: 496ddc34f35348224c44a090e4a74a587003e8f3
56cd87deea is described below
commit 56cd87deea93f14e8dc5109dda302e4b72cf4035
Author: AlbumenJ <[email protected]>
AuthorDate: Thu Jan 19 12:42:28 2023 +0000
deploy: 496ddc34f35348224c44a090e4a74a587003e8f3
---
sitemap.xml | 2 +-
.../advanced-features-and-usage/traffic/index.xml | 22 +++++++++++++---------
.../traffic/mesh-style/index.html | 10 +++++-----
zh/sitemap.xml | 2 +-
4 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 700b3892f4..e9df4c9334 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/sitemap.xml</loc><lastmod>2023-01-19T20:38:39+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-01-17T14:11:51+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/sitemap.xml</loc><lastmod>2023-01-19T20:38:57+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-01-17T14:11:51+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/index.xml
b/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/index.xml
index d204bebd88..14de81a0fe 100644
--- a/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/index.xml
+++ b/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/index.xml
@@ -336,14 +336,14 @@
</span></span><span style="display:flex;"><span> ...
</span></span></code></pre></div></description></item><item><title>Docs3-V2:
Mesh
路由规则</title><link>https://dubbo.apache.org/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://dubbo.apache.org/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/</guid><description>
<h3 id="基本思想">基本思想</h3>
-<p>基于路由链,采用Pipeline的处理方式,如下图所示:</p>
+<p>基于路由链,采用 Pipeline 的处理方式</p>
<p><img src="https://dubbo.apache.org/imgs/user/route-rule1.png"
alt="route-rule1.png"></p>
-<p>可以把路由链的逻辑简单的理解为 target = rn(&hellip;r3(r2(r1(src))))。对于每一个 router
内部的逻辑,可以抽象为输入地址 addrs-in 与 router 中按全量地址 addrs-all 实现切分好的 n 个互不相交的地址池
addrs-pool-1 &hellip; addrs-pool-n 按实现定义好的规则取交集作为输出
addrs-out。以此类推,完成整个路由链的计算。</p>
-<p><img src="https://dubbo.apache.org/imgs/user/route-rule2.png"
alt="route-rule2.png"></p>
+<p>可以把路由链的逻辑简单的理解为 target = rn(&hellip;r3(r2(r1(src))))。</p>
+<p>对于每一个 router 内部的逻辑,可以抽象为输入地址 addrs-in 与 router 中按全量地址 addrs-all 实现切分好的 n
个互不相交的地址池 addrs-pool-1 &hellip; addrs-pool-n 按实现定义好的规则取交集作为输出
addrs-out。以此类推,完成整个路由链的计算。</p>
<p>另外一方面,如果 router(n) 需要执行 fallback 逻辑的时候,那么需要经过 router(n) 就应该决定好 fallback
逻辑</p>
+<p><img src="https://dubbo.apache.org/imgs/user/route-rule2.png"
alt="route-rule2.png"></p>
<h3 id="fallback-处理原则">fallback 处理原则</h3>
<p>由于多个 router 之间多个条件组件之后,很容易出现地址被筛选为空的情况,那么我们需要针对这情况进行 fallback
处理,保证业务在正确性的前提下,能够顺利找到有效地址。</p>
-<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-yaml" data-lang="yaml"><span
style="display:flex;"><span><span
style="color:#268bd2">apiVersion</span>: service.dubbo.apache.org/v1alpha1
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">kind</span>: VirtualService
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">metadata</span>:
@@ -420,8 +420,10 @@
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">labels</span>:
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">sigma.ali/mg</span>: v3-host
</span></span></code></pre></div><p>我们以脚本路由为例,这个脚本路由的匹配条件是遵循一个原则的,就是匹配的范围是从精确到广泛的一个过程,在这个示例来说,就是
sayHello(string)参数 -&gt; sayHello 方法 -&gt; 接口级路由 的一个匹配查找过程。</p>
+<blockquote>
<p>那么如果我们已经满足某个条件,但是选到的 subset 地址为空,我们将如何进行 fallback 处理呢?</p>
-<p>以匹配 sayHello(string)参数 条件为例,我们选择到的是 v1
subset,如果是空,我们可以向上一级是寻找地址,也就是方法级去寻找地址,具体的配置为下</p>
+</blockquote>
+<p>以匹配 sayHello(string)参数 条件为例,我们选择到的是 v1
subset,如果是空,我们可以向上一级是寻找地址,也就是方法级去寻找地址。</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">name</span>: sayHello-String-method-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">method</span>:
@@ -443,7 +445,7 @@
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">host</span>: demo
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">subset</span>: v3
</span></span></code></pre></div><p>此时我们选到的地址是 v2 方法级地址,如果
v2 还是没有地址,根据规则的定义,我们是可以 fallback 到 v3 接口级。</p>
-<p>假设我们有一个方法匹配时,如果没有地址,需要不进行 fallback,直接报错,我们可以这样配置</p>
+<p>假设我们有一个方法匹配时,如果没有地址,需要不进行 fallback,直接报错,可以配置以下方式</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>: service.dubbo.apache.org/v1alpha1
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">kind</span>: VirtualService
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">metadata</span>:
@@ -528,17 +530,19 @@
</span></span><span style="display:flex;"><span> - <span
style="color:#268bd2">name</span>: v3
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">labels</span>:
</span></span><span style="display:flex;"><span> <span
style="color:#268bd2">sigma.ali/mg</span>: v3-host
-</span></span></code></pre></div><p>从这个规则我们看出来匹配到
some-method 条件时对应的是 v4 subset,那么 v4 为空时,因为没有配置 fallback ,此时会直接报错</p>
-<h4 id="fallback-处理原则总结">fallback 处理原则总结</h4>
+</span></span></code></pre></div><p>从这个规则我们看出来匹配到
some-method 条件时对应的是 v4 subset,那么 v4 为空时,因为没有配置 fallback ,此时会直接报错。</p>
+<blockquote>
+<p>fallback 处理原则总结</p>
<ul>
<li>我们应该在 VirtualService route 中配置好 Destination 的 fallback 处理逻辑</li>
<li>在 fallback subset 时,如果对应的 subset 也配置有 fallback subset 时,也应递归处理;fallback
subset 之间的关系也应该是从具体到广泛</li>
<li>我们在编写匹配条件时,应该遵循从 具体条件到广泛条件 的原则</li>
</ul>
+</blockquote>
<h3 id="routechain-的组装模式-目前未实现">RouteChain 的组装模式 (目前未实现)</h3>
<p><img src="https://dubbo.apache.org/imgs/user/route-rule3.png"
alt="route-rule3.png"></p>
<p>我们看到上面的图,在路由的过程当中,我们是 Pipeline 的处理方式,Pipeline 的 Router 节点存在顺序,并且每个
Router 都有一个唯一对应的 VirtualService 和 <strong>多个</strong> 相应的 DestinationRule
进行描述。</p>
-<p>以 Nacos 上存着的路由规则配置为例,配置的格式如下:</p>
+<p>以 Nacos 上存着的路由规则配置为例,配置格式如下</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">DataId</span>:
Demo.rule.yaml
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">GROUP</span>: HSF
</span></span><span style="display:flex;"><span>
diff --git
a/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/index.html
b/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/index.html
index 46b2d4342b..b70d76a299 100644
---
a/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/index.html
+++
b/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/index.html
@@ -3,7 +3,7 @@
<link rel=stylesheet
href=https://cdn.jsdelivr.net/npm/@docsearch/css@3></head><body
class=td-section><header><nav class="js-navbar-scroll navbar navbar-expand
navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand
href=/zh/><span class=navbar-logo><svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 321.39 78.54"><title id="title19">DUBBO LOGO</title><path
class="cls-1" d="M68.46 50.38c0 14.06 11.39 22.11 25.45 22.11s25.45-8.05
25.45-22.11V7.25H68.46zm21.24-28h8.6V31H89.7z [...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/_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%6
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=Mesh%20%e8%b7%af%e7%94%b1%e8%a7%84%e5%88%99"
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 class=td-toc><nav
id=TableOfContents><ul><li><ul><li><a href=#基本思想>基本思想</a></li><li><a
href=#fallback-处理原则>fallback 处理原则</a></li><li><a
href=#routechain-的组装模式-目前未实现>RouteChain 的组装模式
(目前未实现)</a></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9
col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class="d-none d-md-block
d-print-none"><ol class="brea [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><div class=td-toc><nav
id=TableOfContents><ul><li><ul><li><a href=#基本思想>基本思想</a></li><li><a
href=#fallback-处理原则>fallback 处理原则</a></li><li><a
href=#routechain-的组装模式-目前未实现>RouteChain 的组装模式
(目前未实现)</a></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9
col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class="d-none d-md-block
d-print-none"><ol class="brea [...]
</span></span><span style=display:flex><span><span
style=color:#268bd2>kind</span>: VirtualService
</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>: demo-route
@@ -78,7 +78,7 @@
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>name</span>: v3
</span></span><span style=display:flex><span> <span
style=color:#268bd2>labels</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>sigma.ali/mg</span>: v3-host
-</span></span></code></pre></div><p>我们以脚本路由为例,这个脚本路由的匹配条件是遵循一个原则的,就是匹配的范围是从精确到广泛的一个过程,在这个示例来说,就是
sayHello(string)参数 -> sayHello 方法 -> 接口级路由
的一个匹配查找过程。</p><p>那么如果我们已经满足某个条件,但是选到的 subset 地址为空,我们将如何进行 fallback
处理呢?</p><p>以匹配 sayHello(string)参数 条件为例,我们选择到的是 v1
subset,如果是空,我们可以向上一级是寻找地址,也就是方法级去寻找地址,具体的配置为下</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:fl [...]
+</span></span></code></pre></div><p>我们以脚本路由为例,这个脚本路由的匹配条件是遵循一个原则的,就是匹配的范围是从精确到广泛的一个过程,在这个示例来说,就是
sayHello(string)参数 -> sayHello 方法 -> 接口级路由
的一个匹配查找过程。</p><blockquote><p>那么如果我们已经满足某个条件,但是选到的 subset 地址为空,我们将如何进行 fallback
处理呢?</p></blockquote><p>以匹配 sayHello(string)参数 条件为例,我们选择到的是 v1
subset,如果是空,我们可以向上一级是寻找地址,也就是方法级去寻找地址。</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><spa [...]
</span></span><span style=display:flex><span> <span
style=color:#268bd2>match</span>:
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>method</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>name_match</span>:
@@ -98,7 +98,7 @@
</span></span><span style=display:flex><span> <span
style=color:#268bd2>destination</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>host</span>: demo
</span></span><span style=display:flex><span> <span
style=color:#268bd2>subset</span>: v3
-</span></span></code></pre></div><p>此时我们选到的地址是 v2 方法级地址,如果 v2
还是没有地址,根据规则的定义,我们是可以 fallback 到 v3 接口级。</p><p>假设我们有一个方法匹配时,如果没有地址,需要不进行
fallback,直接报错,我们可以这样配置</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>: service.dubbo.apache.org/v1alpha1
+</span></span></code></pre></div><p>此时我们选到的地址是 v2 方法级地址,如果 v2
还是没有地址,根据规则的定义,我们是可以 fallback 到 v3 接口级。</p><p>假设我们有一个方法匹配时,如果没有地址,需要不进行
fallback,直接报错,可以配置以下方式</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>: service.dubbo.apache.org/v1alpha1
</span></span><span style=display:flex><span><span
style=color:#268bd2>kind</span>: VirtualService
</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>: demo-route
@@ -182,7 +182,7 @@
</span></span><span style=display:flex><span> - <span
style=color:#268bd2>name</span>: v3
</span></span><span style=display:flex><span> <span
style=color:#268bd2>labels</span>:
</span></span><span style=display:flex><span> <span
style=color:#268bd2>sigma.ali/mg</span>: v3-host
-</span></span></code></pre></div><p>从这个规则我们看出来匹配到 some-method 条件时对应的是 v4
subset,那么 v4 为空时,因为没有配置 fallback ,此时会直接报错</p><h4 id=fallback-处理原则总结>fallback
处理原则总结</h4><ul><li>我们应该在 VirtualService route 中配置好 Destination 的 fallback
处理逻辑</li><li>在 fallback subset 时,如果对应的 subset 也配置有 fallback subset
时,也应递归处理;fallback subset 之间的关系也应该是从具体到广泛</li><li>我们在编写匹配条件时,应该遵循从 具体条件到广泛条件
的原则</li></ul><h3 id=routechain-的组装模式-目前未实现>RouteChain 的组装模式 (目前未实现)</h3><p><img
src=/imgs/user/route-rule3.png alt=route-rule [...]
+</span></span></code></pre></div><p>从这个规则我们看出来匹配到 some-method 条件时对应的是 v4
subset,那么 v4 为空时,因为没有配置 fallback ,此时会直接报错。</p><blockquote><p>fallback
处理原则总结</p><ul><li>我们应该在 VirtualService route 中配置好 Destination 的 fallback
处理逻辑</li><li>在 fallback subset 时,如果对应的 subset 也配置有 fallback subset
时,也应递归处理;fallback subset 之间的关系也应该是从具体到广泛</li><li>我们在编写匹配条件时,应该遵循从 具体条件到广泛条件
的原则</li></ul></blockquote><h3 id=routechain-的组装模式-目前未实现>RouteChain 的组装模式
(目前未实现)</h3><p><img src=/imgs/user/route-rule3.png alt=route [...]
</span></span><span style=display:flex><span><span
style=color:#268bd2>GROUP</span>: HSF
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>content</span>:
@@ -203,7 +203,7 @@
</span></span><span style=display:flex><span>---
</span></span><span style=display:flex><span>...
</span></span></code></pre></div><p><code>VirtualService A</code> 与
<code>DestinationRule A1</code> 、<code>DestinationRule A2</code> 组成一个 Router
A,<code>VirtualService B</code> 与 <code>DestinationRule B</code> 组成 Router
B,以此类推,完成整个 router 链的组装。</p><div class=section-index><hr class=panel-line><div
class=entry><h5><a
href=/zh/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/dynamic-rule-deployment/>动态路由</a></h5><p>类groovy脚本动态路由。</p></div><div
class=entry><h5><a href=/zh/do [...]
-<button class="btn btn-primary mb-4 feedback--answer
feedback--answer-no">No</button><p class="feedback--response
feedback--response-yes">Glad to hear it! Please <a
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to
hear that. Please <a
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback
[...]
+<button class="btn btn-primary mb-4 feedback--answer
feedback--answer-no">No</button><p class="feedback--response
feedback--response-yes">Glad to hear it! Please <a
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to
hear that. Please <a
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback
[...]
<script src=/js/bootstrap.min.js
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
crossorigin=anonymous></script>
<script
src=/js/main.min.9f304eb79b67eb331e2b22923c361575b563af25c0fd56279cf20f3a2417cff4.js
integrity="sha256-nzBOt5tn6zMeKyKSPDYVdbVjryXA/VYnnPIPOiQXz/Q="
crossorigin=anonymous></script>
<script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh/sitemap.xml b/zh/sitemap.xml
index d6d7f3be3a..8309e22b45 100644
--- a/zh/sitemap.xml
+++ b/zh/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/docs3-v2/java-sdk/faq/0/</loc><lastmod>2022-08-01T10:49:31+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
rel="alternate" hreflang="en"
href="https://dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/"/><xhtml:link
rel="alternate" hreflang="zh" href="https://dubbo.a [...]
\ 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/docs3-v2/java-sdk/faq/0/</loc><lastmod>2022-08-01T10:49:31+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
rel="alternate" hreflang="en"
href="https://dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/"/><xhtml:link
rel="alternate" hreflang="zh" href="https://dubbo.a [...]
\ No newline at end of file