Go微服务——go-micro v4安装

0.目录

  1. go-micro 安装
  2. 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命令生成工程目录

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,详见我的博客:https://blog.csdn.net/xuehu96/article/details/122812830

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

猜你喜欢

转载自blog.csdn.net/xuehu96/article/details/123610827