0.目录
- go-micro 安装
- go-micro+consul服务注册、服务发现
1.介绍
go-micro网站:https://github.com/asim/go-micro
现在最新的已经到了v4版本,如下图
注意: https://github.com/micro/micro 不是go-micro,v2的时候好像还是一样的,不知道因为什么原因micro下不包含go-micro了
2.安装micro
命令行
准备环境:
- winver: Windows 11 21H2
- go version: go1.17.6 windows/amd64 (go需要>1.16)
go install go-micro.dev/v4/cmd/micro@master
Notes:2022年5月24日发现micro安装指令出错
如果
go install
报错,就到文章末尾 ↓↓↓↓ 查看补充。
micro -v
查看micro的版本 , micro -h
查看帮助
3.用micro new
命令行创建一个服务
3.1 用micro new命令生成工程目录
在C盘Go/micro目录下,新建一个service 就叫xxxxxxx
(7个x)
micro new service xxxxxxx
cd xxxxxxx
3.2 修改/proto/xxxxxxx.proto文件
默认的proto带了三个服务,分别是call, stream, pingpong
,我们用不到这么多,先把rpc里关于stream和pingpong的删掉,再把message关于stream和pingpong的删掉,只留下和call相关的 如下:
syntax = "proto3";
package xxxxxxx;
option go_package = "./proto;xxxxxxx";
service Xxxxxxx {
rpc Call(CallRequest) returns (CallResponse) {}
}
message CallRequest {
string name = 1;
}
message CallResponse {
string msg = 1;
}
3.3 下载依赖,编译proto
需要下载protoc,详见我的博客:
windows还需要一个make,Windows不带make,需要下载个mingw(就是gcc),然后把mingw32-make.exe
复制一个,改名为make.exe
,并且把make.exe所在目录添加到系统path
然后到命令行,切换到C:\Go\micro\xxxxxxx>
输入以下命令:
make init
make proto
make tidy # 更新一下其他依赖
makefile里已经写好了,会下载必要的包,编译proto命令都写好了。
查看一下编译好的xxxxxxx.pb.micro.go文件,和之前grpc的差不多
- 服务端:RegisterXxxxxxxHandler
- 客户端 NewXxxxxxxService
看一下工程目录:
—EOF—
补充: go install安装micro出错补充
# 在一个合适的文件夹打开cmd 拿下代码
git clone https://github.com/go-micro/cli.git
# 进入目录
cd cli
# 编译文件
go build -o micro.exe
把micro.exe
剪切到GOPATH下的bin
目录,并给bin目录添加path环境变量
最后 试一下micro指令:
补充的是 2022年5月24日的新安装方法,如果再失效,就到源头寻找最新安装方法
github:https://github.com/asim/go-micro
在下面Readme里找到CLI点开:
https://github.com/go-micro/cli