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 0a78f3782f deploy: 7a155566c2bb0d12664631d38b2ec32705642803
0a78f3782f is described below

commit 0a78f3782f9b43d05da4b176472fa5bf2b512a92
Author: AlbumenJ <[email protected]>
AuthorDate: Wed Jun 28 12:16:28 2023 +0000

    deploy: 7a155566c2bb0d12664631d38b2ec32705642803
---
 sitemap.xml                                        |  2 +-
 .../mannual/golang-sdk/quickstart/index.xml        | 90 ++++++++++++----------
 .../quickstart/quickstart_triple/index.html        | 21 +++--
 .../quickstart_triple_with_customize/index.html    | 48 +++++-------
 .../reference-manual/protocol/dubbo/index.html     |  6 +-
 .../java-sdk/reference-manual/protocol/index.xml   | 32 ++++----
 .../reference-manual/protocol/rmi/index.html       |  8 +-
 zh-cn/sitemap.xml                                  |  2 +-
 8 files changed, 106 insertions(+), 103 deletions(-)

diff --git a/sitemap.xml b/sitemap.xml
index 83b7b88364..9050ca9cfc 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-06-28T20:10:37+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-05-10T11:59: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>https://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-06-28T20:11:32+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-05-10T11:59:30+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml 
b/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml
index 447317e4bc..74d9883885 100644
--- a/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml
@@ -27,11 +27,13 @@
 &lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>protoc-gen-go-triple 1.0.8
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Overview:
 完成一次 RPC 
调用</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/</guid><description>
 &lt;h2 id="1-生成-demo-项目">1. 生成 Demo 项目&lt;/h2>
-&lt;p>使用安装好的 dubbogo-cli 工具,创建demo工程。&lt;/p>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ mkdir quickstart
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ &lt;span 
style="color:#b58900">cd&lt;/span> quickstart
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ dubbogo-cli 
newDemo .
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ tree .
+&lt;p>使用安装好的 dubbogo-cli 工具,创建 demo 工程。&lt;/p>
+&lt;p>创建并切换目录&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ mkdir quickstart &lt;span 
style="color:#719e07">&amp;amp;&amp;amp;&lt;/span> &lt;span 
style="color:#b58900">cd&lt;/span> quickstart
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>使用 dubbogo-cli 
工具创建新项目&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ dubbogo-cli newDemo .
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>查看项目结构&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ tree .
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>├── api
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>│   ├── 
samples_api.pb.go
@@ -76,13 +78,14 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#dc322f">int32&lt;/span> age &lt;span 
style="color:#719e07">=&lt;/span> &lt;span style="color:#2aa198">3&lt;/span>;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>demo项目中,默认生成了一个接口描述文件,接口服务名为
 api.Greeter, 包含两个 RPC 方法,入参为 HelloRequest,返回值为 User,两个方法分别为普通 RPC 方法和 
Streaming 类型 RPC 方法。&lt;/p>
-&lt;h3 id="12-可选-使用安装好的编译工具编译-pb-接口">1.2 (*可选) 使用安装好的编译工具编译 pb 接口&lt;/h3>
+&lt;h3 id="12-编译接口-可选">1.2 编译接口 (可选)&lt;/h3>
+&lt;p>使用安装好的编译工具编译 pb 接口。&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ &lt;span style="color:#b58900">cd&lt;/span> api
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ protoc 
--go_out&lt;span style="color:#719e07">=&lt;/span>. --go-triple_out&lt;span 
style="color:#719e07">=&lt;/span>. ./samples_api.proto
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>参数意义:&lt;code>--go_out=.&lt;/code>
 使用上述安装的 &lt;code>protoc-gen-go&lt;/code> 
插件,生成文件到当前目录,&lt;code>--go-triple_out=.&lt;/code>使用上述安装的 
&lt;code>protoc-gen-go-triple&lt;/code> 插件,生成文件到当前目录。&lt;/p>
 &lt;p>执行该指令后,会生成两个文件,分别是helloworld.pb (包含 proto 结构) 和 helloworld_triple.pb.go 
(包含 triple 协议接口)。&lt;/p>
 &lt;p>在 demo 工程中,预先生成好了这两个文件,修改 .proto 文件后重新执行命令生成,即可覆盖。&lt;/p>
-&lt;h2 id="2-开启一次rpc调用">2. 开启一次RPC调用&lt;/h2>
+&lt;h2 id="2-开启一次-rpc-调用">2. 开启一次 RPC 调用&lt;/h2>
 &lt;p>项目根目录执行&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-fallback" data-lang="fallback">&lt;span 
