| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 开发服务</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/</link><description>Recent content in 开发服务 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 应用模板</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/template/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/template/</guid><description> |
| <h2 id="1-准备工作">1. 准备工作</h2> |
| <ul> |
| <li>dubbo-go cli 工具和依赖工具已安装</li> |
| </ul> |
| <h2 id="2-使用-dubbogo-cli-创建项目模板">2. 使用 dubbogo-cli 创建项目模板</h2> |
| <p>运行 <code>dubbogo-cli newApp .</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-plain" data-lang="plain"><span style="display:flex;"><span>$ mkdir cli-create-server |
| </span></span><span style="display:flex;"><span>$ cd cli-create-server |
| </span></span><span style="display:flex;"><span>$ dubbogo-cli newApp . |
| </span></span><span style="display:flex;"><span>$ tree . |
| </span></span><span style="display:flex;"><span>. |
| </span></span><span style="display:flex;"><span>├── Makefile |
| </span></span><span style="display:flex;"><span>├── api |
| </span></span><span style="display:flex;"><span>│ └── api.proto |
| </span></span><span style="display:flex;"><span>├── build |
| </span></span><span style="display:flex;"><span>│ └── Dockerfile |
| </span></span><span style="display:flex;"><span>├── chart |
| </span></span><span style="display:flex;"><span>│ ├── app |
| </span></span><span style="display:flex;"><span>│ │ ├── Chart.yaml |
| </span></span><span style="display:flex;"><span>│ │ ├── templates |
| </span></span><span style="display:flex;"><span>│ │ │ ├── _helpers.tpl |
| </span></span><span style="display:flex;"><span>│ │ │ ├── deployment.yaml |
| </span></span><span style="display:flex;"><span>│ │ │ ├── service.yaml |
| </span></span><span style="display:flex;"><span>│ │ │ └── serviceaccount.yaml |
| </span></span><span style="display:flex;"><span>│ │ └── values.yaml |
| </span></span><span style="display:flex;"><span>│ └── nacos_env |
| </span></span><span style="display:flex;"><span>│ ├── Chart.yaml |
| </span></span><span style="display:flex;"><span>│ ├── templates |
| </span></span><span style="display:flex;"><span>│ │ ├── _helpers.tpl |
| </span></span><span style="display:flex;"><span>│ │ ├── deployment.yaml |
| </span></span><span style="display:flex;"><span>│ │ └── service.yaml |
| </span></span><span style="display:flex;"><span>│ └── values.yaml |
| </span></span><span style="display:flex;"><span>├── cmd |
| </span></span><span style="display:flex;"><span>│ └── app.go |
| </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><span style="display:flex;"><span>├── go.sum |
| </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>生成项目包括几个目录:</p> |
| <ul> |
| <li> |
| <p>api:放置接口文件:proto文件和生成的pb.go文件</p> |
| </li> |
| <li> |
| <p>build:放置构建相关文件</p> |
| </li> |
| <li> |
| <p>chart:放置发布用 chart 包、基础环境 chart 包:nacos、mesh(开发中)</p> |
| </li> |
| <li> |
| <p>cmd:程序入口</p> |
| </li> |
| <li> |
| <p>conf:框架配置</p> |
| </li> |
| <li> |
| <p>pkg/service:RPC 服务实现</p> |
| </li> |
| <li> |
| <p>Makefile:</p> |
| <ul> |
| <li> |
| <p>镜像、应用名:</p> |
| <ul> |
| <li> |
| <p>IMAGE = $(your_repo)/$(namespace)/$(image_name) |
| TAG = 1.0.0</p> |
| </li> |
| <li> |
| <p>APPNAME = dubbo-go-app # 用于 helm 发布,对应 chart 名、应用名和服务名(service名)</p> |
| </li> |
| </ul> |
| </li> |
| <li> |
| <p>提供脚本,例如:</p> |
| <ul> |
| <li> |
| <p>make build # 打包镜像并推送</p> |
| </li> |
| <li> |
| <p>make buildx-publish # arm 架构本地打包amd64镜像并推送,依赖 docker buildx</p> |
| </li> |
| <li> |
| <p>make deploy # 通过 helm 发布应用</p> |
| </li> |
| <li> |
| <p>make remove # 删除已经发布的 helm 应用</p> |
| </li> |
| <li> |
| <p>make proto-gen # api/ 下生成 pb.go 文件</p> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul></description></item><item><title>Overview: 注册中心</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/registry/</guid><description/></item><item><title>Overview: 协议配置</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/protocol/</guid><description/></item><item><title>Overview: 异构体系互通</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/interflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/interflow/</guid><description/></item><item><title>Overview: 配置中心</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/config-center/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/config-center/</guid><description/></item><item><title>Overview: 高级特性</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/golang-sdk/tutorial/develop/features/</guid><description/></item></channel></rss> |