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 1d1f4cfc7a deploy: 67de91b2142a816e0aebf307ed8c5994ecd3c84e
1d1f4cfc7a is described below
commit 1d1f4cfc7a6bc765dcb021f06a80f6cf6dc2d6d6
Author: AlbumenJ <[email protected]>
AuthorDate: Mon Feb 6 09:21:02 2023 +0000
deploy: 67de91b2142a816e0aebf307ed8c5994ecd3c84e
---
sitemap.xml | 2 +-
.../golang-sdk/preface/concept/generic/index.html | 24 +++--------------
zh/docs3-v2/golang-sdk/preface/concept/index.html | 2 +-
.../preface/concept/multi_language/index.html | 15 +++--------
.../golang-sdk/preface/concept/protocol/index.html | 30 +++-------------------
zh/sitemap.xml | 2 +-
6 files changed, 12 insertions(+), 63 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 50d52b3cd1..3640d97d23 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-02-06T17:16:22+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-02-05T09:16:05+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-02-06T17:16:58+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-02-05T09:16:05+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh/docs3-v2/golang-sdk/preface/concept/generic/index.html
b/zh/docs3-v2/golang-sdk/preface/concept/generic/index.html
index d5d927d245..85cc035153 100644
--- a/zh/docs3-v2/golang-sdk/preface/concept/generic/index.html
+++ b/zh/docs3-v2/golang-sdk/preface/concept/generic/index.html
@@ -1,27 +1,9 @@
-<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
-背景 为了便于理解,这篇文档中以网关使用场景介绍泛化调用。我们先来考虑普通调用(非泛化调用)。下图包含了 consumer 和 provider
两个关键角色(后文中用 endpoint 代表一个 consumer 或一个 provider),各自都有一份关于
org.apache.dubbo.sample.User 接口的定义。假定在调用行为中需要使用 org.apache.dubbo.sample.User 接口。
-RPC 需要借助网络介质传输,因此数据不能以 go struct 形式传输,而必须以二进制形式传输。这就要求 consumer 端在传输前,需要将实现
org.apache.dubbo.sample.User 接口的结构体序列化为二进制格式。同样的,对于 provider
端,需要将二进制数据反序列化为结构体信息。总之,普通调用要求接口信息在每一个 endpoint
必须有相同的定义,这样才能保证数据序列化和反序列化的结果与预期一致。
-在网关场景下,网关不可能存储全部接口定义。比如一个网关需要转发 100 个服务调用,每个服务需要的接口数量为 10 个,普通调用要求把 1000 个(100
*
10)接口定义提前全部存储在网关内,这显然是难以做到的。所以有没有一种方式可以既不需要提前存储接口定义,又能正确转发调用呢?答案是肯定的,这就是使用泛化调用的原因。
-原理 泛化调用本质上就是把复杂结构转化为通用结构,这里说的通用结构是指 map、string 等,网关是可以顺利解析并传递这些通用结构的。
-目前,Dubbo-go v3 只支持 Map 泛化方式(default)。我们以 User 接口为例,其定义如下所示。
-// definition type User struct { ID string Name string Age int32 } func (u
*User) JavaClassName() string { return "org."><meta property="og:type"
content="article"><meta property="og:url"
content="https://dubbo.apache.org/zh/docs3-v2/golang-sdk/preface/concept/generic/"><meta
property="article:section" content="docs3-v2"><meta
property="article:modified_time" content="2023-01-02T22:00:39+08:00"><meta
property="og:site_name" content="Apache Dubbo"><meta itemprop=name
content="泛化调用"><m [...]
-背景 为了便于理解,这篇文档中以网关使用场景介绍泛化调用。我们先来考虑普通调用(非泛化调用)。下图包含了 consumer 和 provider
两个关键角色(后文中用 endpoint 代表一个 consumer 或一个 provider),各自都有一份关于
org.apache.dubbo.sample.User 接口的定义。假定在调用行为中需要使用 org.apache.dubbo.sample.User 接口。
-RPC 需要借助网络介质传输,因此数据不能以 go struct 形式传输,而必须以二进制形式传输。这就要求 consumer 端在传输前,需要将实现
org.apache.dubbo.sample.User 接口的结构体序列化为二进制格式。同样的,对于 provider
端,需要将二进制数据反序列化为结构体信息。总之,普通调用要求接口信息在每一个 endpoint
必须有相同的定义,这样才能保证数据序列化和反序列化的结果与预期一致。
-在网关场景下,网关不可能存储全部接口定义。比如一个网关需要转发 100 个服务调用,每个服务需要的接口数量为 10 个,普通调用要求把 1000 个(100
*
10)接口定义提前全部存储在网关内,这显然是难以做到的。所以有没有一种方式可以既不需要提前存储接口定义,又能正确转发调用呢?答案是肯定的,这就是使用泛化调用的原因。
-原理 泛化调用本质上就是把复杂结构转化为通用结构,这里说的通用结构是指 map、string 等,网关是可以顺利解析并传递这些通用结构的。
-目前,Dubbo-go v3 只支持 Map 泛化方式(default)。我们以 User 接口为例,其定义如下所示。
-// definition type User struct { ID string Name string Age int32 } func (u
*User) JavaClassName() string { return "org."><meta itemprop=dateModified
content="2023-01-02T22:00:39+08:00"><meta itemprop=wordCount
content="300"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="泛化调用"><meta
name=twitter:description content="泛化调用是一种 Dubbo-Go
的特殊调用方式,它允许中间节点在没有接口信息的情况下传递调用信息,常被用于测试、网关的场景下。泛化调用支持 Dubbo 和 Triple
协议,但是目前序列化方案只支持 Hessian。
-背景 为了便于理解,这篇文档中以网关使用场景介绍泛化调用。我们先来考虑普通调用(非泛化调用)。下图包含了 consumer 和 provider
两个关键角色(后文中用 endpoint 代表一个 consumer 或一个 provider),各自都有一份关于
org.apache.dubbo.sample.User 接口的定义。假定在调用行为中需要使用 org.apache.dubbo.sample.User 接口。
-RPC 需要借助网络介质传输,因此数据不能以 go struct 形式传输,而必须以二进制形式传输。这就要求 consumer 端在传输前,需要将实现
org.apache.dubbo.sample.User 接口的结构体序列化为二进制格式。同样的,对于 provider
端,需要将二进制数据反序列化为结构体信息。总之,普通调用要求接口信息在每一个 endpoint
必须有相同的定义,这样才能保证数据序列化和反序列化的结果与预期一致。
-在网关场景下,网关不可能存储全部接口定义。比如一个网关需要转发 100 个服务调用,每个服务需要的接口数量为 10 个,普通调用要求把 1000 个(100
*
10)接口定义提前全部存储在网关内,这显然是难以做到的。所以有没有一种方式可以既不需要提前存储接口定义,又能正确转发调用呢?答案是肯定的,这就是使用泛化调用的原因。
-原理 泛化调用本质上就是把复杂结构转化为通用结构,这里说的通用结构是指 map、string 等,网关是可以顺利解析并传递这些通用结构的。
-目前,Dubbo-go v3 只支持 Map 泛化方式(default)。我们以 User 接口为例,其定义如下所示。
-// definition type User struct { ID string Name string Age int32 } func (u
*User) JavaClassName() string { return "org."><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","UA-112489517-1","auto"),ga("send","pageview"))</script><script
async src=https://www.google-analytics.com/analytics.js></script>
+<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
<link rel=preload
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
as=style><link
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.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></head><body
class=td-page><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.7zm0 [...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/golang-sdk/preface/concept/generic.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%b3%9b%e5%8c%96%e8%b0%83%e7%94%a8"
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><a href=#背景>背景</a></li><li><a
href=#原理>原理</a></li><li><a href=#使用>使用</a><ul><li><a href=#基于-dubbo-url-泛化调用>基于
Dubbo URL 泛化调用</a></li><li><a
href=#手动泛化调用>手动泛化调用</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"> [...]
+<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><a href=#背景>背景</a></li><li><a
href=#原理>原理</a></li><li><a href=#使用>使用</a><ul><li><a href=#基于-dubbo-url-泛化调用>基于
Dubbo URL 泛化调用</a></li><li><a
href=#手动泛化调用>手动泛化调用</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"> [...]
</span></span></span><span style=display:flex><span><span
style=color:#586e75></span><span style=color:#268bd2>type</span> User <span
style=color:#268bd2>struct</span> {
</span></span><span style=display:flex><span> ID <span
style=color:#dc322f>string</span>
</span></span><span style=display:flex><span> Name <span
style=color:#dc322f>string</span>
@@ -75,7 +57,7 @@ RPC 需要借助网络介质传输,因此数据不能以 go struct 形式传
</span></span><span style=display:flex><span> []hessian.Object{<span
style=color:#2aa198>"A003"</span>},
</span></span><span style=display:flex><span> )
</span></span></code></pre></div><p>GenericService 的 Invoke
方法接收四个参数,分别是:</p><ul><li>context;</li><li>方法名: 在这个例子中表示调用 GetUser
方法;</li><li>参数类型: GetUser 方法接收一个 string 类型的参数,如果目标方法接收多个参数,可以写为
<code>[]string{"type1", "type2", ...}</code>,如果目前方法是无参的,则需要填入一个空数组
<code>[]string{}</code>;</li><li>实参: 写法同参数类型,如果是无参函数,依然要填入一个空数组
<code>[]hessian.Object{}</code>
占位。</li></ul><p>注意:在目前版本中,无参调用会出现崩溃问题。</p><p>相关阅读:<a
href=https://blog.csdn.net/weixin_39860915/article/details/122738548>【Dubbo-go
服务代理模型】 [...]
-<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/docs3-v2/golang-sdk/preface/concept/index.html
b/zh/docs3-v2/golang-sdk/preface/concept/index.html
index 37553df6a6..a56e02b92b 100644
--- a/zh/docs3-v2/golang-sdk/preface/concept/index.html
+++ b/zh/docs3-v2/golang-sdk/preface/concept/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/golang-sdk/preface/concept/_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+mat
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e6%a6%82%e5%bf%b5%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></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="breadcrumb spb-1"><li class=breadcrumb-item><a
href=https://dubbo.apache.org/zh/docs3-v2/>SDK 手册</a></li><li
class=breadcrumb-item><a
href=https://dubbo.apache.org/zh/docs3-v2/golang-sdk/>Golang</a></li><li
class=breadcrumb-item><a hr [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></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="breadcrumb spb-1"><li class=breadcrumb-item><a
href=https://dubbo.apache.org/zh/docs3-v2/>SDK 手册</a></li><li
class=breadcrumb-item><a
href=https://dubbo.apache.org/zh/docs3-v2/golang-sdk/>Golang</a></li><li
class=breadcrumb-item><a hr [...]
<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>
diff --git a/zh/docs3-v2/golang-sdk/preface/concept/multi_language/index.html
b/zh/docs3-v2/golang-sdk/preface/concept/multi_language/index.html
index f4e28126bb..f525c589cc 100644
--- a/zh/docs3-v2/golang-sdk/preface/concept/multi_language/index.html
+++ b/zh/docs3-v2/golang-sdk/preface/concept/multi_language/index.html
@@ -1,19 +1,10 @@
-<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
-在多语言场景中,跨语言调用能力就显得十分重要。
-跨语言能力本质上是 【网络协议】 提供的能力。如何方便地让用户使用需要的网络协议、针对合适的跨语言场景进行开发、享受 Dubbo 生态的服务治理能力,是
Dubbo-go 服务框架所关心的。
-跨生态 Dubbo-go 服务框架提供了跨生态的能力,开发人员可以使用 Dubbo-go 以及其 生态项目 建立
HTTP/前端服务、Dubbo/Spring 应用、gRPC 生态应用之间的联系。"><meta property="og:type"
content="article"><meta property="og:url"
content="https://dubbo.apache.org/zh/docs3-v2/golang-sdk/preface/concept/multi_language/"><meta
property="article:section" content="docs3-v2"><meta
property="article:modified_time" content="2023-01-02T22:00:39+08:00"><meta
property="og:site_name" content="Apache Dubbo"><meta itemprop=name content="多语言
RPC"><meta itemprop=de [...]
-在多语言场景中,跨语言调用能力就显得十分重要。
-跨语言能力本质上是 【网络协议】 提供的能力。如何方便地让用户使用需要的网络协议、针对合适的跨语言场景进行开发、享受 Dubbo 生态的服务治理能力,是
Dubbo-go 服务框架所关心的。
-跨生态 Dubbo-go 服务框架提供了跨生态的能力,开发人员可以使用 Dubbo-go 以及其 生态项目 建立
HTTP/前端服务、Dubbo/Spring 应用、gRPC 生态应用之间的联系。"><meta itemprop=dateModified
content="2023-01-02T22:00:39+08:00"><meta itemprop=wordCount content="29"><meta
itemprop=keywords content><meta name=twitter:card content="summary"><meta
name=twitter:title content="多语言 RPC"><meta name=twitter:description
content="跨语言调用 随着微服务场景的大范围应用,多语言场景越来越普遍,开发人员更愿意使用更适合的语言,来实现一个复杂系统的不同模块。例如使用 C
来编写网关,使用 Go 来编写 K8S 资源 operator,使用 Java 来编写业务应用。语言与场景并不是绑定的,企业往往 [...]
-在多语言场景中,跨语言调用能力就显得十分重要。
-跨语言能力本质上是 【网络协议】 提供的能力。如何方便地让用户使用需要的网络协议、针对合适的跨语言场景进行开发、享受 Dubbo 生态的服务治理能力,是
Dubbo-go 服务框架所关心的。
-跨生态 Dubbo-go 服务框架提供了跨生态的能力,开发人员可以使用 Dubbo-go 以及其 生态项目 建立
HTTP/前端服务、Dubbo/Spring 应用、gRPC 生态应用之间的联系。"><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","UA-112489517-1","auto"),ga("send","pageview"))</script><script
async src=https://www.google-analytics.com/analytics.js></script>
+<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
<link rel=preload
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
as=style><link
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.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></head><body
class=td-page><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.7zm0 [...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/golang-sdk/preface/concept/multi_language.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+%22f
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e5%a4%9a%e8%af%ad%e8%a8%80%20RPC"
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=#跨生态>跨生态</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="breadcrumb spb-1"><li
class=breadcrumb-item><a href=https://dubbo.apache.org/zh/docs3-v2/>S [...]
-<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
[...]
+<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=#跨生态>跨生态</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="breadcrumb spb-1"><li
class=breadcrumb-item><a href=https://dubbo.apache.org/zh/docs3-v2/>S [...]
+<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/docs3-v2/golang-sdk/preface/concept/protocol/index.html
b/zh/docs3-v2/golang-sdk/preface/concept/protocol/index.html
index c77a0c48e3..dbdc8de029 100644
--- a/zh/docs3-v2/golang-sdk/preface/concept/protocol/index.html
+++ b/zh/docs3-v2/golang-sdk/preface/concept/protocol/index.html
@@ -1,33 +1,9 @@
-<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
-1.1 打解包协议 Dubbo-go 服务框架内置的打解包协议都是基于 TCP/IP 协议栈的,在此基础之上,封装/引入了多种协议,例如
Triple(dubbo3)、Dubbo、gRPC。
-这一类协议重点关注 TCP 报文的封装和拆解过程,保证点对点的可靠通信。
-在 dubbo-go 生态中,支持多种网络往往值得这一类协议。
-1.2 序列化协议 序列化协议负责将内存中的对象以特定格式序列化为二进制流。一些主流的序列化库有:具有较好可读性、应用广泛的 json
序列化方式;较高压缩效率,性能较好的 protobuf 序列化方式;适配与 Java 语言的 hessian2 序列化方式等。Dubbo-go
内置了这三种序列化方式
-序列化协议是需要开发者在业务开发过程中关注的,序列化协议往往需要特定的对象标注:
-一个由 protoc-gen-go 生成的 protobuf 序列对象的例子:
-type HelloRequest struct { state protoimpl.MessageState sizeCache
protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string
`protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
} 一个可与 java 服务互通的 hessian2 序列化对象
-type HelloRequest struct { Name string `hessian:"name"` } func (u
*HelloRequest) JavaClassName() string { return "org."><meta
property="og:type" content="article"><meta property="og:url"
content="https://dubbo.apache.org/zh/docs3-v2/golang-sdk/preface/concept/protocol/"><meta
property="article:section" content="docs3-v2"><meta
property="article:modified_time" content="2023-01-02T22:00:39+08:00"><meta
property="og:site_name" content="Apache Dubbo"><meta itemprop=name content="
[...]
-1.1 打解包协议 Dubbo-go 服务框架内置的打解包协议都是基于 TCP/IP 协议栈的,在此基础之上,封装/引入了多种协议,例如
Triple(dubbo3)、Dubbo、gRPC。
-这一类协议重点关注 TCP 报文的封装和拆解过程,保证点对点的可靠通信。
-在 dubbo-go 生态中,支持多种网络往往值得这一类协议。
-1.2 序列化协议 序列化协议负责将内存中的对象以特定格式序列化为二进制流。一些主流的序列化库有:具有较好可读性、应用广泛的 json
序列化方式;较高压缩效率,性能较好的 protobuf 序列化方式;适配与 Java 语言的 hessian2 序列化方式等。Dubbo-go
内置了这三种序列化方式
-序列化协议是需要开发者在业务开发过程中关注的,序列化协议往往需要特定的对象标注:
-一个由 protoc-gen-go 生成的 protobuf 序列对象的例子:
-type HelloRequest struct { state protoimpl.MessageState sizeCache
protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string
`protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
} 一个可与 java 服务互通的 hessian2 序列化对象
-type HelloRequest struct { Name string `hessian:"name"` } func (u
*HelloRequest) JavaClassName() string { return "org."><meta
itemprop=dateModified content="2023-01-02T22:00:39+08:00"><meta
itemprop=wordCount content="216"><meta itemprop=keywords content><meta
name=twitter:card content="summary"><meta name=twitter:title
content="网络协议"><meta name=twitter:description content="1. RPC 服务框架与网络协议 网络协议在
RPC 场景十分重要,在微服务场景下,服务进程之间的通信依赖可以连通的网络,以及client与server
端保持一致的网络协议。网络协议是一个抽象的概念,站在 [...]
-1.1 打解包协议 Dubbo-go 服务框架内置的打解包协议都是基于 TCP/IP 协议栈的,在此基础之上,封装/引入了多种协议,例如
Triple(dubbo3)、Dubbo、gRPC。
-这一类协议重点关注 TCP 报文的封装和拆解过程,保证点对点的可靠通信。
-在 dubbo-go 生态中,支持多种网络往往值得这一类协议。
-1.2 序列化协议 序列化协议负责将内存中的对象以特定格式序列化为二进制流。一些主流的序列化库有:具有较好可读性、应用广泛的 json
序列化方式;较高压缩效率,性能较好的 protobuf 序列化方式;适配与 Java 语言的 hessian2 序列化方式等。Dubbo-go
内置了这三种序列化方式
-序列化协议是需要开发者在业务开发过程中关注的,序列化协议往往需要特定的对象标注:
-一个由 protoc-gen-go 生成的 protobuf 序列对象的例子:
-type HelloRequest struct { state protoimpl.MessageState sizeCache
protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string
`protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
} 一个可与 java 服务互通的 hessian2 序列化对象
-type HelloRequest struct { Name string `hessian:"name"` } func (u
*HelloRequest) JavaClassName() string { return "org."><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","UA-112489517-1","auto"),ga("send","pageview"))</script><script
async src=https://www.google-analytics.com/analytics.js></script>
+<!doctype html><html lang=zh class=no-js><head><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"><meta name=ROBOTS content="INDEX,
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
<link rel=preload
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
as=style><link
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.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></head><body
class=td-page><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.7zm0 [...]
<a
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/golang-sdk/preface/concept/protocol.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+m
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%e7%bd%91%e7%bb%9c%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><div class=td-toc><nav
id=TableOfContents><ul><li><a href=#1-rpc-服务框架与网络协议>1. RPC
服务框架与网络协议</a><ul><li><a href=#11-打解包协议>1.1 打解包协议</a></li><li><a
href=#12-序列化协议>1.2 序列化协议</a></li><li><a href=#13-接口协议>1.3
接口协议</a></li></ul></li><li><a href=#2-dubbo-go-支持的网络协议>2. Dubbo-go
支持的网络协议</a></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8
pl-md-5" role=main><nav ar [...]
+<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><a href=#1-rpc-服务框架与网络协议>1. RPC
服务框架与网络协议</a><ul><li><a href=#11-打解包协议>1.1 打解包协议</a></li><li><a
href=#12-序列化协议>1.2 序列化协议</a></li><li><a href=#13-接口协议>1.3
接口协议</a></li></ul></li><li><a href=#2-dubbo-go-支持的网络协议>2. Dubbo-go
支持的网络协议</a></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8
pl-md-5" role=main><nav ar [...]
</span></span><span style=display:flex><span> state
protoimpl.MessageState
</span></span><span style=display:flex><span> sizeCache
protoimpl.SizeCache
</span></span><span style=display:flex><span> unknownFields
protoimpl.UnknownFields
@@ -66,7 +42,7 @@ type HelloRequest struct { Name string
`hessian:"name"` } func (u *Hello
</span></span><span style=display:flex><span> <span
style=color:#dc322f>int32</span> age <span style=color:#719e07>=</span> <span
style=color:#2aa198>3</span>;
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>接口协议与序列化协议的关系</p><ul><li>接口协议是抽象的概念,一种接口协议可以使用多种接口描述语言来编写,并且可以转化成多种序列化协议对象。</li></ul><h2
id=2-dubbo-go-支持的网络协议>2. Dubbo-go 支持的网络协议</h2><p>Dubbo-go
支持的网络协议和序列化方式如下:</p><table><thead><tr><th>协议</th><th>协议名 (用于配置)</th><th
style=text-align:center>序列化方式</th><th>默认序列化方式</th></tr></thead><tbody><tr><td>Triple
【推荐】</td><td>tri</td><td
style=text-align:center>pb/hessian2/msgpack/自定义</td><td>pb</td></tr><tr><td>Dubbo</td><td>dubbo</td><td
style=text-align:center [...]
-<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 501776cf02..94f39f5967 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