style="display:flex;">&lt;span>$ go mod tidy
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>拉取到最新的框架依赖:&lt;/p>
@@ -100,21 +103,25 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">require&lt;/span> (
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">...&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>)
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>先后启动服务端和客户端: 开启两个终端,在 
go-server/cmd 和 go-client/cmd 文件夹下分别执行 &lt;code>go run .&lt;/code> , 
可在客户端看到输出:&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;div class="alert alert-info" role="alert">
+&lt;h4 class="alert-heading">输出结果&lt;/h4>
+&lt;p>先后启动服务端和客户端: 开启两个终端,在 &lt;code>go-server/cmd&lt;/code> 和 
&lt;code>go-client/cmd&lt;/code> 文件夹下分别执行 &lt;code>go run .&lt;/code> , 
可在客户端看到输出:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-shell" data-lang="shell">&lt;span 
style="display:flex;">&lt;span>client response result: name:&lt;span 
style="color:#2aa198">&amp;#34;Hello laurence&amp;#34;&lt;/span> id:&lt;span 
style="color:#2aa198">&amp;#34;12345&amp;#34;&lt;/span> age:21
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>获得调用结果成功&lt;/p>
-&lt;h2 id="更多">更多&lt;/h2>
-&lt;blockquote>
-&lt;p>细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据 
samples 库中的例子来尝试编写流式客户端和服务端。&lt;/p>
-&lt;/blockquote></description></item><item><title>Overview: 完成一次自己定义接口的版本 RPC 
调用</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/</guid><description>
-&lt;h2 id="1实现概述">1.实现概述&lt;/h2>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>获得调用结果成功。&lt;/p>
+&lt;/div>
+&lt;div class="alert alert-primary" role="alert">
+&lt;h4 class="alert-heading">更多&lt;/h4>
+细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据 
samples 库中的例子来尝试编写流式客户端和服务端。
+&lt;/div></description></item><item><title>Overview: 完成一次自己定义接口的版本 RPC 
调用</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/</guid><description>
+&lt;h2 id="1-实现概述">1. 实现概述&lt;/h2>
 &lt;p>我们本章来实现一个简单的小需求,实现一个分布式ID生成服务,通过该服务可以获取分布式ID
 (假设的分布式ID,我们不探讨ID的生成方案和算法,这里直接使用uuid代替,只为演示自定义服务的创建)&lt;/p>
 &lt;h2 id="2-服务端实现">2. 服务端实现&lt;/h2>
 &lt;p>首先使用 dubbogo-cli 创建 IDC 服务&lt;/p>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>dubbogo-cli newApp IDC
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#b58900">cd&lt;/span> IDC
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tree .
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>dubbogo-cli newApp IDC &lt;span 
style="color:#719e07">&amp;amp;&amp;amp;&lt;/span> &lt;span 
style="color:#b58900">cd&lt;/span> IDC
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>查看项目结构&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>tree .
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>├── Makefile
@@ -149,7 +156,7 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>└── pkg
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> └── service
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> └── service.go
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们编辑proto定义我们的接口&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们编辑 proto 定义我们的接口&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-protobuf" data-lang="protobuf">&lt;span 
style="display:flex;">&lt;span>syntax &lt;span 
style="color:#719e07">=&lt;/span> &lt;span 
style="color:#2aa198">&amp;#34;proto3&amp;#34;&lt;/span>;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#719e07">package&lt;/span> api;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
@@ -167,10 +174,8 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#dc322f">string&lt;/span> id &lt;span 
style="color:#719e07">=&lt;/span> &lt;span style="color:#2aa198">1&lt;/span>;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>生成代码&lt;/p>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ &lt;span style="color:#b58900">cd&lt;/span> api
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ protoc 
--go_out&lt;span style="color:#719e07">=&lt;/span>. --go-triple_out&lt;span 
style="color:#719e07">=&lt;/span>. ./api.proto
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们来调整service
-目录:pkg/service/service.go
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>$ &lt;span style="color:#b58900">cd&lt;/span> 
api &lt;span style="color:#719e07">&amp;amp;&amp;amp;&lt;/span> protoc 
--go_out&lt;span style="color:#719e07">=&lt;/span>. --go-triple_out&lt;span 
style="color:#719e07">=&lt;/span>. ./api.proto
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们来调整 
&lt;code>service&lt;/code> 目录:&lt;code>pkg/service/service.go&lt;/code>
 修改后的代码如下&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-go" data-lang="go">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#268bd2">type&lt;/span> 
