Go Micro是一个基于Golang的微服务框架,它提供了微服务分布式系统的核心组件(例如服务发现、负载均衡、RPC等),同时,Go Micro提供插件机制,方便集成微服务相关工具(例如消息队列Kafka,服务发现Consul等),基于Go Micro可以快速搭建自己的微服务系统。本文描述了在macOS下如何配置Go Micro的开发环境。
安装 protoc
安装方式
- 源码编译安装
- 直接下载编译好的可执行文件(建议使用这个)
下载完成以后解压、 将可执行文件复制到 /Users/xxx/go/bin
目录下
验证:
protoc --version
输出成功以后
libprotoc 3.11.2
安装 protoc-gen-go
执行以下操作
go get -u github.com/golang/protobuf/protoc-gen-go
验证:
ls $GOPATH/bin
安装 protoc-gen-micro
go Micro 默认使用protobuf作为通信协议的定义,所以需要安装protoc-gen-micro来生成服务的接口代码,这样能够省去很多重复性的编码。protoc-gen-micro依赖于protoc和protoc-gen-go。
go get github.com/micro/protoc-gen-micro
安装 Go Micro
go get github.com/micro/go-micro/v2@latest
使用Go Modules时,由于google网址在国内被墙,需要改为国内的网址
安装 Micro
Micro是提供给Go Micro的运行时工具,用于部署和运维。一种简单的方式是通过如下指令自动安装:
GO111MODULE=on go get github.com/micro/micro/v2@latest
但是,通过该方法安装的micro默认使用的服务发现组件是mdns,没有集成Consul、Etcd等第三方的组件。我们后面需要使用Consul,所以此时需要自己手动编译安装:
首先,直接从github拉取代码:
cd $GOPATH/src
git clone https://github.com/micro/micro.git
cd micro
然后,新建plugins.go文件:
package main
import (
_ "github.com/micro/go-plugins/registry/consul/v2"
)
最后,重新编译安装:
go install .
完成后,执行如下指令进行验证:
micro --version