此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅最新版本。
建议使用最新版 go 1.17
go version >= go 1.15
将 $GOPATH/bin 加入环境变量
本章 quick start 按照最新版示例和组件进行介绍。
依赖 | Dubbo-go | Triple | protoc-gen-go-triple |
---|---|---|---|
适配版本号 | v3.0.0-rc4-1 | v1.1.3 | v1.0.2 |
适配版本号 | v3.0.0-rc3 | v1.0.9 | v1.0.0 |
确保上述protoc 和安装的 protoc-gen-go-triple 位于$(GOPATH)/bin, 在系统环境变量内
选择您喜欢的方式启动zk,如您安装docker-compose可直接从文件启动:
zookeeper.yml:
参数意义:--go_out=.
使用上述安装的 protoc-gen-go
插件,生成文件到当前目录,--go-triple_out=.
使用上述安装的 protoc-gen-go-triple
插件,生成文件到当前目录。
执行该指令后,会生成两个文件,分别是helloworld.pb (包含 proto 结构) 和 helloworld_triple.pb.go (包含 triple 协议接口)。
代码生成和使用方式与 grpc 类似。
建立如下文件目录:
client.go文件:
server.go文件:
quickstart 目录下,执行 go mod init dubbo3-demo
如果弹出 go mod detected 弹窗,需要勾选 Enable Go modules integration ,设置GOPROXY,保证 Goland 可以正确拉取到依赖,方便开发。
命令行执行 export GOPROXY="https://goproxy.cn"
设置PROXY
执行go mod tidy
您可以看到最新的框架依赖
最终文件目录:
先后启动服务端和客户端(在 server 和 client 文件夹下分别执行 go run .
) , 可在客户端看到输出:
获得调用结果成功
细心的读者可以发现,以上例子编写的的服务端可以接受来自客户端的普通RPC、流式RPC调用请求。目前只编写了普通调用的Client,读者可以根据samples库中的例子来尝试编写流式客户端发起调用。