0.目录

  1. go-micro 安装
  2. go-micro+consul服务注册、服务发现

1.介绍

go-micro网站:https://github.com/asim/go-micro 现在最新的已经到了v4版本,如下图

微服务架构系统政务云端口申请 微服务管理平台governor_protobuf

注意: https://github.com/micro/micro 不是go-micro,v2的时候好像还是一样的,不知道因为什么原因micro下不包含go-micro了

微服务架构系统政务云端口申请 微服务管理平台governor_go_02


微服务架构系统政务云端口申请 微服务管理平台governor_go_03

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安装指令出错

微服务架构系统政务云端口申请 微服务管理平台governor_微服务_04


如果

go install

报错,就到文章末尾 ↓↓↓↓ 查看补充。

微服务架构系统政务云端口申请 微服务管理平台governor_protobuf_05


micro -v查看micro的版本 , micro -h查看帮助

微服务架构系统政务云端口申请 微服务管理平台governor_微服务架构系统政务云端口申请_06

3.用micro new命令行创建一个服务

3.1 用micro new命令生成工程目录

微服务架构系统政务云端口申请 微服务管理平台governor_protobuf_07


在C盘Go/micro目录下,新建一个service 就叫xxxxxxx(7个x)

微服务架构系统政务云端口申请 微服务管理平台governor_微服务架构系统政务云端口申请_08

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

微服务架构系统政务云端口申请 微服务管理平台governor_go_09


然后到命令行,切换到C:\Go\micro\xxxxxxx>输入以下命令:

make init
make proto
make tidy # 更新一下其他依赖

makefile里已经写好了,会下载必要的包,编译proto命令都写好了。

微服务架构系统政务云端口申请 微服务管理平台governor_微服务_10


查看一下编译好的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

微服务架构系统政务云端口申请 微服务管理平台governor_微服务架构系统政务云端口申请_11

micro.exe 剪切到GOPATH下的bin目录,并给bin目录添加path环境变量

微服务架构系统政务云端口申请 微服务管理平台governor_微服务架构系统政务云端口申请_12


微服务架构系统政务云端口申请 微服务管理平台governor_微服务架构系统政务云端口申请_13

最后 试一下micro指令:

微服务架构系统政务云端口申请 微服务管理平台governor_protobuf_14

补充的是 2022年5月24日的新安装方法,如果再失效,就到源头寻找最新安装方法
github:https://github.com/asim/go-micro

微服务架构系统政务云端口申请 微服务管理平台governor_微服务_15


在下面Readme里找到CLI点开:

https://github.com/go-micro/cli