美文网首页
Go-Micro使用

Go-Micro使用

作者: 秀秀小虞儿 | 来源:发表于2022-03-28 11:57 被阅读0次

安装使用
for windows

安装Consul
下载安装并设置环境变量,下载地址:https://www.consul.io/downloads
安装Go
下载安装并设置环境变量,下载地址:https://golang.org/dl/
安装Protobuf
下载protoc
https://github.com/protocolbuffers/protobuf/releases/tag/v3.18.0
下载protoc-gen-go

$ go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

下载protoc-gen-micro

$ go get github.com/asim/go-micro/cmd/protoc-gen-micro/v3

安装Micro
安装

$ go get -u github.com/micro/micro

for linux
安装Consul

$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
$ sudo yum -y install consul

安装GO

# 下载64-bit Linux
$ wget https://dl.google.com/go/go1.16.8.linux-amd64.tar.gz
 
# 解压
$ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.8.linux-amd64.tar.gz
 
# 检查go版本
$ go version

设置环境变量(临时,重启服务器后失效)

$ export PATH=$PATH:/usr/local/go/bin

设置环境变量(永久,重启服务器后仍有效)

编辑/etc/profile
$ vim /etc/profile

添加以下配置到文件末尾,保存
# Go
export PATH=$PATH:/usr/local/go/bin
export GO111MODULE="on"
export GOPROXY=https://goproxy.cn,direct

生效
$ source /etc/profile

安装Protobuf
下载protoc
https://github.com/protocolbuffers/protobuf/releases/tag/v3.18.0
下载protoc-gen-go

$ go get -u github.com/golang/protobuf/{proto,protoc-gen-go}

下载protoc-gen-micro

$ go get github.com/asim/go-micro/cmd/protoc-gen-micro/v3

*安装Micro

安装
$ go get -u github.com/micro/micro
 
安装常见错误解决方案:https://blog.csdn.net/github_38194421/article/details/104897865

运行
启动Consul
启动命令根据需要三选一

# 内部访问
$ consul agent -data-dir=/tmp/consul
 
# 只能本地可以访问
$ consul agent -dev  
 
# 指定ip可以访问
$ consul agent -dev -client 0.0.0.0 -ui  指定ip

启动Micro API网关

micro --registry=consul --registry_address=127.0.0.1:8500 --server_name=aiwanbao.micro.api api --namespace=aiwanbao.micro.api

启动Micro服务

# 默认注册到etcd服务发现
go run main.go
 
# 使用consul和指定consul地址
go run main.go --registry=consul --registry_address=127.0.0.1:8500

命令参数说明

命令参数 说明
--registry 注册服务
--registry_address 服务地址
--server_name 服务名
--namespace 空间命名

接口调用
网关默认会以服务名/api名/方法名的方式将服务接口映射为http路径,接受各种类型(POST/GET/...)的请求:

http://{host}:{post}/{serverName}/{apiName}/{methodName}

相关文章

网友评论

      本文标题:Go-Micro使用

      本文链接:https://www.haomeiwen.com/subject/qthcjrtx.html