GeneratorServerImpl &lt;span style="color:#268bd2">struct&lt;/span> {
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
api.UnimplementedGeneratorServer
@@ -189,7 +194,7 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">func&lt;/span> &lt;span 
style="color:#268bd2">init&lt;/span>() {
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> config.&lt;span 
style="color:#268bd2">SetProviderService&lt;/span>(&lt;span 
style="color:#719e07">&amp;amp;&lt;/span>GeneratorServerImpl{})
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>同时,我们调整conf/dubbogo.yaml中的provider部分,&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>同时,我们调整 
&lt;code>conf/dubbogo.yaml&lt;/code> 中的 &lt;code>provider&lt;/code> 部分,&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-yaml" data-lang="yaml">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#268bd2">dubbo&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">registries&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">nacos&lt;/span>:
@@ -203,17 +208,16 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">services&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">GeneratorServerImpl&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">interface&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;&amp;#34;&lt;/span> &lt;span 
style="color:#586e75"># read from stub&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们需要拉起一个依赖的注册中心,nacos,如果你有现成的,本步骤可以忽略,我们使用docker来快速启动一个nacos,&lt;/p>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>git clone 
https://github.com/nacos-group/nacos-docker.git
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#b58900">cd&lt;/span> nacos-docker
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>docker-compose -f 
example/standalone-derby.yaml up
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>我们需要拉起一个依赖的注册中心 
nacos,如果你有现成的,本步骤可以忽略,我们使用 docker 来快速启动一个 nacos&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>git clone 
https://github.com/nacos-group/nacos-docker.git &lt;span 
style="color:#719e07">&amp;amp;&amp;amp;&lt;/span> &lt;span 
style="color:#b58900">cd&lt;/span> nacos-docker
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div 
class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>docker-compose -f example/standalone-derby.yaml 
up
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>最后,我们启动服务端。&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-go" data-lang="go">&lt;span 
style="display:flex;">&lt;span>export DUBBO_GO_CONFIG_PATH=conf&lt;span 
style="color:#719e07">/&lt;/span>dubbogo.yaml
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#719e07">go&lt;/span> run cmd&lt;span 
style="color:#719e07">/&lt;/span>app.&lt;span style="color:#719e07">go&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>打开nacos的控制台,可以看到服务已经注册
-&lt;img 
src="https://dubbo.apache.org/imgs/docs3-v2/golang-sdk/quickstart/nacos.jpg"; 
alt="img">&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div 
class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-fallback" data-lang="fallback">&lt;span 
style="display:flex;">&lt;span>go run cmd/app.go
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>打开 nacos 
的控制台,可以看到服务已经注册&lt;/p>
+&lt;p>&lt;img 
src="https://dubbo.apache.org/imgs/docs3-v2/golang-sdk/quickstart/nacos.jpg"; 
alt="img">&lt;/p>
 &lt;h2 id="2-客户端使用">2. 客户端使用&lt;/h2>
-&lt;p>首先,我们可以共享我们的服务端的api给客户端,并生成相关的代码(这里可以根据实际项目需要,共享共享proto,每个consumer自行生成代码,或统一生成sdk后给依赖的服务引入)
+&lt;p>首先,我们可以共享我们的服务端的 api 给客户端,并生成相关的代码(这里可以根据实际项目需要,共享 proto,每个 consumer 
自行生成代码,或统一生成 sdk 后给依赖的服务引入)
 客户端目录如下:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>.
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>├── api
@@ -226,8 +230,7 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>│   └── dubbogo.yml
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>├── go.mod
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>├── go.sum
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>api目录同服务端的api目录
-client.go 代码如下&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>api&lt;/code> 
目录同服务端的 &lt;code>api&lt;/code> 目录 &lt;code>client.go&lt;/code> 代码如下:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-go" data-lang="go">&lt;span style="display:flex;">&lt;span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">var&lt;/span> grpcGeneratorImpl = &lt;span 
style="color:#b58900">new&lt;/span>(api.GeneratorClientImpl)
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
@@ -247,7 +250,7 @@ client.go 代码如下&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> logger.&lt;span 
style="color:#268bd2">Infof&lt;/span>(&lt;span 
style="color:#2aa198">&amp;#34;get id result: %v\n&amp;#34;&lt;/span>, reply.Id)
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>dubbogo.yml 如下&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>dubbogo.yml&lt;/code>&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-yaml" data-lang="yaml">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#268bd2">dubbo&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">registries&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">nacos&lt;/span>:
@@ -258,14 +261,19 @@ client.go 代码如下&lt;/p>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">GeneratorClientImpl&lt;/span>:
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">protocol&lt;/span>: tri
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">interface&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;&amp;#34;&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>运行client,获取id,如下:&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>运行 client,获取 id:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-bash" data-lang="bash">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#b58900">export&lt;/span> 
&lt;span style="color:#268bd2">DUBBO_GO_CONFIG_PATH&lt;/span>&lt;span 
style="color:#719e07">=&lt;/span>conf/dubbogo.yml
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>go run 
cmd/client.go
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>……
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div 
class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-fallback" data-lang="fallback">&lt;span 
style="display:flex;">&lt;span>go run cmd/client.go
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;div class="alert alert-info" role="alert">
+&lt;h4 class="alert-heading">输出结果&lt;/h4>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-shell" data-lang="shell">&lt;span 
style="display:flex;">&lt;span>……
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>……
 &lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-30T20:59:19.971+0800 INFO 
cmd/client.go:44 start to &lt;span style="color:#b58900">test&lt;/span> dubbo
 &lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-30T20:59:19.982+0800 INFO 
cmd/client.go:52 get id result: aafd9c73-4014-4d67-a67f-5d107105647b
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="更多">更多&lt;/h2>
-&lt;blockquote>
-&lt;p>可以发现注册中心我们是使用nacos,当然,我们也可以使用其他的注册中心,更多的使用方式,可以参考&lt;a 
href="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/";>注册中心&lt;/a>&lt;/p>
-&lt;/blockquote></description></item></channel></rss>
\ No newline at end of file
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;/div>
+&lt;div class="alert alert-primary" role="alert">
+&lt;h4 class="alert-heading">更多&lt;/h4>
+可以发现注册中心我们是使用 nacos,当然,我们也可以使用其他的注册中心,更多的使用方式,可以参考 &lt;a 
href="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/";>注册中心&lt;/a>
+&lt;/div></description></item></channel></rss>
\ No newline at end of file
diff --git 
a/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/index.html 
b/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/index.html
index 8b4a5a7de2..8679b1cc3a 100644
--- a/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/index.html
+++ b/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png sizes [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png sizes [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-1TFHM5YBH0",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="完成一次 RPC 调用"><meta 
property="og:description" content="完成一次 RPC 调用"><meta name=twitter:description 
content="完成一次 RPC 调用"><meta property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/";><meta
 property="og:title" content="完成一次 RPC 调用"><meta  [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,10 +670,9 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
-</span></span><span style=display:flex><span>$ <span 
style=color:#b58900>cd</span> quickstart 
-</span></span><span style=display:flex><span>$ dubbogo-cli newDemo .
-</span></span><span style=display:flex><span>$ tree .
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
+</span></span></code></pre></div><p>使用 dubbogo-cli 工具创建新项目</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ 
dubbogo-cli newDemo .
+</span></span></code></pre></div><p>查看项目结构</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ tree .
 </span></span><span style=display:flex><span>.
 </span></span><span style=display:flex><span>├── api
 </span></span><span style=display:flex><span>│   ├── samples_api.pb.go
@@ -714,9 +713,9 @@
 </span></span><span style=display:flex><span>  <span 
style=color:#dc322f>string</span> id <span style=color:#719e07>=</span> <span 
style=color:#2aa198>2</span>;
 </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>demo项目中,默认生成了一个接口描述文件,接口服务名为 api.Greeter, 
包含两个 RPC 方法,入参为 HelloRequest,返回值为 User,两个方法分别为普通 RPC 方法和 Streaming 类型 RPC 
方法。</p><h3 id=12-可选-使用安装好的编译工具编译-pb-接口>1.2 (*可选) 使用安装好的编译工具编译 pb 接口</h3><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ <span 
style=color:#b58900>cd</span> api
+</span></span></code></pre></div><p>demo项目中,默认生成了一个接口描述文件,接口服务名为 api.Greeter, 
包含两个 RPC 方法,入参为 HelloRequest,返回值为 User,两个方法分别为普通 RPC 方法和 Streaming 类型 RPC 
方法。</p><h3 id=12-编译接口-可选>1.2 编译接口 (可选)</h3><p>使用安装好的编译工具编译 pb 接口。</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ <span 
style=color:#b58900>cd</span> api
 </span></span><span style=display:flex><span>$ protoc --go_out<span 
style=color:#719e07>=</span>. --go-triple_out<span 
style=color:#719e07>=</span>. ./samples_api.proto
-</span></span></code></pre></div><p>参数意义:<code>--go_out=.</code> 使用上述安装的 
<code>protoc-gen-go</code> 插件,生成文件到当前目录,<code>--go-triple_out=.</code>使用上述安装的 
<code>protoc-gen-go-triple</code> 
插件,生成文件到当前目录。</p><p>执行该指令后,会生成两个文件,分别是helloworld.pb (包含 proto 结构) 和 
helloworld_triple.pb.go (包含 triple 协议接口)。</p><p>在 demo 工程中,预先生成好了这两个文件,修改 
.proto 文件后重新执行命令生成,即可覆盖。</p><h2 id=2-开启一次rpc调用>2. 
开启一次RPC调用</h2><p>项目根目录执行</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz- [...]
+</span></span></code></pre></div><p>参数意义:<code>--go_out=.</code> 使用上述安装的 
<code>protoc-gen-go</code> 插件,生成文件到当前目录,<code>--go-triple_out=.</code>使用上述安装的 
<code>protoc-gen-go-triple</code> 
插件,生成文件到当前目录。</p><p>执行该指令后,会生成两个文件,分别是helloworld.pb (包含 proto 结构) 和 
helloworld_triple.pb.go (包含 triple 协议接口)。</p><p>在 demo 工程中,预先生成好了这两个文件,修改 
.proto 文件后重新执行命令生成,即可覆盖。</p><h2 id=2-开启一次-rpc-调用>2. 开启一次 RPC 
调用</h2><p>项目根目录执行</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;- [...]
 </span></span></code></pre></div><p>拉取到最新的框架依赖:</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-go data-lang=go><span style=display:flex><span>module helloworld
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span><span 
style=color:#719e07>go</span> <span style=color:#2aa198>1.17</span>
@@ -731,12 +730,12 @@
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>require</span> (
 </span></span><span style=display:flex><span>  <span 
style=color:#719e07>...</span>
 </span></span><span style=display:flex><span>)
-</span></span></code></pre></div><p>先后启动服务端和客户端: 开启两个终端,在 go-server/cmd 和 
go-client/cmd 文件夹下分别执行 <code>go run .</code> , 可在客户端看到输出:</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-shell data-lang=shell><span style=display:flex><span>client 
response result: name:<span style=color:#2aa198>&#34;Hello laurence&#34;</span> 
id:<span style=color:#2aa198>&#34;12345&#34;</span> age:21
-</span></span></code></pre></div><p>获得调用结果成功</p><h2 
id=更多>更多</h2><blockquote><p>细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据
 samples 库中的例子来尝试编写流式客户端和服务端。</p></blockquote><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><div class="alert alert-info" role=alert><h4 
class=alert-heading>输出结果</h4><p>先后启动服务端和客户端: 开启两个终端,在 
<code>go-server/cmd</code> 和 <code>go-client/cmd</code> 文件夹下分别执行 <code>go run 
.</code> , 可在客户端看到输出:</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-shell data-lang=shell><span style=display:flex><span>client 
response result: name:<span style=color:#2aa198>&#34; [...]
+</span></span></code></pre></div><p>获得调用结果成功。</p></div><div class="alert 
alert-primary" role=alert><h4 
class=alert-heading>更多</h4>细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据
 samples 库中的例子来尝试编写流式客户端和服务端。</div><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e5%ae%8c%e6%88%90%e4%b8%80%e6%ac%a1%20RPC%20%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></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1-生成-demo-项目>1. 生成 Demo 项目</a><ul><li><a href=#11-查看接口描述文件>1.1 
查看接口描述文件</a></li><li><a href=#12-可选-使用安装好的编译工具编译-pb-接口>1.2 (*可选) 使用安装好的编译工具编译 
pb 接口</a></li></ul></li><li><a href=#2-开启一次rpc调用>2. 开启一次RPC调用</a></li><li><a 
href=#更多>更多</a></li></ul></nav></div></div></div>< [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1-生成-demo-项目>1. 生成 Demo 项目</a><ul><li><a href=#11-查看接口描述文件>1.1 
查看接口描述文件</a></li><li><a href=#12-编译接口-可选>1.2 编译接口 (可选)</a></li></ul></li><li><a 
href=#2-开启一次-rpc-调用>2. 开启一次 RPC 
调用</a></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 row 
d-print-none fo [...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.a4534a01940be8c082c4c0e6777b61df9884f202b61c9519352adb6d1039d5aa.js
 integrity="sha256-pFNKAZQL6MCCxMDmd3th35iE8gK2HJUZNSrbbRA51ao=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git 
a/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/index.html
 
b/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/index.html
index 16f7a6ec0a..9c698cb3d7 100644
--- 
a/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/index.html
+++ 
b/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-18 [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-18 [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-1TFHM5YBH0",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="完成一次 RPC 
调用自己定义接口的版本"><meta property="og:description" content="完成一次 RPC 
调用自己定义接口的版本"><meta name=twitter:description content="完成一次 RPC 
调用自己定义接口的版本"><meta property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/";><meta
 proper [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,10 +670,9 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
-(假设的分布式ID,我们不探讨ID的生成方案和算法,这里直接使用uuid代替,只为演示自定义服务的创建)</p><h2 id=2-服务端实现>2. 
服务端实现</h2><p>首先使用 dubbogo-cli 创建 IDC 服务</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>dubbogo-cli 
newApp IDC
-</span></span><span style=display:flex><span><span 
style=color:#b58900>cd</span> IDC
-</span></span><span style=display:flex><span>tree .
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
+(假设的分布式ID,我们不探讨ID的生成方案和算法,这里直接使用uuid代替,只为演示自定义服务的创建)</p><h2 id=2-服务端实现>2. 
服务端实现</h2><p>首先使用 dubbogo-cli 创建 IDC 服务</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>dubbogo-cli 
newApp IDC <span style=color:#719e07>&amp;&amp;</span> <span 
style=color:#b58900>cd</span> IDC 
+</span></span></code></pre></div><p>查看项目结构</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>tree .
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>.
 </span></span><span style=display:flex><span>├── Makefile
@@ -708,7 +707,7 @@
 </span></span><span style=display:flex><span>└── pkg
 </span></span><span style=display:flex><span>    └── service
 </span></span><span style=display:flex><span>        └── service.go
-</span></span></code></pre></div><p>我们编辑proto定义我们的接口</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-protobuf data-lang=protobuf><span 
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span 
style=color:#2aa198>&#34;proto3&#34;</span>;
+</span></span></code></pre></div><p>我们编辑 proto 定义我们的接口</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-protobuf data-lang=protobuf><span 
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span 
style=color:#2aa198>&#34;proto3&#34;</span>;
 </span></span><span style=display:flex><span><span 
style=color:#719e07>package</span> api;
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span><span 
style=color:#719e07>option</span> go_package <span style=color:#719e07>=</span> 
<span style=color:#2aa198>&#34;./;api&#34;</span>;
@@ -724,10 +723,8 @@
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>message</span> <span style=color:#268bd2>GenResp</span> {
 </span></span><span style=display:flex><span>  <span 
style=color:#dc322f>string</span> id <span style=color:#719e07>=</span> <span 
style=color:#2aa198>1</span>;
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>生成代码</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ <span 
style=color:#b58900>cd</span> api
-</span></span><span style=display:flex><span>$ protoc --go_out<span 
style=color:#719e07>=</span>. --go-triple_out<span 
style=color:#719e07>=</span>. ./api.proto
-</span></span></code></pre></div><p>我们来调整service
-目录:pkg/service/service.go
+</span></span></code></pre></div><p>生成代码</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>$ <span 
style=color:#b58900>cd</span> api <span style=color:#719e07>&amp;&amp;</span> 
protoc --go_out<span style=color:#719e07>=</span>. --go-triple_out<span 
style=color:#719e07>=</span>. ./api.proto
+</span></span></code></pre></div><p>我们来调整 <code>service</code> 
目录:<code>pkg/service/service.go</code>
 修改后的代码如下</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-go data-lang=go><span style=display:flex><span><span 
style=color:#268bd2>type</span> GeneratorServerImpl <span 
style=color:#268bd2>struct</span> {
 </span></span><span style=display:flex><span>  api.UnimplementedGeneratorServer
 </span></span><span style=display:flex><span>}
@@ -745,7 +742,7 @@
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>func</span> <span style=color:#268bd2>init</span>() {
 </span></span><span style=display:flex><span>  config.<span 
style=color:#268bd2>SetProviderService</span>(<span 
style=color:#719e07>&amp;</span>GeneratorServerImpl{})
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>同时,我们调整conf/dubbogo.yaml中的provider部分,</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>dubbo</span>:
+</span></span></code></pre></div><p>同时,我们调整 <code>conf/dubbogo.yaml</code> 中的 
<code>provider</code> 部分,</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>dubbo</span>:
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>registries</span>:
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>nacos</span>:
 </span></span><span style=display:flex><span>      <span 
style=color:#268bd2>protocol</span>: nacos
@@ -758,13 +755,11 @@
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>services</span>:
 </span></span><span style=display:flex><span>      <span 
style=color:#268bd2>GeneratorServerImpl</span>:
 </span></span><span style=display:flex><span>        <span 
style=color:#268bd2>interface</span>: <span 
style=color:#2aa198>&#34;&#34;</span> <span style=color:#586e75># read from 
stub</span>
-</span></span></code></pre></div><p>我们需要拉起一个依赖的注册中心,nacos,如果你有现成的,本步骤可以忽略,我们使用docker来快速启动一个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-bash data-lang=bash><span style=display:flex><span>git clone 
https://github.com/nacos-group/nacos-docker.git
-</span></span><span style=display:flex><span><span 
style=color:#b58900>cd</span> nacos-docker
-</span></span><span style=display:flex><span>docker-compose -f 
example/standalone-derby.yaml up
-</span></span></code></pre></div><p>最后,我们启动服务端。</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-go data-lang=go><span style=display:flex><span>export 
DUBBO_GO_CONFIG_PATH=conf<span style=color:#719e07>/</span>dubbogo.yaml 
-</span></span><span style=display:flex><span><span 
style=color:#719e07>go</span> run cmd<span 
style=color:#719e07>/</span>app.<span style=color:#719e07>go</span>  
-</span></span></code></pre></div><p>打开nacos的控制台,可以看到服务已经注册
-<img src=/imgs/docs3-v2/golang-sdk/quickstart/nacos.jpg alt=img></p><h2 
id=2-客户端使用>2. 
客户端使用</h2><p>首先,我们可以共享我们的服务端的api给客户端,并生成相关的代码(这里可以根据实际项目需要,共享共享proto,每个consumer自行生成代码,或统一生成sdk后给依赖的服务引入)
+</span></span></code></pre></div><p>我们需要拉起一个依赖的注册中心 nacos,如果你有现成的,本步骤可以忽略,我们使用 
docker 来快速启动一个 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-bash data-lang=bash><span style=display:flex><span>git clone 
https://github.com/nacos-group/nacos-docker.git <span 
style=color:#719e07>&amp;&amp;</span> <span style=color:#b58900>cd</span> 
nacos-docker
+</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-bash data-lang=bash><span 
style=display:flex><span>docker-compose -f example/standalone-derby.yaml up
+</span></span></code></pre></div><p>最后,我们启动服务端。</p><div class=highlight><pre 
tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-go data-lang=go><span style=display:flex><span>export 
DUBBO_GO_CONFIG_PATH=conf<span style=color:#719e07>/</span>dubbogo.yaml
+</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-fallback data-lang=fallback><span style=display:flex><span>go 
run cmd/app.go  
+</span></span></code></pre></div><p>打开 nacos 的控制台,可以看到服务已经注册</p><p><img 
src=/imgs/docs3-v2/golang-sdk/quickstart/nacos.jpg alt=img></p><h2 
id=2-客户端使用>2. 客户端使用</h2><p>首先,我们可以共享我们的服务端的 api 给客户端,并生成相关的代码(这里可以根据实际项目需要,共享 
proto,每个 consumer 自行生成代码,或统一生成 sdk 后给依赖的服务引入)
 客户端目录如下:</p><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span>.
 </span></span><span style=display:flex><span>├── api
 </span></span><span style=display:flex><span>│   ├── api.pb.go
@@ -776,8 +771,7 @@
 </span></span><span style=display:flex><span>│   └── dubbogo.yml
 </span></span><span style=display:flex><span>├── go.mod
 </span></span><span style=display:flex><span>├── go.sum
-</span></span></code></pre></div><p>api目录同服务端的api目录
-client.go 代码如下</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-go data-lang=go><span style=display:flex><span>
+</span></span></code></pre></div><p><code>api</code> 目录同服务端的 <code>api</code> 
目录 <code>client.go</code> 代码如下:</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-go data-lang=go><span style=display:flex><span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>var</span> grpcGeneratorImpl = <span 
style=color:#b58900>new</span>(api.GeneratorClientImpl)
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>func</span> <span style=color:#268bd2>main</span>() {
@@ -796,7 +790,7 @@ client.go 代码如下</p><div class=highlight><pre tabindex=0 
style=color:#93a1
 </span></span><span style=display:flex><span>  }
 </span></span><span style=display:flex><span>  logger.<span 
style=color:#268bd2>Infof</span>(<span style=color:#2aa198>&#34;get id result: 
%v\n&#34;</span>, reply.Id)
 </span></span><span style=display:flex><span>}
-</span></span></code></pre></div><p>dubbogo.yml 如下</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>dubbo</span>:
+</span></span></code></pre></div><p><code>dubbogo.yml</code></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>dubbo</span>:
 </span></span><span style=display:flex><span>  <span 
style=color:#268bd2>registries</span>:
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>nacos</span>:
 </span></span><span style=display:flex><span>      <span 
style=color:#268bd2>protocol</span>: nacos
@@ -806,17 +800,17 @@ client.go 代码如下</p><div class=highlight><pre tabindex=0 
style=color:#93a1
 </span></span><span style=display:flex><span>      <span 
style=color:#268bd2>GeneratorClientImpl</span>:
 </span></span><span style=display:flex><span>        <span 
style=color:#268bd2>protocol</span>: tri
 </span></span><span style=display:flex><span>        <span 
style=color:#268bd2>interface</span>: <span 
style=color:#2aa198>&#34;&#34;</span>
-</span></span></code></pre></div><p>运行client,获取id,如下:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#b58900>export</span> <span 
style=color:#268bd2>DUBBO_GO_CONFIG_PATH</span><span 
style=color:#719e07>=</span>conf/dubbogo.yml
-</span></span><span style=display:flex><span>go run cmd/client.go
-</span></span><span style=display:flex><span>……
+</span></span></code></pre></div><p>运行 client,获取 id:</p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-bash data-lang=bash><span style=display:flex><span><span 
style=color:#b58900>export</span> <span 
style=color:#268bd2>DUBBO_GO_CONFIG_PATH</span><span 
style=color:#719e07>=</span>conf/dubbogo.yml
+</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-fallback data-lang=fallback><span style=display:flex><span>go 
run cmd/client.go
+</span></span></code></pre></div><div class="alert alert-info" role=alert><h4 
class=alert-heading>输出结果</h4><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-shell data-lang=shell><span style=display:flex><span>……
 </span></span><span style=display:flex><span>……
 </span></span><span style=display:flex><span>2022-12-30T20:59:19.971+0800    
INFO    cmd/client.go:44        start to <span style=color:#b58900>test</span> 
dubbo
 </span></span><span style=display:flex><span>2022-12-30T20:59:19.982+0800    
INFO    cmd/client.go:52        get id result: 
aafd9c73-4014-4d67-a67f-5d107105647b
-</span></span></code></pre></div><h2 
id=更多>更多</h2><blockquote><p>可以发现注册中心我们是使用nacos,当然,我们也可以使用其他的注册中心,更多的使用方式,可以参考<a 
href=/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/>注册中心</a></p></blockquote><div
 id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button 
class="btn btn-primary mb-4 feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div></div><div class="alert alert-primary" 
role=alert><h4 class=alert-heading>更多</h4>可以发现注册中心我们是使用 
nacos,当然,我们也可以使用其他的注册中心,更多的使用方式,可以参考 <a 
href=/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/>注册中心</a></div><div
 id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button 
class="btn btn-primary mb-4 feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-start
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e5%ae%8c%e6%88%90%e4%b8%80%e6%ac%a1%e8%87%aa%e5%b7%b1%e5%ae%9a%e4%b9%89%e6%8e%a5%e5%8f%a3%e7%9a%84%e7%89%88%e6%9c%ac%20RPC%20%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></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1实现概述>1.实现概述</a></li><li><a href=#2-服务端实现>2. 服务端实现</a></li><li><a 
href=#2-客户端使用>2. 客户端使用</a></li><li><a 
href=#更多>更多</a></li></ul></nav></div></div></div></div><footer class="bg-dark 
py-5 row d-print-none footer-margin-0"><div class="container-fluid 
mx-sm-5"><div class [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#1-实现概述>1. 实现概述</a></li><li><a href=#2-服务端实现>2. 服务端实现</a></li><li><a 
href=#2-客户端使用>2. 客户端使用</a></li></ul></nav></div></div></div></div><footer 
class="bg-dark py-5 row d-print-none footer-margin-0"><div 
class="container-fluid mx-sm-5"><div class=row><div class="col-6 co [...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.a4534a01940be8c082c4c0e6777b61df9884f202b61c9519352adb6d1039d5aa.js
 integrity="sha256-pFNKAZQL6MCCxMDmd3th35iE8gK2HJUZNSrbbRA51ao=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/index.html 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/index.html
index f60d719fe0..9848afeb6e 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/index.html
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png size [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png size [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-1TFHM5YBH0",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="Dubbo协议"><meta 
property="og:description" content="Dubbo协议"><meta name=twitter:description 
content="Dubbo协议"><meta property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/";><meta
 property="og:title" content="Dubbo协议"><meta name=twitter:ti [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -670,7 +670,7 @@
 <label for=m-zh-cnoverviewreferenceprotocols-check><a 
href=/zh-cn/overview/reference/protocols/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewreferenceprotocols><span>协议规范</span></a></label><ul 
class="ul-3 foldable"><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstriple-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstriple-check>
 <label for=m-zh-cnoverviewreferenceprotocolstriple-check><a 
href=/zh-cn/overview/reference/protocols/triple/ title="Triple 协议设计理念与规范" 
class="align-left pl-0 td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstriple><span>Triple 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolstcp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolstcp-check>
 <label for=m-zh-cnoverviewreferenceprotocolstcp-check><a 
href=/zh-cn/overview/reference/protocols/tcp/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolstcp><span>Dubbo2 
协议规范</span></a></label></li><li class="td-sidebar-nav__section-title 
td-sidebar-nav__section without-child" 
id=m-zh-cnoverviewreferenceprotocolshttp-li><input type=checkbox 
id=m-zh-cnoverviewreferenceprotocolshttp-check>
-<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
+<label for=m-zh-cnoverviewreferenceprotocolshttp-check><a 
href=/zh-cn/overview/reference/protocols/http/ class="align-left pl-0 
td-sidebar-link td-sidebar-link__page" 
id=m-zh-cnoverviewreferenceprotocolshttp><span>HTTP 
协议规范</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></div><main
 class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh-cn/o [...]
 </span></span></code></pre></div><h3 id=设置默认协议>设置默认协议</h3><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:provider</span> protocol=<span 
style=color:#2aa198>&#34;dubbo&#34;</span> <span 
style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><h3 id=设置某个服务的协议>设置某个服务的协议</h3><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;...&#34;</span> protocol=<span 
style=color:#2aa198>&#34;dubbo&#34;</span> <span 
style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><h3 id=多端口>多端口</h3><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:protocol</span> id=<span 
style=color:#2aa198>&#34;dubbo1&#34;</span> name=<span 
style=color:#2aa198>&#34;dubbo&#34;</span> port=<span 
style=color:#2aa198>&#34;20880&#34;</span> <span 
style=color:#268bd2>/&gt;</span>
@@ -680,7 +680,7 @@
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:reference</span> interface=<span 
style=color:#2aa198>&#34;...&#34;</span> connections=<span 
style=color:#2aa198>&#34;1&#34;</span><span style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><ul><li><code>&lt;dubbo:service 
connections="0"></code> 或 <code>&lt;dubbo:reference connections="0"></code> 
表示该服务使用 JVM 共享长连接。<strong>缺省</strong></li><li><code>&lt;dubbo:service 
connections="1"></code> 或 <code>&lt;dubbo:reference connections="1"></code> 
表示该服务使用独立长连接。</li><li><code>&lt;dubbo:service connections="2"></code> 
或<code>&lt;dubbo:reference connections="2"></code> 
表示该服务使用独立两条长连接。</li></ul><p>为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。</p><div 
class=h [...]
 </span></span></code></pre></div><h2 id=常见问题>常见问题</h2><h3 
id=q1>Q1</h3><p>为什么要消费者比提供者个数多?</p><p>因 dubbo 协议采用单一长连接,假设网络为千兆网卡 
<strong>1024Mbit=128MByte</strong>,根据测试经验数据每条连接最多只能压满 
7MByte(不同的环境可能不一样,供参考),理论上 1 个服务提供者需要 20 个服务消费者才能压满网卡。</p><h3 
id=q2>Q2</h3><p>为什么不能传大包?</p><p>因 dubbo 协议采用单一长连接,如果每次请求的数据包大小为 
500KByte,假设网络为千兆网卡 <strong>1024Mbit=128MByte</strong>,每条连接最大 7MByte 
(不同的环境可能不一样),单个服务提供者的 TPS(每秒处理事务数)最大为:128MByte / 500KByte = 262。单个消费者调用单个服务提供者的 
TPS (每秒处理事务数)最大为:7MByte / 500KByte = 14。 [...]
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Dubbo%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></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a></li><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><li><a href=#多连接配置 
[...]
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
index 6dd4e7de08..56212cfce6 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/index.xml
@@ -213,7 +213,7 @@ gRPC 的优势由HTTP2 和 Protobuf 继承而来。&lt;/p>
 &lt;ul>
 &lt;li>参数及返回值需实现 &lt;code>Serializable&lt;/code> 接口&lt;/li>
 &lt;li>参数及返回值不能自定义实现 &lt;code>List&lt;/code>, &lt;code>Map&lt;/code>, 
&lt;code>Number&lt;/code>, &lt;code>Date&lt;/code>, &lt;code>Calendar&lt;/code> 
等接口,只能用 JDK 自带的实现,因为 hessian 会做特殊处理,自定义实现类中的属性值都会丢失。&lt;/li>
-&lt;li>Hessian 
序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况&lt;strong>吴亚军提供&lt;/strong>&lt;/li>
+&lt;li>Hessian 
序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况由&lt;strong>吴亚军提供&lt;/strong>&lt;/li>
 &lt;/ul>
 &lt;table>
 &lt;thead>
@@ -1459,7 +1459,9 @@ return context;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">&amp;lt;version&amp;gt;&lt;/span>1.0.0&lt;span 
style="color:#268bd2">&amp;lt;/version&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;/dependency&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div 
class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-sh" data-lang="sh">&lt;span 
style="display:flex;">&lt;span>java 
-Dsun.rmi.transport.tcp.responseTimeout&lt;span 
style="color:#719e07">=&lt;/span>&lt;span style="color:#2aa198">3000&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>更多 RMI 优化参数请查看 &lt;a 
href="https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html";>JDK
 文档&lt;/a>&lt;/p>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
+&lt;p>更多 RMI 优化参数请查看 &lt;a 
href="https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html";>JDK
 文档&lt;/a>&lt;/p>
+&lt;/blockquote>
 &lt;h3 id="接口说明">接口说明&lt;/h3>
 &lt;p>如果服务接口继承了 &lt;code>java.rmi.Remote&lt;/code> 接口,可以和原生 RMI 互操作,即:&lt;/p>
 &lt;ul>
@@ -1484,21 +1486,21 @@ return context;
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;dubbo:service&lt;/span> interface=&lt;span 
style="color:#2aa198">&amp;#34;...&amp;#34;&lt;/span> protocol=&lt;span 
style="color:#2aa198">&amp;#34;rmi1&amp;#34;&lt;/span> &lt;span 
style="color:#268bd2">/&amp;gt;&lt;/span>
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Spring 
兼容性&lt;/strong>&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-xml" data-lang="xml">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">&amp;lt;dubbo:protocol&lt;/span> name=&lt;span 
style="color:#2aa198">&amp;#34;rmi&amp;#34;&lt;/span> codec=&lt;span 
style="color:#2aa198">&amp;#34;spring&amp;#34;&lt;/span> &lt;span 
style="color:#268bd2">/&amp;gt;&lt;/span>
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
-&lt;ul>
-&lt;li>&lt;strong>如果正在使用 RMI 提供服务给外部访问,&lt;/strong> 公司内网环境应该不会有攻击风险。&lt;/li>
-&lt;/ul>
-&lt;/blockquote>
-&lt;blockquote>
-&lt;ul>
-&lt;li>&lt;strong>同时应用里依赖了老的 common-collections 包的情况下,&lt;/strong> dubbo 
不会依赖这个包,请排查自己的应用有没有使用。&lt;/li>
-&lt;/ul>
-&lt;/blockquote>
-&lt;blockquote>
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;div class="alert alert-primary" role="alert">
+&lt;h4 class="alert-heading">注意&lt;/h4>
 &lt;ul>
-&lt;li>&lt;strong>存在反序列化安全风险。&lt;/strong> 请检查应用:将 commons-collections3 请升级到 
&lt;a 
href="https://commons.apache.org/proper/commons-collections/release_3_2_2.html";>3.2.2&lt;/a>;将
 commons-collections4 请升级到 &lt;a 
href="https://commons.apache.org/proper/commons-collections/release_4_1.html";>4.1&lt;/a>。新版本的
 commons-collections 解决了该问题。&lt;/li>
+&lt;li>
+&lt;p>&lt;strong>如果正在使用 RMI 提供服务给外部访问,&lt;/strong> 公司内网环境应该不会有攻击风险。&lt;/p>
+&lt;/li>
+&lt;li>
+&lt;p>&lt;strong>同时应用里依赖了老的 common-collections 包的情况下,&lt;/strong> dubbo 
不会依赖这个包,请排查自己的应用有没有使用。&lt;/p>
+&lt;/li>
+&lt;li>
+&lt;p>&lt;strong>存在反序列化安全风险。&lt;/strong> 请检查应用:将 commons-collections3 请升级到 
&lt;a 
href="https://commons.apache.org/proper/commons-collections/release_3_2_2.html";>3.2.2&lt;/a>;将
 commons-collections4 请升级到 &lt;a 
href="https://commons.apache.org/proper/commons-collections/release_4_1.html";>4.1&lt;/a>。新版本的
 commons-collections 解决了该问题。&lt;/p>
+&lt;/li>
 &lt;/ul>
-&lt;/blockquote></description></item><item><title>Overview: 
Redis协议</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</guid><description>
+&lt;/div></description></item><item><title>Overview: 
Redis协议</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/redis/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
 &lt;p>基于 Redis 实现的 RPC 协议。 &lt;code>2.3.0&lt;/code> 以上版本支持。&lt;/p>
 &lt;p>&lt;a href="http://redis.io";>Redis&lt;/a> 是一个高效的 KV 存储服务器。&lt;/p>
diff --git 
a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/index.html 
b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/index.html
index 206223956b..5cd843a11e 100644
--- a/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/index.html
+++ b/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png sizes= [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS 
content="INDEX, FOLLOW"><link rel=canonical 
href=https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.114.1"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon 
href=/favicons/apple-touch-icon-180x180.png sizes= [...]
 <script>var 
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function 
gtag(){dataLayer.push(arguments)}gtag("js",new 
Date),gtag("config","G-1TFHM5YBH0",{anonymize_ip:!1})}</script><link 
rel=preload 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 as=style><link 
href=/scss/main.min.827bbd3e83b1e0c66a1c08738c713f88f8068e84600146c2dbf9035f0f496f01.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/a [...]
 <link rel=stylesheet href=https://cdn.jsdelivr.net/npm/@docsearch/css@3><meta 
name=theme-color content="#326ce5"><link rel=stylesheet 
href=/css/feature-states.css><meta name=description content="Rmi协议"><meta 
property="og:description" content="Rmi协议"><meta name=twitter:description 
content="Rmi协议"><meta property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi/";><meta
 property="og:title" content="Rmi协议"><meta name=twitter:title conten [...]
 <link href=/css/community.css rel=stylesheet><link href=/css/contactus.css 
rel=stylesheet><link href=/css/language.css rel=stylesheet><script 
src=/js/script.js></script></head><body class="td-page 
td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a 
class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span 
class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class=" 
[...]
@@ -676,7 +676,7 @@
 </span></span><span style=display:flex><span>    <span 
style=color:#268bd2>&lt;version&gt;</span>1.0.0<span 
style=color:#268bd2>&lt;/version&gt;</span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>&lt;/dependency&gt;</span>
 </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>java 
-Dsun.rmi.transport.tcp.responseTimeout<span style=color:#719e07>=</span><span 
style=color:#2aa198>3000</span>
-</span></span></code></pre></div><p>更多 RMI 优化参数请查看 <a 
href=https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html>JDK
 文档</a></p><h3 id=接口说明>接口说明</h3><p>如果服务接口继承了 <code>java.rmi.Remote</code> 
接口,可以和原生 RMI 互操作,即:</p><ul><li>提供者用 Dubbo 的 RMI 协议暴露服务,消费者直接用标准 RMI 
接口调用,</li><li>或者提供方用标准 RMI 暴露服务,消费方用 Dubbo 的 RMI 协议调用。</li></ul><p>如果服务接口没有继承 
<code>java.rmi.Remote</code> 接口:</p><ul><li>缺省 Dubbo 将自动生成一个 
<code>com.xxx.XxxService$Remote</code> 的接口,并继承 <code>java.rmi.Remote [...]
+</span></span></code></pre></div><blockquote><p>更多 RMI 优化参数请查看 <a 
href=https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html>JDK
 文档</a></p></blockquote><h3 id=接口说明>接口说明</h3><p>如果服务接口继承了 
<code>java.rmi.Remote</code> 接口,可以和原生 RMI 互操作,即:</p><ul><li>提供者用 Dubbo 的 RMI 
协议暴露服务,消费者直接用标准 RMI 接口调用,</li><li>或者提供方用标准 RMI 暴露服务,消费方用 Dubbo 的 RMI 
协议调用。</li></ul><p>如果服务接口没有继承 <code>java.rmi.Remote</code> 接口:</p><ul><li>缺省 
Dubbo 将自动生成一个 <code>com.xxx.XxxService$Remote</code> 的接口, [...]
 </span></span></code></pre></div><p><strong>设置默认协议</strong></p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:provider</span> protocol=<span 
style=color:#2aa198>&#34;rmi&#34;</span> <span style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><p><strong>设置某个服务的协议</strong></p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:service</span> interface=<span 
style=color:#2aa198>&#34;...&#34;</span> protocol=<span 
style=color:#2aa198>&#34;rmi&#34;</span> <span style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><p><strong>多端口</strong></p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:protocol</span> id=<span 
style=color:#2aa198>&#34;rmi1&#34;</span> name=<span 
style=color:#2aa198>&#34;rmi&#34;</span> port=<span 
style=color:#2aa198>&#34;1099&#34;</span> <span style=color:#268bd2>/&gt;</span>
@@ -684,8 +684,8 @@
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:service</span> interface=<span 
style=color:#2aa198>&#34;...&#34;</span> protocol=<span 
style=color:#2aa198>&#34;rmi1&#34;</span> <span style=color:#268bd2>/&gt;</span>
 </span></span></code></pre></div><p><strong>Spring 兼容性</strong></p><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-xml data-lang=xml><span style=display:flex><span><span 
style=color:#268bd2>&lt;dubbo:protocol</span> name=<span 
style=color:#2aa198>&#34;rmi&#34;</span> codec=<span 
style=color:#2aa198>&#34;spring&#34;</span> <span 
style=color:#268bd2>/&gt;</span>
-</span></span></code></pre></div><blockquote><ul><li><strong>如果正在使用 RMI 
提供服务给外部访问,</strong> 
公司内网环境应该不会有攻击风险。</li></ul></blockquote><blockquote><ul><li><strong>同时应用里依赖了老的 
common-collections 包的情况下,</strong> dubbo 
不会依赖这个包,请排查自己的应用有没有使用。</li></ul></blockquote><blockquote><ul><li><strong>存在反序列化安全风险。</strong>
 请检查应用:将 commons-collections3 请升级到 <a 
href=https://commons.apache.org/proper/commons-collections/release_3_2_2.html>3.2.2</a>;将
 commons-collections4 请升级到 <a href=https://commons.apache.org [...]
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><div class="alert alert-primary" 
role=alert><h4 class=alert-heading>注意</h4><ul><li><p><strong>如果正在使用 RMI 
提供服务给外部访问,</strong> 公司内网环境应该不会有攻击风险。</p></li><li><p><strong>同时应用里依赖了老的 
common-collections 包的情况下,</strong> dubbo 
不会依赖这个包,请排查自己的应用有没有使用。</p></li><li><p><strong>存在反序列化安全风险。</strong> 请检查应用:将 
commons-collections3 请升级到 <a 
href=https://commons.apache.org/proper/commons-collections/release_3_2_2.html>3.2.2</a>;将
 commons-collections4 请升级到 <a href=https://common [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rmi.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+E
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=Rmi%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></main><div class="d-none d-xl-block 
col-xl-2 td-toc d-print-none"><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a><ul><li></li></ul></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a><ul><li><a href=#引入依赖>引入依赖</a></li><li><a 
href=#接口说明>接口说明</a></li></ul></li></ul></nav></div></div></div></div><footer 
class="bg-dark py-5 row d-print-none footer-margin-0"><d [...]
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 385c0e2a45..a671a8484b 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://dubbo.apache.org/zh-cn/overview/mannual/jav
 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-02-22T15:03:22+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://dubbo.apache.org/zh-cn/overview/mannual/jav
 [...]
\ No newline at end of file


Reply via email to