This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch next-asf-site
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/next-asf-site by this push:
new 8a7b972bea deploy: 7dda00e898b4a3ae387dccb235d5b5f8002b9991
8a7b972bea is described below
commit 8a7b972bea0d07cbab34517b5807996f0fba05a6
Author: AlbumenJ <[email protected]>
AuthorDate: Sun Feb 19 11:29:11 2023 +0000
deploy: 7dda00e898b4a3ae387dccb235d5b5f8002b9991
---
sitemap.xml | 2 +-
.../index.html" | 8 ++++----
.../index.html" | 10 +++++-----
zh-cn/blog/index.xml | 4 +---
zh-cn/blog/java/demos/index.xml | 7 ++-----
zh-cn/index.xml | 4 +---
zh-cn/overview/core-features/index.xml | 2 +-
zh-cn/overview/core-features/observability/index.html | 8 ++++----
zh-cn/overview/tasks/index.xml | 6 +++---
zh-cn/overview/tasks/traffic-management/index.html | 4 ++--
zh-cn/sitemap.xml | 2 +-
11 files changed, 25 insertions(+), 32 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 655175381a..4611de8934 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>http://static.dubbo.apache.org:8080/zh-cn/sitemap.xml</loc><lastmod>2023-02-19T18:04:54+08:00</lastmod></sitemap><sitemap><loc>http://static.dubbo.apache.org:8080/en/sitemap.xml</loc><lastmod>2023-02-19T17:54:30+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>http://static.dubbo.apache.org:8080/zh-cn/sitemap.xml</loc><lastmod>2023-02-19T19:25:13+08:00</lastmod></sitemap><sitemap><loc>http://static.dubbo.apache.org:8080/en/sitemap.xml</loc><lastmod>2023-02-19T17:54:30+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git
"a/zh-cn/blog/2019/06/22/\344\275\277\347\224\250-dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273/index.html"
"b/zh-cn/blog/2019/06/22/\344\275\277\347\224\250-dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273/index.html"
index ea838c3eae..e329b0ec7c 100644
---
"a/zh-cn/blog/2019/06/22/\344\275\277\347\224\250-dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273/index.html"
+++
"b/zh-cn/blog/2019/06/22/\344\275\277\347\224\250-dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273/index.html"
@@ -1,6 +1,6 @@
<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><meta charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.110.0"><link rel="shortcut icon" type=image/png
href=/imgs/favicon.png><link rel=apple-touch-icon
href=/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=manifest
href=/manifest.webmanifest><title>使用 Dubbo 连接异构微服务体系 | Apache
Dubbo</title><meta prope [...]
-"><meta property="og:type" content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/blog/2019/06/22/%E4%BD%BF%E7%94%A8-dubbo-%E8%BF%9E%E6%8E%A5%E5%BC%82%E6%9E%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BD%93%E7%B3%BB/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2019-06-22T00:00:00+00:00"><meta
property="article:modified_time" content="2023-02-09T17:22:57+08:00"><meta
property="og:site_name" content="Apache Du [...]
-"><meta itemprop=datePublished content="2019-06-22T00:00:00+00:00"><meta
itemprop=dateModified content="2023-02-09T17:22:57+08:00"><meta
itemprop=wordCount content="540"><meta itemprop=keywords content><meta
name=twitter:card content="summary"><meta name=twitter:title content="使用 Dubbo
连接异构微服务体系"><meta name=twitter:description content="在这篇文章中,我们将探索如何利用 Dubbo
对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通
+"><meta property="og:type" content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/blog/2019/06/22/%E4%BD%BF%E7%94%A8-dubbo-%E8%BF%9E%E6%8E%A5%E5%BC%82%E6%9E%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BD%93%E7%B3%BB/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2019-06-22T00:00:00+00:00"><meta
property="article:modified_time" content="2023-02-19T19:25:13+08:00"><meta
property="og:site_name" content="Apache Du [...]
+"><meta itemprop=datePublished content="2019-06-22T00:00:00+00:00"><meta
itemprop=dateModified content="2023-02-19T19:25:13+08:00"><meta
itemprop=wordCount content="537"><meta itemprop=keywords content><meta
name=twitter:card content="summary"><meta name=twitter:title content="使用 Dubbo
连接异构微服务体系"><meta name=twitter:description content="在这篇文章中,我们将探索如何利用 Dubbo
对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通
"><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>
<link rel=preload
href=/scss/main.min.209e23d05c00cd0efb0dc9daf65a7d29491c7e1c8f21c8ec76798fe1e0a467a9.css
as=style><link
href=/scss/main.min.209e23d05c00cd0efb0dc9daf65a7d29491c7e1c8f21c8ec76798fe1e0a467a9.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 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通
@@ -54,13 +54,13 @@
</span></span><span style=display:flex><span><span
style=color:#268bd2><dubbo:registry</span> id=<span
style=color:#2aa198>"shanghai"</span> address=<span
style=color:#2aa198>"zookeeper://${zookeeper.address2}"</span>
weight=<span style=color:#2aa198>”10“</span> <span
style=color:#268bd2>/></span>
</span></span></code></pre></div></li><li><p>默认,stick to 任意可用</p></li></ul><h4
id=多注册中心适用的场景>多注册中心适用的场景</h4><ul><li><p>同区域流量优先调度</p><p>出于容灾或者服务伸缩性需求,服务/应用往往需要部署在多个独立的机房/区域,在每个区域有独立注册中心集群的场景下,实现同区域的流量优先调度就能很好的解决延迟和可用性问题。</p></li><li><p>注册中心迁移</p><p>公司的服务一直以来可能是存储在某一个注册中心,如
Zookeeper,但到了某个时间节点,因为各种各样的原因,当我们要迁移到另外的注册中心时,多注册中心模型能够保证平滑的迁移。</p></li><li><p>异构系统互通</p><p>不同微服务体系开发的服务,都封闭在各自的服务发现体系中,而通过统一的多注册中心模型,可以实现不同体系的服务互相发现。</p></li></ul><h2
id=借助-dubbo-联通�
�构的微服务体系>借助 Dubbo 联通异构的微服务体系</h2><p>上 [...]
</span></span></code></pre></div><p>对于提供服务给 Spring Cloud 侧消费的应用,则指定服务暴露为 rest
协议,或者双协议暴露(因如果这个服务还要被新体系内的应用调用到):</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-xml data-lang=xml><span style=display:flex><span><span
style=color:#268bd2><dubbo:service</span> interface=<span
style=color:#2aa198>"xxx.NewService"</span> protocol=<span
style=color:#2aa198>"rest,dubbo"</span><sp [...]
-</span></span></code></pre></div><p>作为 Dubbo 的维护者,虽然我们这里有明显的偏向性,讲的是从如何从
SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo 来开发微服务,则未来从 Dubbo 迁移到
SpringCloud 也是同样的思路,Dubbo 的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p><h3
id=自建体系迁移到-dubbo-体系共存>自建体系迁移到 Dubbo 体系(共存)</h3><p>这个场景和上一节中讲到的的 SpringCloud
迁移有些类似,最大的区别在于 rest 协议是 Dubbo 官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo
Protocol 来提供协议层面的支持,关于 Protocol
如何扩展请参见以下官方文档:</p><p>/zh-cn/docs/dev/impls/protocol.html</p><h2
id=总结与展望>总结与展望</h2><p>要实现异构微服务体系间的共存 [...]
+</span></span></code></pre></div><p>作为 Dubbo 的维护者,虽然我们这里有明显的偏向性,讲的是从如何从
SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo 来开发微服务,则未来从 Dubbo 迁移到
SpringCloud 也是同样的思路,Dubbo 的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p><h3
id=自建体系迁移到-dubbo-体系共存>自建体系迁移到 Dubbo 体系(共存)</h3><p>这个场景和上一节中讲到的的 SpringCloud
迁移有些类似,最大的区别在于 rest 协议是 Dubbo 官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo
Protocol 来提供协议层面的支持。</p><h2
id=总结与展望>总结与展望</h2><p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
D
ubbo 自身对多协议、多 [...]
<button class="btn btn-primary mb-4 feedback--no">否</button><p
class="feedback--response feedback--response__hidden">感谢反馈。如果您有一个关于如何使用
Kubernetes 的特定的、需要答案的问题,可以访问
<a target=_blank rel=noopener
href=https://stackoverflow.com/questions/tagged/kubernetes>Stack Overflow</a>.
在 GitHub 仓库上登记新的问题
<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io">报告问题</a>
或者
-<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
+<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/blog/java/demos/connect-heterogeneous-microservices.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+
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e4%bd%bf%e7%94%a8%20Dubbo%20%e8%bf%9e%e6%8e%a5%e5%bc%82%e6%9e%84%e5%be%ae%e6%9c%8d%e5%8a%a1%e4%bd%93%e7%b3%bb"
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=#同构异构微服务体系面临的问题>同构/异构微服务体系面临的问题</a></li><li><a
href=#dubbo-体系内的多协议多注册中心机制>Dubbo 体系内的多协议、多注册中心机制</a><ul><li><a
href=#多协议>多协议</a></li><li><a href=#多注册中心>多注册中心</a></li></ul></li><li><a
href=#借助-dubbo-联通异构的微服务体系>借助 Dubbo 联通异构的微服务体系</a><ul><li><a
href=#dubbo-体系内的协议迁移共存>Dubbo 体系内的协议迁移(共存) [...]
diff --git
"a/zh-cn/blog/2023/01/05/dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273-\345\244\232\345\215\217\350\256\256\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203/index.html"
"b/zh-cn/blog/2023/01/05/dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273-\345\244\232\345\215\217\350\256\256\345\244\232\346\263\250\345\206\214\344\270\255\345\277\
[...]
index a5685f8baa..92cf603aa2 100644
---
"a/zh-cn/blog/2023/01/05/dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273-\345\244\232\345\215\217\350\256\256\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203/index.html"
+++
"b/zh-cn/blog/2023/01/05/dubbo-\350\277\236\346\216\245\345\274\202\346\236\204\345\276\256\346\234\215\345\212\241\344\275\223\347\263\273-\345\244\232\345\215\217\350\256\256\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203/index.html"
@@ -1,6 +1,6 @@
<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><meta charset=utf-8><meta name=viewport
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta
name=generator content="Hugo 0.110.0"><link rel="shortcut icon" type=image/png
href=/imgs/favicon.png><link rel=apple-touch-icon
href=/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=manifest
href=/manifest.webmanifest><title>Dubbo 连接异构微服务体系 - 多协议&多注册中心 | Apache
Dubbo</title><m [...]
-"><meta property="og:type" content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/blog/2023/01/05/dubbo-%E8%BF%9E%E6%8E%A5%E5%BC%82%E6%9E%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BD%93%E7%B3%BB-%E5%A4%9A%E5%8D%8F%E8%AE%AE%E5%A4%9A%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2023-01-05T00:00:00+00:00"><meta
property="article:modified_time" content="2023-01-05T00:00:00+0 [...]
-"><meta itemprop=datePublished content="2023-01-05T00:00:00+00:00"><meta
itemprop=dateModified content="2023-01-05T00:00:00+00:00"><meta
itemprop=wordCount content="541"><meta itemprop=keywords content><meta
name=twitter:card content="summary"><meta name=twitter:title content="Dubbo
连接异构微服务体系 - 多协议&多注册中心"><meta name=twitter:description content="本文介绍了 Dubbo
的多协议、多注册中心支持方案,以及如何用它们实现多协议共存、多协议互通、多协议迁移等能力。
+"><meta property="og:type" content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/blog/2023/01/05/dubbo-%E8%BF%9E%E6%8E%A5%E5%BC%82%E6%9E%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BD%93%E7%B3%BB-%E5%A4%9A%E5%8D%8F%E8%AE%AE%E5%A4%9A%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2023-01-05T00:00:00+00:00"><meta
property="article:modified_time" content="2023-02-19T19:25:13+0 [...]
+"><meta itemprop=datePublished content="2023-01-05T00:00:00+00:00"><meta
itemprop=dateModified content="2023-02-19T19:25:13+08:00"><meta
itemprop=wordCount content="537"><meta itemprop=keywords content><meta
name=twitter:card content="summary"><meta name=twitter:title content="Dubbo
连接异构微服务体系 - 多协议&多注册中心"><meta name=twitter:description content="本文介绍了 Dubbo
的多协议、多注册中心支持方案,以及如何用它们实现多协议共存、多协议互通、多协议迁移等能力。
"><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>
<link rel=preload
href=/scss/main.min.209e23d05c00cd0efb0dc9daf65a7d29491c7e1c8f21c8ec76798fe1e0a467a9.css
as=style><link
href=/scss/main.min.209e23d05c00cd0efb0dc9daf65a7d29491c7e1c8f21c8ec76798fe1e0a467a9.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
的多协议、多注册中心支持方案,以及如何用它们实现多协议共存、多协议互通、多协议迁移等能力。
@@ -32,7 +32,7 @@
</span></span></code></pre></div><ol start=3><li>消费端应用 C</li></ol><div
class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-xml data-lang=xml><span style=display:flex><span><span
style=color:#268bd2><dubbo:reference</span> protocol=<span
style=color:#2aa198>"grpc"</span> interface=<span
style=color:#2aa198>"org.apache.dubbo.samples.basic.api.DemoService3"</span><span
style=color:#268b [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span
style=color:#268bd2><dubbo:reference</span> protocol=<span
style=color:#2aa198>"dubbo"</span> interface=<span
style=color:#2aa198>"org.apache.dubbo.samples.basic.api.DemoService0"</span><span
style=color:#268bd2>/></span>
-</span></span></code></pre></div><h4 id=dubbo-多协议支持现状>Dubbo
多协议支持现状</h4><p>Dubbo 目前所支持的协议包括 Dubbo、REST、Thrift、gRPC、JsonRPC、Hessian
等,基本涵盖了业界大多数主流的 RPC 通信协议。需要注意的是,这些协议的支持都是以直接集成官方 Release
实现的形式来做的,我认为这是一个很好的选择,既保证了协议解析自身的稳定性,又能使 Dubbo 社区更专注的将更多的精力放在 Dubbo
外围服务治理能力的改善上。试想如果 Dubbo
社区自己为每个协议提供实现,那是要花费多少精力和时间才能使每种协议达到稳定的生产可用。</p><p>除了以上官方提供支持的协议之外,得益于 Dubbo
灵活的扩展机制,想要为 Dubbo 扩展协议非常容易,开发者可以随时为 Dubbo 增加更多的协议支持,包括自有协议扩展。</p><p>关于对 gRPC
(HTTP/2) 协议的支持,请参阅上期文档</p><p
><a href=https://yuque.antfin-i [...]
+</span></span></code></pre></div><h4 id=dubbo-多协议支持现状>Dubbo
多协议支持现状</h4><p>Dubbo 目前所支持的协议包括 Dubbo、REST、Thrift、gRPC、JsonRPC、Hessian
等,基本涵盖了业界大多数主流的 RPC 通信协议。需要注意的是,这些协议的支持都是以直接集成官方 Release
实现的形式来做的,我认为这是一个很好的选择,既保证了协议解析自身的稳定性,又能使 Dubbo 社区更专注的将更多的精力放在 Dubbo
外围服务治理能力的改善上。试想如果 Dubbo
社区自己为每个协议提供实现,那是要花费多少精力和时间才能使每种协议达到稳定的生产可用。</p><p>除了以上官方提供支持的协议之外,得益于 Dubbo
灵活的扩展机制,想要为 Dubbo 扩展协议非常容易,开发者可以随时为 Dubbo 增加更多的协议支持,包括自有协议扩展。</p><p>关于对 gRPC
(HTTP/2) 协议的支持,请参阅上期文档</p><p
><img src=/imgs/blog/2023/01/pr [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span
style=color:#268bd2><dubbo:service</span> interface=<span
style=color:#2aa198>"org.apache.dubbo.samples.multi.registry.api.HelloService"</span>
ref=<span style=color:#2aa198>"helloService"</span> registry=<span
style=color:#2aa198>"shanghaiRegistry,beijingRegistry"</span><span
style=color:#268bd2>/></span>
</span></span><span style=display:flex><span><span
style=color:#268bd2><dubbo:service</span> interface=<span
style=color:#2aa198>"org.apache.dubbo.samples.multi.registry.api.DemoService"</span>
ref=<span style=color:#2aa198>"demoService"</span> registry=<span
style=color:#2aa198>"shanghaiRegistry,beijingRegistry"</span><span
style=color:#268bd2>/></span>
@@ -54,13 +54,13 @@
</span></span><span style=display:flex><span><span
style=color:#268bd2><dubbo:registry</span> id=<span
style=color:#2aa198>"shanghai"</span> address=<span
style=color:#2aa198>"zookeeper://${zookeeper.address2}"</span>
weight=<span style=color:#2aa198>”10“</span> <span
style=color:#268bd2>/></span>
</span></span></code></pre></div></li><li><p>默认,stick to 任意可用</p></li></ul><h4
id=多注册中心适用的场景>多注册中心适用的场景</h4><ul><li><p>同区域流量优先调度</p><p>出于容灾或者服务伸缩性需求,服务/应用往往需要部署在多个独立的机房/区域,在每个区域有独立注册中心集群的场景下,实现同区域的流量优先调度就能很好的解决延迟和可用性问题。</p></li><li><p>注册中心迁移</p><p>公司的服务一直以来可能是存储在某一个注册中心,如
Zookeeper,但到了某个时间节点,因为各种各样的原因,当我们要迁移到另外的注册中心时,多注册中心模型能够保证平滑的迁移。</p></li><li><p>异构系统互通</p><p>不同微服务体系开发的服务,都封闭在各自的服务发现体系中,而通过统一的多注册中心模型,可以实现不同体系的服务互相发现。</p></li></ul><h2
id=借助-dubbo-联通�
�构的微服务体系>借助 Dubbo 联通异构的微服务体系</h2><p>上 [...]
</span></span></code></pre></div><p>对于提供服务给 Spring Cloud 侧消费的应用,则指定服务暴露为 rest
协议,或者双协议暴露(因如果这个服务还要被新体系内的应用调用到):</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-xml data-lang=xml><span style=display:flex><span><span
style=color:#268bd2><dubbo:service</span> interface=<span
style=color:#2aa198>"xxx.NewService"</span> protocol=<span
style=color:#2aa198>"rest,dubbo"</span><sp [...]
-</span></span></code></pre></div><p>作为 Dubbo 的维护者,虽然我们这里有明显的偏向性,讲的是从如何从
SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo 来开发微服务,则未来从 Dubbo 迁移到
SpringCloud 也是同样的思路,Dubbo 的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p><h3
id=自建体系迁移到-dubbo-体系共存>自建体系迁移到 Dubbo 体系(共存)</h3><p>这个场景和上一节中讲到的的 SpringCloud
迁移有些类似,最大的区别在于 rest 协议是 Dubbo 官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo
Protocol 来提供协议层面的支持,关于 Protocol 如何扩展请参见以下官方文档:</p><p><a
href=http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html>http://dubbo
[...]
+</span></span></code></pre></div><p>作为 Dubbo 的维护者,虽然我们这里有明显的偏向性,讲的是从如何从
SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo 来开发微服务,则未来从 Dubbo 迁移到
SpringCloud 也是同样的思路,Dubbo 的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p><h3
id=自建体系迁移到-dubbo-体系共存>自建体系迁移到 Dubbo 体系(共存)</h3><p>这个场景和上一节中讲到的的 SpringCloud
迁移有些类似,最大的区别在于 rest 协议是 Dubbo 官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo
Protocol 来提供协议层面的支持。</p><h2
id=总结与展望>总结与展望</h2><p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
D
ubbo 自身对多协议、多 [...]
<button class="btn btn-primary mb-4 feedback--no">否</button><p
class="feedback--response feedback--response__hidden">感谢反馈。如果您有一个关于如何使用
Kubernetes 的特定的、需要答案的问题,可以访问
<a target=_blank rel=noopener
href=https://stackoverflow.com/questions/tagged/kubernetes>Stack Overflow</a>.
在 GitHub 仓库上登记新的问题
<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io">报告问题</a>
或者
-<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
+<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/blog/java/demos/multiple-protocols-registries.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+%22fro
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=Dubbo%20%e8%bf%9e%e6%8e%a5%e5%bc%82%e6%9e%84%e5%be%ae%e6%9c%8d%e5%8a%a1%e4%bd%93%e7%b3%bb%20-%20%e5%a4%9a%e5%8d%8f%e8%ae%ae&amp;%e5%a4%9a%e6%b3%a8%e5%86%8c%e4%b8%ad%e5%bf%83"
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=#同构异构微服务体系面临的问题>同构/异构微服务体系面临的问题</a></li><li><a
href=#dubbo-体系内的多协议多注册中心机制>Dubbo 体系内的多协议、多注册中心机制</a><ul><li><a
href=#多协议>多协议</a></li><li><a href=#多注册中心>多注册中心</a></li></ul></li><li><a
href=#借助-dubbo-联通异构的微服务体系>借助 Dubbo 联通异构的微服务体系</a><ul><li><a
href=#dubbo-体系内的协议迁移共存>Dubbo 体系内的协议迁移(共存) [...]
diff --git a/zh-cn/blog/index.xml b/zh-cn/blog/index.xml
index 54e1caf50a..76b94c680b 100644
--- a/zh-cn/blog/index.xml
+++ b/zh-cn/blog/index.xml
@@ -1635,7 +1635,6 @@ Dubbo 社区是国内最早开始对 Proxyless Service Mesh 模式进行探索
<p>Dubbo 目前所支持的协议包括 Dubbo、REST、Thrift、gRPC、JsonRPC、Hessian 等,基本涵盖了业界大多数主流的
RPC 通信协议。需要注意的是,这些协议的支持都是以直接集成官方 Release
实现的形式来做的,我认为这是一个很好的选择,既保证了协议解析自身的稳定性,又能使 Dubbo 社区更专注的将更多的精力放在 Dubbo
外围服务治理能力的改善上。试想如果 Dubbo 社区自己为每个协议提供实现,那是要花费多少精力和时间才能使每种协议达到稳定的生产可用。</p>
<p>除了以上官方提供支持的协议之外,得益于 Dubbo 灵活的扩展机制,想要为 Dubbo 扩展协议非常容易,开发者可以随时为 Dubbo
增加更多的协议支持,包括自有协议扩展。</p>
<p>关于对 gRPC (HTTP/2) 协议的支持,请参阅上期文档</p>
-<p><a
href="https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4">https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4</a></p>
<p><img
src="http://static.dubbo.apache.org:8080/imgs/blog/2023/01/protocols/img_3.png"
alt="3"></p>
<h4 id="多协议能解决的问题">多协议能解决的问题</h4>
<ul>
@@ -1760,8 +1759,7 @@ Dubbo 社区是国内最早开始对 Proxyless Service Mesh 模式进行探索
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dubbo:service</span> interface=<span
style="color:#2aa198">&#34;xxx.NewService&#34;</span>
protocol=<span
style="color:#2aa198">&#34;rest,dubbo&#34;</span><span
style="color:#268bd2">/&gt;</span>
</span></span></code></pre></div><p>作为 Dubbo
的维护者,虽然我们这里有明显的偏向性,讲的是从如何从 SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo
来开发微服务,则未来从 Dubbo 迁移到 SpringCloud 也是同样的思路,Dubbo
的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p>
<h3 id="自建体系迁移到-dubbo-体系共存">自建体系迁移到 Dubbo 体系(共存)</h3>
-<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持,关于 Protocol
如何扩展请参见以下官方文档:</p>
-<p><a
href="http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html">http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html</a></p>
+<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持。</p>
<h2 id="总结与展望">总结与展望</h2>
<p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
Dubbo 自身对多协议、多注册模型的支持,我们可以很容易的使 Dubbo 成为桥接异构微服务体系的中间层。熟悉 Dubbo
多协议实现细节的同学,可能会担心在服务数量较多的场景下,多协议注册会导致地址数量翻倍从而影响地址推送性能;另外在文中《借助 Dubbo
联通异构的微服务体系》一节,关于如何实现异构体系间的透明服务发现部分我们没有做详细的说明。关于涉及服务发现的这部分,我们将在接下来的文章中做具体阐述,看看
Dubbo 2.7.5 版本引入新的服务发现机制是如何解决这个问题的,请持续关注后续文章及 Dubbo
官方文档。</p></description></item><item><title>Blog: Dubbo 3 之 Triple
流控反压原理解析</title><link>http://static.dubbo.a
pache.org:8080/zh-cn/blog/2022/12 [...]
<p>Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议,
diff --git a/zh-cn/blog/java/demos/index.xml b/zh-cn/blog/java/demos/index.xml
index 43adb9f994..ee740ed5e3 100644
--- a/zh-cn/blog/java/demos/index.xml
+++ b/zh-cn/blog/java/demos/index.xml
@@ -79,7 +79,6 @@
<p>Dubbo 目前所支持的协议包括 Dubbo、REST、Thrift、gRPC、JsonRPC、Hessian 等,基本涵盖了业界大多数主流的
RPC 通信协议。需要注意的是,这些协议的支持都是以直接集成官方 Release
实现的形式来做的,我认为这是一个很好的选择,既保证了协议解析自身的稳定性,又能使 Dubbo 社区更专注的将更多的精力放在 Dubbo
外围服务治理能力的改善上。试想如果 Dubbo 社区自己为每个协议提供实现,那是要花费多少精力和时间才能使每种协议达到稳定的生产可用。</p>
<p>除了以上官方提供支持的协议之外,得益于 Dubbo 灵活的扩展机制,想要为 Dubbo 扩展协议非常容易,开发者可以随时为 Dubbo
增加更多的协议支持,包括自有协议扩展。</p>
<p>关于对 gRPC (HTTP/2) 协议的支持,请参阅上期文档</p>
-<p><a
href="https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4">https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4</a></p>
<p><img
src="http://static.dubbo.apache.org:8080/imgs/blog/2023/01/protocols/img_3.png"
alt="3"></p>
<h4 id="多协议能解决的问题">多协议能解决的问题</h4>
<ul>
@@ -204,8 +203,7 @@
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dubbo:service</span> interface=<span
style="color:#2aa198">&#34;xxx.NewService&#34;</span>
protocol=<span
style="color:#2aa198">&#34;rest,dubbo&#34;</span><span
style="color:#268bd2">/&gt;</span>
</span></span></code></pre></div><p>作为 Dubbo
的维护者,虽然我们这里有明显的偏向性,讲的是从如何从 SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo
来开发微服务,则未来从 Dubbo 迁移到 SpringCloud 也是同样的思路,Dubbo
的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p>
<h3 id="自建体系迁移到-dubbo-体系共存">自建体系迁移到 Dubbo 体系(共存)</h3>
-<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持,关于 Protocol
如何扩展请参见以下官方文档:</p>
-<p><a
href="http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html">http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html</a></p>
+<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持。</p>
<h2 id="总结与展望">总结与展望</h2>
<p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
Dubbo 自身对多协议、多注册模型的支持,我们可以很容易的使 Dubbo 成为桥接异构微服务体系的中间层。熟悉 Dubbo
多协议实现细节的同学,可能会担心在服务数量较多的场景下,多协议注册会导致地址数量翻倍从而影响地址推送性能;另外在文中《借助 Dubbo
联通异构的微服务体系》一节,关于如何实现异构体系间的透明服务发现部分我们没有做详细的说明。关于涉及服务发现的这部分,我们将在接下来的文章中做具体阐述,看看
Dubbo 2.7.5 版本引入新的服务发现机制是如何解决这个问题的,请持续关注后续文章及 Dubbo
官方文档。</p></description></item><item><title>Blog: Proxyless
Mesh在Dubbo中的实践</title><link>http://static.dubbo.apache.org
:8080/zh-cn/blog/2022/09/ [...]
<h2 id="背景">背景</h2>
@@ -3229,8 +3227,7 @@ Dubbo这边有没有集合文档展示和测试功能,能不用写文档就能
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dubbo:service</span> interface=<span
style="color:#2aa198">&#34;xxx.NewService&#34;</span>
protocol=<span
style="color:#2aa198">&#34;rest,dubbo&#34;</span><span
style="color:#268bd2">/&gt;</span>
</span></span></code></pre></div><p>作为 Dubbo
的维护者,虽然我们这里有明显的偏向性,讲的是从如何从 SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo
来开发微服务,则未来从 Dubbo 迁移到 SpringCloud 也是同样的思路,Dubbo
的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p>
<h3 id="自建体系迁移到-dubbo-体系共存">自建体系迁移到 Dubbo 体系(共存)</h3>
-<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持,关于 Protocol
如何扩展请参见以下官方文档:</p>
-<p>/zh-cn/docs/dev/impls/protocol.html</p>
+<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持。</p>
<h2 id="总结与展望">总结与展望</h2>
<p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
Dubbo 自身对多协议、多注册模型的支持,我们可以很容易的使 Dubbo 成为桥接异构微服务体系的中间层。熟悉 Dubbo
多协议实现细节的同学,可能会担心在服务数量较多的场景下,多协议注册会导致地址数量翻倍从而影响地址推送性能;另外在文中《借助 Dubbo
联通异构的微服务体系》一节,关于如何实现异构体系间的透明服务发现部分我们没有做详细的说明。关于涉及服务发现的这部分,我们将在接下来的文章中做具体阐述,看看
Dubbo 2.7.5 版本引入新的服务发现机制是如何解决这个问题的,请持续关注后续文章及 Dubbo
官方文档。</p></description></item><item><title>Blog:
Dubbo可扩展机制源码解析</title><link>http://static.dubbo.apache.org:8
080/zh-cn/blog/2019/05/02/dubbo%E [...]
<p>在<a
href="http://static.dubbo.apache.org:8080/zh-cn/blog/2019/04/25/dubbo%E5%8F%AF%E6%89%A9%E5%B1%95%E6%9C%BA%E5%88%B6%E5%AE%9E%E6%88%98/"
title="">Dubbo可扩展机制实战</a>中,我们了解了Dubbo扩展机制的一些概念,初探了Dubbo中LoadBalance的实现,并自己实现了一个LoadBalance。是不是觉得Dubbo的扩展机制很不错呀,接下来,我们就深入Dubbo的源码,一睹庐山真面目。</p>
diff --git a/zh-cn/index.xml b/zh-cn/index.xml
index caf11568e8..10d0b91532 100644
--- a/zh-cn/index.xml
+++ b/zh-cn/index.xml
@@ -1635,7 +1635,6 @@ Dubbo 社区是国内最早开始对 Proxyless Service Mesh 模式进行探索
<p>Dubbo 目前所支持的协议包括 Dubbo、REST、Thrift、gRPC、JsonRPC、Hessian 等,基本涵盖了业界大多数主流的
RPC 通信协议。需要注意的是,这些协议的支持都是以直接集成官方 Release
实现的形式来做的,我认为这是一个很好的选择,既保证了协议解析自身的稳定性,又能使 Dubbo 社区更专注的将更多的精力放在 Dubbo
外围服务治理能力的改善上。试想如果 Dubbo 社区自己为每个协议提供实现,那是要花费多少精力和时间才能使每种协议达到稳定的生产可用。</p>
<p>除了以上官方提供支持的协议之外,得益于 Dubbo 灵活的扩展机制,想要为 Dubbo 扩展协议非常容易,开发者可以随时为 Dubbo
增加更多的协议支持,包括自有协议扩展。</p>
<p>关于对 gRPC (HTTP/2) 协议的支持,请参阅上期文档</p>
-<p><a
href="https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4">https://yuque.antfin-inc.com/ken.lj/xga6e2/dxgrn4</a></p>
<p><img
src="http://static.dubbo.apache.org:8080/imgs/blog/2023/01/protocols/img_3.png"
alt="3"></p>
<h4 id="多协议能解决的问题">多协议能解决的问题</h4>
<ul>
@@ -1760,8 +1759,7 @@ Dubbo 社区是国内最早开始对 Proxyless Service Mesh 模式进行探索
<div class="highlight"><pre tabindex="0"
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span
style="display:flex;"><span><span
style="color:#268bd2">&lt;dubbo:service</span> interface=<span
style="color:#2aa198">&#34;xxx.NewService&#34;</span>
protocol=<span
style="color:#2aa198">&#34;rest,dubbo&#34;</span><span
style="color:#268bd2">/&gt;</span>
</span></span></code></pre></div><p>作为 Dubbo
的维护者,虽然我们这里有明显的偏向性,讲的是从如何从 SpringCloud 体系迁移到 Dubbo 体系。但是反过来考虑,如果你已经或者即将选型 Dubbo
来开发微服务,则未来从 Dubbo 迁移到 SpringCloud 也是同样的思路,Dubbo
的多协议、多注册模型为双向迁移都提供了同样的灵活性。</p>
<h3 id="自建体系迁移到-dubbo-体系共存">自建体系迁移到 Dubbo 体系(共存)</h3>
-<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持,关于 Protocol
如何扩展请参见以下官方文档:</p>
-<p><a
href="http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html">http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html</a></p>
+<p>这个场景和上一节中讲到的的 SpringCloud 迁移有些类似,最大的区别在于 rest 协议是 Dubbo
官方默认提供支持的,而对于已有的微服务体系内的私有通信协议,则需要先要自己去扩展 Dubbo Protocol 来提供协议层面的支持。</p>
<h2 id="总结与展望">总结与展望</h2>
<p>要实现异构微服务体系间的共存或迁移,关键点在打通异构体系间的<code>协议</code>与<code>服务发现</code>,得益于
Dubbo 自身对多协议、多注册模型的支持,我们可以很容易的使 Dubbo 成为桥接异构微服务体系的中间层。熟悉 Dubbo
多协议实现细节的同学,可能会担心在服务数量较多的场景下,多协议注册会导致地址数量翻倍从而影响地址推送性能;另外在文中《借助 Dubbo
联通异构的微服务体系》一节,关于如何实现异构体系间的透明服务发现部分我们没有做详细的说明。关于涉及服务发现的这部分,我们将在接下来的文章中做具体阐述,看看
Dubbo 2.7.5 版本引入新的服务发现机制是如何解决这个问题的,请持续关注后续文章及 Dubbo
官方文档。</p></description></item><item><title>Blog: Dubbo 3 之 Triple
流控反压原理解析</title><link>http://static.dubbo.a
pache.org:8080/zh-cn/blog/2022/12 [...]
<p>Triple 是 Dubbo 3 提出的基于 HTTP2 的开放协议,
diff --git a/zh-cn/overview/core-features/index.xml
b/zh-cn/overview/core-features/index.xml
index 225a1c4cf7..b68d5bc556 100644
--- a/zh-cn/overview/core-features/index.xml
+++ b/zh-cn/overview/core-features/index.xml
@@ -664,7 +664,7 @@
<p>prometheus-exporter配置为指标数据导出器,这里配置指标服务的端口号为20888,</p>
</li>
<li>
-<p>启动服务后,普罗米修斯监控服务通过访问:<a
href="http://localhost:20888">http://localhost:20888</a> 即可拉取数据</p>
+<p>启动服务后,普罗米修斯监控服务通过访问:<code>http://localhost:20888</code>
即可拉取数据</p>
</li>
</ul>
<h3 id="可视化页面">可视化页面</h3>
diff --git a/zh-cn/overview/core-features/observability/index.html
b/zh-cn/overview/core-features/observability/index.html
index 59f735fbc0..686946a61f 100644
--- a/zh-cn/overview/core-features/observability/index.html
+++ b/zh-cn/overview/core-features/observability/index.html
@@ -8,7 +8,7 @@ Dubbo目前推荐使用Prometheus来进行服务监控,Grafana来展示指标
快速入门 环境 系统:Windows、Linux、MacOS JDK 8 及以上 Git Maven 参考案例
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="prometheus"
enable-jvm-metrics="true"> <dubbo:aggregation enabled="true"/>
<dubbo:prometheus-exporter enabled="true"
metrics-port="20888"/> </dubbo:metrics>
关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:"><meta property="og:type"
content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/overview/core-features/observability/"><meta
property="article:section" content="overview"><meta property="article:mo [...]
+<dubbo:metrics protocol="prometheus"
enable-jvm-metrics="true"> <dubbo:aggregation enabled="true"/>
<dubbo:prometheus-exporter enabled="true"
metrics-port="20888"/> </dubbo:metrics>
关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:"><meta property="og:type"
content="article"><meta property="og:url"
content="http://static.dubbo.apache.org:8080/zh-cn/overview/core-features/observability/"><meta
property="article:section" content="overview"><meta property="article:mo [...]
Metrics。 Dubbo 统计了一系列的流量指标如 QPS、RT、成功请求数、失败请求数等,还包括一系列的内部组件状态如线程池数、服务健康状态等。
Tracing。 Dubbo 与业界主流的链路追踪工作做了适配,包括 Skywalking、Zipkin、Jaeger 都支持 Dubbo 服务的链路追踪。
Logging。 Dubbo 支持多种日志框架适配。以 Java 体系为例,支持包括 Slf4j、Log4j2、Log4j、Logback、Jcl
等,用户可以基于业务需要选择合适的框架;同时 Dubbo 还支持 Access Log 记录请求踪迹。
@@ -18,7 +18,7 @@ Dubbo目前推荐使用Prometheus来进行服务监控,Grafana来展示指标
快速入门 环境 系统:Windows、Linux、MacOS JDK 8 及以上 Git Maven 参考案例
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="prometheus"
enable-jvm-metrics="true"> <dubbo:aggregation enabled="true"/>
<dubbo:prometheus-exporter enabled="true"
metrics-port="20888"/> </dubbo:metrics>
关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:"><meta itemprop=dateModified
content="2023-02-19T17:17:48+08:00"><meta itemprop=wordCount
content="112"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="观测服务"><meta name=twitter
[...]
+<dubbo:metrics protocol="prometheus"
enable-jvm-metrics="true"> <dubbo:aggregation enabled="true"/>
<dubbo:prometheus-exporter enabled="true"
metrics-port="20888"/> </dubbo:metrics>
关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:"><meta itemprop=dateModified
content="2023-02-19T19:25:13+08:00"><meta itemprop=wordCount
content="112"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="观测服务"><meta name=twitter
[...]
Metrics。 Dubbo 统计了一系列的流量指标如 QPS、RT、成功请求数、失败请求数等,还包括一系列的内部组件状态如线程池数、服务健康状态等。
Tracing。 Dubbo 与业界主流的链路追踪工作做了适配,包括 Skywalking、Zipkin、Jaeger 都支持 Dubbo 服务的链路追踪。
Logging。 Dubbo 支持多种日志框架适配。以 Java 体系为例,支持包括 Slf4j、Log4j2、Log4j、Logback、Jcl
等,用户可以基于业务需要选择合适的框架;同时 Dubbo 还支持 Access Log 记录请求踪迹。
@@ -71,13 +71,13 @@ Spring项目参考案例:
https://github.com/apache/dubbo-samples/tree/master/
</span></span><span style=display:flex><span> <span
style=color:#268bd2><dubbo:aggregation</span> enabled=<span
style=color:#2aa198>"true"</span><span style=color:#268bd2>/></span>
</span></span><span style=display:flex><span> <span
style=color:#268bd2><dubbo:prometheus-exporter</span> enabled=<span
style=color:#2aa198>"true"</span> metrics-port=<span
style=color:#2aa198>"20888"</span><span style=color:#268bd2>/></span>
</span></span><span style=display:flex><span><span
style=color:#268bd2></dubbo:metrics></span>
-</span></span></code></pre></div><p>关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:</p><ul><li><p>enable-jvm-metrics是对JVM指标的埋点,
如果不需要这些配置项可以将其删除或者设置为false,</p></li><li><p>aggregation配置是针对指标数据的聚合处理使监控指标更平滑,</p></li><li><p>prometheus-exporter配置为指标数据导出器,这里配置指标服务的端口号为20888,</p></li><li><p>启动服务后,普罗米修斯监控服务通过访问:<a
href=http://localhost:20888>http://localhost:20888</a> 即可拉取数据</p></li></ul><h3
id=可视化页面>可视化页面</h3><p>也可以使用 Grafana、Prometheus
等实现可视化指标监测,具体请参考以下可视化任务示例:</p><ul><li><a href=../../tasks/deploy>Admin [...]
+</span></span></code></pre></div><p>关于指标的配置可以参考配置项中的指标配置信息,在这里引入的配置中:</p><ul><li><p>enable-jvm-metrics是对JVM指标的埋点,
如果不需要这些配置项可以将其删除或者设置为false,</p></li><li><p>aggregation配置是针对指标数据的聚合处理使监控指标更平滑,</p></li><li><p>prometheus-exporter配置为指标数据导出器,这里配置指标服务的端口号为20888,</p></li><li><p>启动服务后,普罗米修斯监控服务通过访问:<code>http://localhost:20888</code>
即可拉取数据</p></li></ul><h3 id=可视化页面>可视化页面</h3><p>也可以使用 Grafana、Prometheus
等实现可视化指标监测,具体请参考以下可视化任务示例:</p><ul><li><a href=../../tasks/deploy>Admin
任务链接</a></li><li><a hr [...]
<button class="btn btn-primary mb-4 feedback--no">否</button><p
class="feedback--response feedback--response__hidden">感谢反馈。如果您有一个关于如何使用
Kubernetes 的特定的、需要答案的问题,可以访问
<a target=_blank rel=noopener
href=https://stackoverflow.com/questions/tagged/kubernetes>Stack Overflow</a>.
在 GitHub 仓库上登记新的问题
<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io">报告问题</a>
或者
-<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
+<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/core-features/observability.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
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e8%a7%82%e6%b5%8b%e6%9c%8d%e5%8a%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></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><li><a href=#tracing>Tracing</a></li><li><a
href=#logging>Logging</a></li></ul></nav></div></div></div></div><footer
class="bg-d [...]
diff --git a/zh-cn/overview/tasks/index.xml b/zh-cn/overview/tasks/index.xml
index 15ee2561ac..d4ed22474f 100644
--- a/zh-cn/overview/tasks/index.xml
+++ b/zh-cn/overview/tasks/index.xml
@@ -154,9 +154,9 @@
</span></span></code></pre></div><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-sh" data-lang="sh"><span
style="display:flex;"><span>kubectl port-forward -n dubbo-system
service/skywalking-oap-dashboard 8082:8082
</span></span></code></pre></div><p>此时,打开浏览器,即可通过以下地址访问:</p>
<ul>
-<li>商城首页 <a
href="http://localhost:8080/">http://localhost:8080/</a></li>
-<li>Dubbo Admin 控制台 <a
href="http://localhost:38080/">http://localhost:38080/</a></li>
-<li>Skywalking 控制台 <a
href="http://localhost:8082/">http://localhost:8082/</a></li>
+<li>商城首页 <code>http://localhost:8080</code></li>
+<li>Dubbo Admin 控制台 <code>http://localhost:38080</code></li>
+<li>Skywalking 控制台 <code>http://localhost:8082</code></li>
</ul>
<h2 id="任务项">任务项</h2>
<p>接下来,试着通过如下任务项给商城增加一些流量管控规则吧。</p>
diff --git a/zh-cn/overview/tasks/traffic-management/index.html
b/zh-cn/overview/tasks/traffic-management/index.html
index 19892f64cc..21757bfa56 100644
--- a/zh-cn/overview/tasks/traffic-management/index.html
+++ b/zh-cn/overview/tasks/traffic-management/index.html
@@ -10,13 +10,13 @@
</span></span></code></pre></div><h2
id=获得访问地址>获得访问地址</h2><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-sh data-lang=sh><span style=display:flex><span>kubectl
port-forward -n dubbo-demo deployment/shop-frontend 8080:8080
</span></span></code></pre></div><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-sh data-lang=sh><span style=display:flex><span>kubectl
port-forward -n dubbo-system service/dubbo-admin 38080:38080
</span></span></code></pre></div><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-sh data-lang=sh><span style=display:flex><span>kubectl
port-forward -n dubbo-system service/skywalking-oap-dashboard 8082:8082
-</span></span></code></pre></div><p>此时,打开浏览器,即可通过以下地址访问:</p><ul><li>商城首页 <a
href=http://localhost:8080/>http://localhost:8080/</a></li><li>Dubbo Admin 控制台
<a href=http://localhost:38080/>http://localhost:38080/</a></li><li>Skywalking
控制台 <a href=http://localhost:8082/>http://localhost:8082/</a></li></ul><h2
id=任务项>任务项</h2><p>接下来,试着通过如下任务项给商城增加一些流量管控规则吧。</p><section id=section-0><div
class="td-content list-page"><div class=lead></div><header
class=article-meta></header><div class=row><div [...]
+</span></span></code></pre></div><p>此时,打开浏览器,即可通过以下地址访问:</p><ul><li>商城首页
<code>http://localhost:8080</code></li><li>Dubbo Admin 控制台
<code>http://localhost:38080</code></li><li>Skywalking 控制台
<code>http://localhost:8082</code></li></ul><h2
id=任务项>任务项</h2><p>接下来,试着通过如下任务项给商城增加一些流量管控规则吧。</p><section id=section-0><div
class="td-content list-page"><div class=lead></div><header
class=article-meta></header><div class=row><div class="col-sm col-md-6
mb-4"><div class="h-100 card shadow" href=#><d [...]
<button class="btn btn-primary mb-4 feedback--no">否</button><p
class="feedback--response feedback--response__hidden">感谢反馈。如果您有一个关于如何使用
Kubernetes 的特定的、需要答案的问题,可以访问
<a target=_blank rel=noopener
href=https://stackoverflow.com/questions/tagged/kubernetes>Stack Overflow</a>.
在 GitHub 仓库上登记新的问题
<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Issue%20with%20k8s.io">报告问题</a>
或者
-<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
+<a class=feedback--link target=_blank rel=noopener
href="https://github.com/kubernetes/website/issues/new?title=Improvement%20for%20k8s.io">提出改进建议</a>.</p></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.pathna
[...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/traffic-management/_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+ma
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e6%b5%81%e9%87%8f%e7%ae%a1%e6%8e%a7"
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=#获得访问地址>获得访问地址</a></li><li><a
href=#任务项>任务项</a></li></ul></nav></div></div></div></div><footer class="bg-dark
py-5 row d-print-none"><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 [...]
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index ee62cddc00..93917c0e1b 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>http://static.dubbo.apache.org:8080/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-01-16T00:00:00+00:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>http://static.dubbo.apache.org:8080/zh-c
[...]
\ 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>http://static.dubbo.apache.org:8080/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-01-16T00:00:00+00:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>http://static.dubbo.apache.org:8080/zh-c
[...]
\ No newline at end of file