This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch cn-site
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/cn-site by this push:
new 1839ef3de55 deploy: 907f477a0b290eebf3024c64332a6274d0aaf8b5
1839ef3de55 is described below
commit 1839ef3de5529a9f7a3126e27fec0ab72305705c
Author: AlbumenJ <[email protected]>
AuthorDate: Sun Oct 8 02:13:05 2023 +0000
deploy: 907f477a0b290eebf3024c64332a6274d0aaf8b5
---
sitemap.xml | 2 +-
.../mannual/golang-sdk/quickstart/index.xml | 28 ++++++++--------
.../quickstart/quickstart_triple/index.html | 27 ++++++++--------
zh-cn/overview/quickstart/go/index.xml | 37 +++++++++++++---------
.../quickstart/go/quickstart_triple/index.html | 29 +++++++++--------
zh-cn/sitemap.xml | 2 +-
6 files changed, 67 insertions(+), 58 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 700b2de0c6b..778d71c8ec4 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://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-10-07T17:50:35+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-10-06T23:23:45-03: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://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2023-10-08T10:06:27+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-10-06T23:23:45-03: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 55913d08ac7..e4806e0dceb 100644
--- a/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml
+++ b/zh-cn/overview/mannual/golang-sdk/quickstart/index.xml
@@ -51,8 +51,7 @@
</span></span><span style="display:flex;"><span>│ └──
dubbogo.yaml
</span></span><span style="display:flex;"><span>└── go.mod
</span></span></code></pre></div><p>可看到生成的项目中包含一个 client
项目和一个 server 项目,以及相关的配置文件。</p>
-<h3 id="11-查看接口描述文件">1.1 查看接口描述文件</h3>
-<p><code>helloworld.proto</code></p>
+<h3 id="11-查看接口描述文件-sample_apiproto">1.1 查看接口描述文件 sample_api.proto</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-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>
@@ -77,27 +76,28 @@
</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>
+</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>
+</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>执行该指令后,会生成两个文件,分别是 sample_api.pb (包含 proto 结构) 和 sample_api_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-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-fallback" data-lang="fallback"><span
style="display:flex;"><span>$ go mod tidy
-</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>$ go mod tidy
+</span></span></code></pre></div><p>拉取到最新的框架依赖(其中 Go SDK 版本和
module 名以个人机器配置为准):</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>
+</span></span><span style="display:flex;"><span><span
style="color:#719e07">go</span> <span
style="color:#2aa198">1.21.1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">require</span> (
-</span></span><span style="display:flex;"><span>
dubbo.apache.org<span style="color:#719e07">/</span>dubbo<span
style="color:#719e07">-</span><span
style="color:#719e07">go</span><span style="color:#719e07">/</span>v3
v3<span style="color:#2aa198">.0.1</span>
-</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>grpc<span
style="color:#719e07">-</span><span style="color:#719e07">go</span>
v1<span style="color:#2aa198">.42.9</span>
-</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>triple v1<span
style="color:#2aa198">.1.8</span>
-</span></span><span style="display:flex;"><span>
google.golang.org<span style="color:#719e07">/</span>protobuf v1<span
style="color:#2aa198">.27.1</span>
+</span></span><span style="display:flex;"><span>
dubbo.apache.org<span style="color:#719e07">/</span>dubbo<span
style="color:#719e07">-</span><span
style="color:#719e07">go</span><span style="color:#719e07">/</span>v3
v3<span style="color:#2aa198">.1.0</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>gost v1<span
style="color:#2aa198">.14.0</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>grpc<span
style="color:#719e07">-</span><span style="color:#719e07">go</span>
v1<span style="color:#2aa198">.42.10</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>triple v1<span
style="color:#2aa198">.2.2</span><span
style="color:#719e07">-</span>rc3
+</span></span><span style="display:flex;"><span>
google.golang.org<span style="color:#719e07">/</span>protobuf v1<span
style="color:#2aa198">.31.0</span>
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">require</span> (
@@ -108,11 +108,11 @@
<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;Hello laurence&#34;</span> id:<span
style="color:#2aa198">&#34;12345&#34;</span> age:21
-</span></span></code></pre></div><p>获得调用结果成功。</p>
+</span></span></code></pre></div><p>调用成功。</p>
</div>
<div class="alert alert-primary" role="alert">
<h4 class="alert-heading">更多</h4>
-细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据
samples 库中的例子来尝试编写流式客户端和服务端。
+细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通 RPC、流式 RPC 调用请求。目前只编写了普通调用的 Client,读者可以根据
samples 库中的例子来尝试编写流式客户端和服务端应用。
</div></description></item><item><title>Overview: 完成一次自己定义接口的版本 RPC
调用</title><link>https://cn.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://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple_with_customize/</guid><description>
<h2 id="1-实现概述">1. 实现概述</h2>
<p>我们本章来实现一个简单的小需求,实现一个分布式ID生成服务,通过该服务可以获取分布式ID
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 a3d098cc0d2..b590d6e9d39 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://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/><script>var
_hmt=_hmt||[];(function(){var
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
charset=utf-8><meta name=viewport content= [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/><script>var
_hmt=_hmt||[];(function(){var
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
charset=utf-8><meta name=viewport content= [...]
<script>var
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function
gtag(){dataLayer.push(arguments)}gtag("js",new
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link
rel=preload
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
as=style><link
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.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://cn.dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/quickstart/quickstart_triple/"><meta
property="og:title" content="完成一次 RPC 调用"><me [...]
<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="
[...]
@@ -693,7 +693,7 @@
</span></span><span style=display:flex><span>│ └── conf
</span></span><span style=display:flex><span>│ └── dubbogo.yaml
</span></span><span style=display:flex><span>└── go.mod
-</span></span></code></pre></div><p>可看到生成的项目中包含一个 client 项目和一个 server
项目,以及相关的配置文件。</p><h3 id=11-查看接口描述文件>1.1
查看接口描述文件</h3><p><code>helloworld.proto</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-protobuf data-lang=protobuf><span
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span
style=color:#2aa198>"proto3"</span>;
+</span></span></code></pre></div><p>可看到生成的项目中包含一个 client 项目和一个 server
项目,以及相关的配置文件。</p><h3 id=11-查看接口描述文件-sample_apiproto>1.1 查看接口描述文件
sample_api.proto</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-protobuf data-lang=protobuf><span
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span
style=color:#2aa198>"proto3"</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>"./;api"</span>;
@@ -717,29 +717,30 @@
</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-编译接口-可选>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></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;- [...]
-</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></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>执行该指令后,会生成两个文件,分别是
sample_api.pb (包含 proto 结构) 和 sample_api_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>拉取到最新的框架依赖(其中 Go SDK 版本和 module
名以个人机器配置为准):</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>
+</span></span><span style=display:flex><span><span
style=color:#719e07>go</span> <span style=color:#2aa198>1.21.1</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>require</span> (
-</span></span><span style=display:flex><span> dubbo.apache.org<span
style=color:#719e07>/</span>dubbo<span style=color:#719e07>-</span><span
style=color:#719e07>go</span><span style=color:#719e07>/</span>v3 v3<span
style=color:#2aa198>.0.1</span>
-</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>grpc<span
style=color:#719e07>-</span><span style=color:#719e07>go</span> v1<span
style=color:#2aa198>.42.9</span>
-</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>triple
v1<span style=color:#2aa198>.1.8</span>
-</span></span><span style=display:flex><span> google.golang.org<span
style=color:#719e07>/</span>protobuf v1<span style=color:#2aa198>.27.1</span>
+</span></span><span style=display:flex><span> dubbo.apache.org<span
style=color:#719e07>/</span>dubbo<span style=color:#719e07>-</span><span
style=color:#719e07>go</span><span style=color:#719e07>/</span>v3 v3<span
style=color:#2aa198>.1.0</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>gost
v1<span style=color:#2aa198>.14.0</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>grpc<span
style=color:#719e07>-</span><span style=color:#719e07>go</span> v1<span
style=color:#2aa198>.42.10</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>triple
v1<span style=color:#2aa198>.2.2</span><span style=color:#719e07>-</span>rc3
+</span></span><span style=display:flex><span> google.golang.org<span
style=color:#719e07>/</span>protobuf v1<span style=color:#2aa198>.31.0</span>
</span></span><span style=display:flex><span>)
</span></span><span style=display:flex><span>
</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><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>" [...]
-</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
[...]
+</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&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><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 footer-margin-0"><div class="container-fluid mx-sm-5"><div
class=row> [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a
href=#1-生成-demo-项目>1. 生成 Demo 项目</a><ul><li><a
href=#11-查看接口描述文件-sample_apiproto>1.1 查看接口描述文件 sample_api.proto</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 footer-margin-0"><div class="contain [...]
<script src=/js/bootstrap.min.js
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
crossorigin=anonymous></script>
<script
src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js
integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug="
crossorigin=anonymous></script>
<script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh-cn/overview/quickstart/go/index.xml
b/zh-cn/overview/quickstart/go/index.xml
index ff56ac5d007..edcfa0066fb 100644
--- a/zh-cn/overview/quickstart/go/index.xml
+++ b/zh-cn/overview/quickstart/go/index.xml
@@ -24,7 +24,7 @@
</span></span><span
style="display:flex;"><span>protoc-gen-go-triple 1.0.8
</span></span></code></pre></div></description></item><item><title>Overview:
完成一次 RPC
调用</title><link>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple/</guid><description>
<h2 id="1-生成-demo-项目">1. 生成 Demo 项目</h2>
-<p>使用安装好的 dubbogo-cli 工具,创建demo工程。</p>
+<p>使用安装好的 dubbogo-cli 工具,创建 demo 工程。</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>$ mkdir quickstart
</span></span><span style="display:flex;"><span>$ <span
style="color:#b58900">cd</span> quickstart
</span></span><span style="display:flex;"><span>$ dubbogo-cli
newDemo .
@@ -46,7 +46,7 @@
</span></span><span style="display:flex;"><span>│ └──
dubbogo.yaml
</span></span><span style="display:flex;"><span>└── go.mod
</span></span></code></pre></div><p>可看到生成的项目中包含一个 client
项目和一个 server 项目,以及相关的配置文件。</p>
-<h3 id="11-查看接口描述文件-helloworldproto">1.1 查看接口描述文件 helloworld.proto</h3>
+<h3 id="11-查看接口描述文件-sample_apiproto">1.1 查看接口描述文件 sample_api.proto</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-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>
@@ -75,32 +75,39 @@
<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><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>
+</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>执行该指令后,会生成两个文件,分别是 sample_api.pb (包含 proto 结构) 和 sample_api_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-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-fallback" data-lang="fallback"><span
style="display:flex;"><span>$ go mod tidy
-</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>$ go mod tidy
+</span></span></code></pre></div><p>拉取到最新的框架依赖(其中 Go SDK 版本和
module 名以个人机器配置为准):</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>
+</span></span><span style="display:flex;"><span><span
style="color:#719e07">go</span> <span
style="color:#2aa198">1.21.1</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span
style="color:#268bd2">require</span> (
-</span></span><span style="display:flex;"><span>
dubbo.apache.org<span style="color:#719e07">/</span>dubbo<span
style="color:#719e07">-</span><span
style="color:#719e07">go</span><span style="color:#719e07">/</span>v3
v3<span style="color:#2aa198">.0.1</span>
-</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>grpc<span
style="color:#719e07">-</span><span style="color:#719e07">go</span>
v1<span style="color:#2aa198">.42.9</span>
-</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>triple v1<span
style="color:#2aa198">.1.8</span>
-</span></span><span style="display:flex;"><span>
google.golang.org<span style="color:#719e07">/</span>protobuf v1<span
style="color:#2aa198">.27.1</span>
+</span></span><span style="display:flex;"><span>
dubbo.apache.org<span style="color:#719e07">/</span>dubbo<span
style="color:#719e07">-</span><span
style="color:#719e07">go</span><span style="color:#719e07">/</span>v3
v3<span style="color:#2aa198">.1.0</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>gost v1<span
style="color:#2aa198">.14.0</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>grpc<span
style="color:#719e07">-</span><span style="color:#719e07">go</span>
v1<span style="color:#2aa198">.42.10</span>
+</span></span><span style="display:flex;"><span>
github.com<span style="color:#719e07">/</span>dubbogo<span
style="color:#719e07">/</span>triple v1<span
style="color:#2aa198">.2.2</span><span
style="color:#719e07">-</span>rc3
+</span></span><span style="display:flex;"><span>
google.golang.org<span style="color:#719e07">/</span>protobuf v1<span
style="color:#2aa198">.31.0</span>
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>
</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>
+</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;Hello laurence&#34;</span> id:<span
style="color:#2aa198">&#34;12345&#34;</span> age:21
-</span></span></code></pre></div><p>获得调用结果成功</p>
-<h2 id="3-更多">3. 更多</h2>
-<p>细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据
samples 库中的例子来尝试编写流式客户端和服务端。</p></description></item><item><title>Overview:
完成一次自己定义接口的 RPC
调用</title><link>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple_with_customize/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple_with_customize/</guid><description>
+</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></description></item><item><title>Overview: 完成一次自己定义接口的 RPC
调用</title><link>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple_with_customize/</link><pubDate>Mon,
01 Jan 0001 00:00:00
+0000</pubDate><guid>https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple_with_customize/</guid><description>
<h2 id="1概述">1.概述</h2>
<p>我们本章来实现一个简单的小需求,实现一个分布式ID生成服务,通过该服务可以获取分布式ID
(假设的分布式ID,我们不探讨ID的生成方案和算法,这里直接使用uuid代替,只为演示自定义服务的创建)</p>
diff --git a/zh-cn/overview/quickstart/go/quickstart_triple/index.html
b/zh-cn/overview/quickstart/go/quickstart_triple/index.html
index e621b8e1518..f1a08639198 100644
--- a/zh-cn/overview/quickstart/go/quickstart_triple/index.html
+++ b/zh-cn/overview/quickstart/go/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://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple/><script>var
_hmt=_hmt||[];(function(){var
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
charset=utf-8><meta name=viewport content="width=device-wi [...]
+<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple/><script>var
_hmt=_hmt||[];(function(){var
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
charset=utf-8><meta name=viewport content="width=device-wi [...]
<script>var
doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function
gtag(){dataLayer.push(arguments)}gtag("js",new
Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link
rel=preload
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.css
as=style><link
href=/scss/main.min.fe7176cbe3102a33d3e8c0c9cec61eb52508abd24a2cc1ae23ccf535a481ffde.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="2 - 完成一次 RPC
调用"><meta property="og:description" content="2 - 完成一次 RPC 调用"><meta
name=twitter:description content="2 - 完成一次 RPC 调用"><meta property="og:url"
content="https://cn.dubbo.apache.org/zh-cn/overview/quickstart/go/quickstart_triple/"><meta
property="og:title" content="完成一次 RPC 调用"><meta n [...]
<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="
[...]
@@ -674,7 +674,7 @@
<label for=m-zh-cnoverviewreferenceprotocolstriple-spec-check><a
href=/zh-cn/overview/reference/protocols/triple-spec/ title="Triple 协议设计理念与规范"
class="align-left pl-0 td-sidebar-link td-sidebar-link__page"
id=m-zh-cnoverviewreferenceprotocolstriple-spec><span>Triple
协议规范</span></a></label></li><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/ 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://cn.dubbo.apache.org/zh-c [...]
+<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://cn.dubbo.apache.org/zh-c [...]
</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 .
@@ -694,7 +694,7 @@
</span></span><span style=display:flex><span>│ └── conf
</span></span><span style=display:flex><span>│ └── dubbogo.yaml
</span></span><span style=display:flex><span>└── go.mod
-</span></span></code></pre></div><p>可看到生成的项目中包含一个 client 项目和一个 server
项目,以及相关的配置文件。</p><h3 id=11-查看接口描述文件-helloworldproto>1.1 查看接口描述文件
helloworld.proto</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-protobuf data-lang=protobuf><span
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span
style=color:#2aa198>"proto3"</span>;
+</span></span></code></pre></div><p>可看到生成的项目中包含一个 client 项目和一个 server
项目,以及相关的配置文件。</p><h3 id=11-查看接口描述文件-sample_apiproto>1.1 查看接口描述文件
sample_api.proto</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-protobuf data-lang=protobuf><span
style=display:flex><span>syntax <span style=color:#719e07>=</span> <span
style=color:#2aa198>"proto3"</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>"./;api"</span>;
@@ -720,27 +720,28 @@
</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><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>拉取到最新的框架依赖:</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></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>执行该指令后,会生成两个文件,分别是
sample_api.pb (包含 proto 结构) 和 sample_api_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;-mo [...]
+</span></span></code></pre></div><p>拉取到最新的框架依赖(其中 Go SDK 版本和 module
名以个人机器配置为准):</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>
+</span></span><span style=display:flex><span><span
style=color:#719e07>go</span> <span style=color:#2aa198>1.21.1</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span
style=color:#268bd2>require</span> (
-</span></span><span style=display:flex><span> dubbo.apache.org<span
style=color:#719e07>/</span>dubbo<span style=color:#719e07>-</span><span
style=color:#719e07>go</span><span style=color:#719e07>/</span>v3 v3<span
style=color:#2aa198>.0.1</span>
-</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>grpc<span
style=color:#719e07>-</span><span style=color:#719e07>go</span> v1<span
style=color:#2aa198>.42.9</span>
-</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>triple
v1<span style=color:#2aa198>.1.8</span>
-</span></span><span style=display:flex><span> google.golang.org<span
style=color:#719e07>/</span>protobuf v1<span style=color:#2aa198>.27.1</span>
+</span></span><span style=display:flex><span> dubbo.apache.org<span
style=color:#719e07>/</span>dubbo<span style=color:#719e07>-</span><span
style=color:#719e07>go</span><span style=color:#719e07>/</span>v3 v3<span
style=color:#2aa198>.1.0</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>gost
v1<span style=color:#2aa198>.14.0</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>grpc<span
style=color:#719e07>-</span><span style=color:#719e07>go</span> v1<span
style=color:#2aa198>.42.10</span>
+</span></span><span style=display:flex><span> github.com<span
style=color:#719e07>/</span>dubbogo<span style=color:#719e07>/</span>triple
v1<span style=color:#2aa198>.2.2</span><span style=color:#719e07>-</span>rc3
+</span></span><span style=display:flex><span> google.golang.org<span
style=color:#719e07>/</span>protobuf v1<span style=color:#2aa198>.31.0</span>
</span></span><span style=display:flex><span>)
</span></span><span style=display:flex><span>
</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>"Hello laurence"</span>
id:<span style=color:#2aa198>"12345"</span> age:21
-</span></span></code></pre></div><p>获得调用结果成功</p><h2 id=3-更多>3.
更多</h2><p>细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据
samples 库中的例子来尝试编写流式客户端和服务端。</p><div id=pre-footer><h2>反馈</h2><p
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4
feedback--yes">是</button>
-<button class="btn btn-primary mb-4
feedback--no">否</button></div><script>const
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
[...]
+</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>" [...]
+</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/quickstart/go/quickstart_triple.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22fron
[...]
<a
href="https://github.com/apache/dubbo-website/issues/new?title=%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><nav id=TableOfContents><ul><li><a
href=#1-生成-demo-项目>1. 生成 Demo 项目</a><ul><li><a
href=#11-查看接口描述文件-helloworldproto>1.1 查看接口描述文件 helloworld.proto</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=#3-更多>3. 更多</a></li></ul></nav></div></div></div></div><footer
class="bg-dark p [...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a
href=#1-生成-demo-项目>1. 生成 Demo 项目</a><ul><li><a
href=#11-查看接口描述文件-sample_apiproto>1.1 查看接口描述文件 sample_api.proto</a></li><li><a
href=#12-可选-使用安装好的编译工具编译-pb-接口>1.2 (*可选) 使用安装好的编译工具编译 pb
接口</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 footer-marg [...]
<script src=/js/bootstrap.min.js
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
crossorigin=anonymous></script>
<script
src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js
integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug="
crossorigin=anonymous></script>
<script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 730b980badf..042467ad1bf 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://cn.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://cn.dubbo.apache.org/zh-cn/overview/mannu
[...]
\ 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://cn.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://cn.dubbo.apache.org/zh-cn/overview/mannu
[...]
\ No newline at end of file