너 바보 아니야

go-zero的安装及使用

2021-09-08

go-zero的安装及使用

ico原来的样子

一、linux 安装Go

  • 下载[ Go for Linux ]

  • 解压压缩包至/usr/local

    $ tar -C /usr/local -xzf go1.15.8.linux-amd64.tar.gz

  • 添加/usr/local/go/bin到环境变量

    $ $HOME/.profile
    export PATH=$PATH:/usr/local/go/bin
    $ source $HOME/.profile

  • 验证安装结果

    $ go version
    go version go1.15.1 linux/amd64

二、Go Module

  • 查看GO111MODULE开启情况

    $ go env GO111MODULE

  • 开启GO111MODULE,如果已开启(即执行go env GO111MODULE结果为on)请跳过

    $ go env -w GO111MODULE=”on”

  • 设置GOPROXY

    $ go env -w GOPROXY=https://goproxy.cn

  • 设置GOMODCACHE

    $ go env GOMODCACHE
    如果目录不为空或者/dev/null,请跳过。
    go env -w GOMODCACHE=$GOPATH/pkg/mod

三、Goctl安装

  • 安装及下载

    GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/go-zero/tools/goctl

  • 安装结果验证

    $ goctl -v

  • protoc & protoc-gen-go安装

1.protoc

  • 进入[ protobuf release ] 页面,选择适合自己操作系统的压缩包文件

  • 解压protoc-3.14.0-osx-x86_64.zip并进入protoc-3.14.0-osx-x86_64

    $ cd protoc-3.14.0-osx-x86_64/bin

  • 将启动的protoc二进制文件移动到被添加到环境变量的任意path下,如$GOPATH/bin,这里不建议直接将其和系统的以下path放在一起

    $ mv protoc $GOPATH/bin

  • 验证安装结果

    $ protoc –version

2.protoc-gen-go

  • 下载安装protoc-gen-go

    $ go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.2
    go: found github.com/golang/protobuf/protoc-gen-go in github.com/golang/protobuf v1.4.3
    go: google.golang.org/protobuf upgrade => v1.25.0

3.etcd安装 (ZooKeeper区别)

  • 高一致性 发现服务 配置共享
  • 后续 使用kq异步队列包 go-queue会接触到(主要是kafka[zookeeper]异步推送消息)

四、使用goctl(go control)创建服务

  • 快速创建服务

    goctl api new greet

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    .
    ├── etc
    │ └── greet-api.yaml
    ├── greet.api
    ├── greet.go
    └── internal
    ├── config
    │ └── config.go
    ├── handler
    │ ├── greethandler.go
    │ └── routes.go
    ├── logic
    │ └── greetlogic.go
    ├── svc
    │ └── servicecontext.go
    └── types
    └── types.go
  • api 网关层

    goctl api -o blog.api

  • rpc 服务

    goctl rpc template -o user.proto
    goctl rpc proto -src user.proto -dir .

使用支付宝打赏
使用微信打赏

欢迎点击上方按钮对我打赏,谢谢你给我吃糖果