go-micro版本较多,而且每个版本都不兼容,因此使用go-micro选择哪个版本是一件很头疼的事。
目前用的最多还是go-micro v2版本,因此本系列文章都是基本go-micro v2版本从零开始构建go-micro微服务。
go-micro v2可以在go1.17版本下运行,但是micro v2的工具只能在go1.13或go1.14版本运行,因此本文有一些micro工具是基于docker构建的。
go-micro v2文档:https://learnku.com/docs/go-micro/2.x/cli.html/8604
安装protobuf下载地址
https://github.com/protocolbuffers/protobuf/releases ,下载自己系统对应的压缩包解压
添加环境变量
将解压后的bin目录添加到path环境变量
安装protoc-gen-go文档
https://grpc.io/docs/languages/go/quickstart/
安装命令
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
注意:protoc-gen-go的最新版本已经托管到google仓库了,其他较早的文章中都是使用github仓库,这点要注意,我们这里使用最新的版本
安装protoc-gen-micro文档
https://github.com/micro/micro/tree/v2.9.3/cmd/protoc-gen-micro
安装命令
go install github.com/micro/micro/v2/cmd/protoc-gen-micro@latest
注意:文档中的命令是go1.16前使用的命令,go1.17版本中需要使用go install安装可执行程序
安装micro因为本系列文章使用的是go1.17版本,使用micro cli命令时会出现go版本不兼容的错误,因此我们这里使用docker安装micro cli工具
拉取micro/micro镜像
因为go-mciro使用的是v2版本,所以也要拉取micro v2版本的镜像。当然没有安装docker的话需要先安装docker
镜像地址
https://hub.docker.com/layers/micro/micro/v2.9.3/images/sha256-6117a545f5ef93816296a589b508f4bb808cf6c77be0d3db7111f954ec080d5b?context=explore
拉取docker镜像
docker pull micro/micro:v2.9.3
使用micro cli生成服务代码
使用micro生成服务代码是下两节要讲的内容,因此这里暂时先贴一个生成代码的示例
docker run --rm -p $(pwd):$(pwd) -w $(pwd) micro/micro:v2.9.3 new user
–rm 运行后删除容器,我们只是启动容器生成代码然后就不再用容器了,为了防止本地每运行一次产生一个垃圾容器,需要每次使用后删除
注意:在windows上使用$(pwd)命令可能会有问题,如果不行的话就写带盘符的全路径,容器内的路径可以写死一个固定路径



