一.实现一个go-micro的例子,整理例子先看图:git
1.例子中,有两个微服务,服务Time,服务User.对外提供API层,这里使用了gin框架.github
2.在服务user中,当API-user收到请求,向GetTimeOrAddUser发起RPC请求.golang
3.GetTimeOrAddUser会向Time服务中的GetUserTime发起RPC请求
bash
4.RPC的服务都有client,server,经过client向server请求.框架
5.服务Time跟服务user相同.微服务
6.全部RPC服务都经过ETCD去注册服务,发现服务,consul不能直接使用集群.spa
7.代码: https://github.com/zhongxuan123/go-micro-demo1code
二.部署etcdcdn
服务注册使用etcd,例子中都是在本地的,因此etcd直接127.0.0.1跑起来.server
1.mac安装:
brew install etcd
2.下载golang的包:
go get go.etcd.io/etcd/clientv3
复制代码
可能会超时,或者直接git clone下来再放到$GOPATH/src/go.etcd.io/etcd上
git clone https://github.com/etcd-io/etcd.git
3.启动etcd:
直接etcd
三.编写PB文件
1.pb须要的东西能够看下,go-micro入门的文章.
2.