Go Micro 安装

使用 Go Micro 需要安装 proto 编译工具、micro 命令工具以及依赖包。

本文的 Go语言 使用了 1.13 版本,如果使用更高的 Go 语言版本,那么生成的框架代码会略有不同。

Go 语言安装可以参考 Go语言开发环境安装

 

1. 安装 protobuf 依赖包

go get github.com/golang/protobuf/proto

开发 grpc 服务和生成 proto 编译器的必须的依赖包。

2. 安装 protoc-gen-go

go get github.com/golang/protobuf/protoc-gen-go

生成的 protoc-gen-go 程序用于将 proto 文件编译为 go 语言程序。

3. 安装 protoc-gen-micro

go get github.com/micro/protoc-gen-micro

生成的 protoc-gen-micro 程序用于将 proto 文件编译为 go micro 使用的 go 语言代码。

4. 安装 micro

go get github.com/micro/micro

生成的 micro 程序是 go micro 的命令行工具 。

5. 安装 protoc

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.0.2/protoc-3.0.2-linux-x86_64.zip
tar zxvf protoc-3.0.2-linux-x86_64.zip

将解压后 bin 目录的 portoc 移动到 $GOPATH/bin 目录里,protoc 是 google protobuffer 标准的 proto 文件编译器。

经过以上步骤,在 $GOPATH/bin 目录里会产生以下文件:

micro  
protoc
protoc-gen-go
protoc-gen-micro

6. 生成 Go Micro 项目

生成一个 grpc 服务 hello,运行以下命令:

micro new hello

进入项目目录 hello,目录结构如下:

.
├── main.go
├── generate.go
├── plugin.go
├── handler
│   └── hello.go
├── subscriber
│   └── hello.go
├── proto/hello
│   └── hello.proto
├── Dockerfile
├── Makefile
└── README.md

7. 使用 Go Mod 管理依赖包

进入项目目录 hello,运行 go mod 初始化命令:

go mod init hello

项目中多了一个 go.mod 文件。

8. 修改 proto 文件

进入项目的 proto 目录,里面有一个 c 文件。

编辑 hello.proto 文件,在 package 下增加 go package 路径:

syntax = "proto3";
package go.micro.srv.hello;

option go_package="proto/hello";

service Hello {
......

9. 编译运行

在项目目录中运行 make build 命令:

make build

编译生成 hello-srv。运行 hello-srv:

./hello-srv

Go Micro 是一个插件化的 RPC 开发框架,用于使用 Go 语言快速构建微服务。Go Micro 的路由可以直接使用集成的 Go语言 默认的路由组件 net/http,也可以使用第三方路由库,比如功能 ...