初始化git项目
D:\go\src\github.com\869413421
创建项目文件夹
mkdir micro-service
关联github仓库
cd micro-service
git init
git remote add origin https://github.com/869413421/micro-service.git
git pull origin main
安装micro
在安装前,我们首先明确了解go-micro和micro具体是什么东西。避免后续因为这两项有关联的技术产生一些混淆。
- go-micro:一款微服务开发框架,它是所有开发的核心,开发者可以利用它编码快速开发出服务。
- micro:一个基于go-micro实现的微服务命令行工具包,它对于微服务开发是非必要的。但是能给开发提供很多便利,例如生成模板项目,提供web仪表盘,提供API网关,查看服务状态,调用服务等等。
拉取micro镜像
docker pull micro/micro:v2.9.3
生成micro生成项目模板
windows
在windows下执行命令要使用CMD执行
docker run --rm -v D:\go\src\github.com\869413421\micro-service:/www -w /www micro/micro:v2.9.3 new --namespace=micro --type=service user
linux
docker run --rm -v $(pwd):/www -w /www micro/micro:v2.9.3 new --namespace=micro --type=service user
安装protobuf
在执行生成模板命令后,我们可以等如下提示
Creating service micro.service.user in user
.
├── main.go
├── generate.go
├── plugin.go
├── handler
│ └── user.go
├── subscriber
│ └── user.go
├── proto
│ └── user
│ └── user.proto
├── Dockerfile
├── Makefile
├── README.md
├── .gitignore
└── go.mod
download protoc zip packages (protoc-$VERSION-$PLATFORM.zip) and install:
visit https://github.com/protocolbuffers/protobuf/releases
download protobuf for micro:
go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v2/cmd/protoc-gen-micro
compile the proto file user.proto:
cd user
make proto
protocprotoc --version
安装项目依赖相关包
go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v2/cmd/protoc-gen-micro
调整项目结构,生成protobuf代码
Windows中没有make,但是可以通过安装MinGW或者MinGW-w64,得到make。
cd user
proto/user/user.proto
option go_package = "proto/user";
make protoprotoc
go.mod
module github.com/{your_name}/micro-service/user
将账户替换你的github账号,方便后续管理
go mod tidy
docker-compose
本作品采用《CC 协议》,转载必须注明作者和本文链接