go-microv4_go-micro_go-micro框架

所依赖软件

go-micro框架_go-micro_go-microv4

各个软件及版本

PS:下文中所有软件安装均基于Linux系统。

安装GO(golang)

下载go安装包:

wget https://studygolang.com/dl/golang/go1.13.3.linux-amd64.tar.gz

解压安装包到/usr/local目录:

tar -C /usr/local -zxvf go1.13.3.linux-amd64.tar.gz

配置环境变量:

vim /etc/profile
#新增以下内容
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/go
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct

保存之后,执行:

source /etc/profile

验证go是否安装成功:

go version

看到输出类似下列内容即可:

go version go1.13.3 linux/amd64

安装micro

在任意目录执行:

go get github.com/micro/micro

验证micro是否安装成功:

micro --version

看到输出类似下列内容即可:

micro version 1.13.1

安装protobuf

下载protobuf安装包:

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.10.0/protoc-3.10.0-linux-x86_64.zip

解压安装包到/usr/local目录:

unzip -d /usr/local/protoc protoc-3.10.0-linux-x86_64.zip

配置环境变量:

vim /etc/profile
#新增以下内容
export PATH=$PATH:/usr/local/protoc/bin

验证是否安装成功:

protoc --version

看到输出类似下列内容即可:

libprotoc 3.10.0

安装protoc-gen-go

在任意目录执行:

go get -u github.com/golang/protobuf/protoc-gen-go

安装ETCD

下载etcd安装包:

wget https://github.com/etcd-io/etcd/releases/download/v3.4.2/etcd-v3.4.2-linux-amd64.tar.gz

解压并将etcd和etcdctl两个二进制文件拷贝到/usr/local/bin 目录:

#解压安装包至/tmp目录
tar -C /tmp -zxvf etcd-v3.4.2-linux-amd64.tar.gz
#拷贝etcd和etcdctl至/usr/local/bin目录
cp /tmp/etcd-v3.4.2-linux-amd64/{etcd,etcdctl} /usr/local/bin
#验证etcd是否安装成功:
etcd --version

配置ETCD集群

关于etcd集群配置go-micro,共有三种形式:静态启动、etcd服务发现、dns服务发现。

该系列教程重点在于go-micro的使用,所以etcd的集群配置不会详细讲解,本文采用相对便捷的etcd服务发现形式来配置集群。对于其他两种集群形式读者可自行查阅资料去实践一下。

etcd集群推荐采用奇数个节点,此处我们使用三个节点组成一个etcd集群:

PS:因为笔者是在本地电脑上演示,所以使用同一个ip不同端口来模拟三台不同的机器。

go-microv4_go-micro_go-micro框架

模拟3个etcd节点

etcd启动会监听本地的两个端口,一个用于客户端交互,一个用户集群内部交互。

etcd常用配置项说明:

go-micro_go-micro框架_go-microv4

etcd常用配置项说明

准备工作:

访问etcd公共发现服务: (size=3,表示创建的集群由3个节点组成)。得到一个url: 该url将在下列配置中使用(该url只是在建立集群的时候使用,集群建立之后就没什么作用了。此外,该URL有个有效时间,过期会失效,下次需要用的时候,再次访问生成即可)。

使用下列命令分别启动3个etcd节点:

启动节点1:

etcd --name etcd1 
--data-dir /tmp/etcd1 
--initial-advertise-peer-urls http://192.168.49.234:2380 
--listen-peer-urls http://192.168.49.234:2380 
--listen-client-urls http://192.168.49.234:2379,http://127.0.0.1:2379 
--advertise-client-urls http://192.168.49.234:2379 
--discovery https://discovery.etcd.io/8692168162049f92ac053ade822284ff

启动节点2:

etcd --name etcd2 
--data-dir /tmp/etcd2 
--initial-advertise-peer-urls http://192.168.49.234:2480 
--listen-peer-urls http://192.168.49.234:2480 
--listen-client-urls http://192.168.49.234:2479,http://127.0.0.1:2479 
--advertise-client-urls http://192.168.49.234:2479 
--discovery https://discovery.etcd.io/8692168162049f92ac053ade822284ff

启动节点3:

etcd --name etcd3 
--data-dir /tmp/etcd3 
--initial-advertise-peer-urls http://192.168.49.234:2580 
--listen-peer-urls http://192.168.49.234:2580 
--listen-client-urls http://192.168.49.234:2579,http://127.0.0.1:2579 
--advertise-client-urls http://192.168.49.234:2579 
--discovery https://discovery.etcd.io/8692168162049f92ac053ade822284ff

以上命令都执行成功之后创业项目,我们需要验证集群状态,确保集群组建成功:

#查看集群成员
etcdctl member list
#查看集群状态
etcdctl --endpoints=http://192.168.49.234:2479,http://192.168.49.234:2379,http://192.168.49.234:2579 endpoint status
#查看集群健康情况
etcdctl --endpoints=http://192.168.49.234:2479,http://192.168.49.234:2379,http://192.168.49.234:2579 endpoint health

更多etcd相关指令可以自行查阅官方文档,本文不再过多介绍。

好了,到目前为止所有使用go-micro开发微服务的准备工作都已经准备完毕go-micro,下一篇文章开始正式介绍如何使用go-micro开发微服务。

注册会员查看全部内容……

限时特惠本站每日持续更新海量各大内部创业教程,年会员只要98元,全站资源免费下载
点击查看详情
站长微信:9200327