## 安装consul
`consul`具体的原理这里不做介绍,只需要记得consul中有两个角色,`server`和`client`,我们首先需要一个consul的`server`集群,生产环境推荐3台机器以上的consul集群保证高可用,server集群间采用`raft`强一致性算法协调,`client`是性能很高的轻量级进程,client和server集群间通过`gossip`协议同步数据,我们需要在微服务的`rpc调用端`和`rpc服务端`的机器上都安装consul的`client`。
`rpc调用端`通过请求本机的consul`client`来`发现服务`。
`rpc服务端`通过请求本机的consul`client`来`注册服务`。
这里推荐采用docker来安装`consul`。
#### consul server集群安装
```bash
一. docker pull consul
#CONSUL_BIND_INTERFACE 是内网的网卡名,consul服务将绑定到这个网卡上
#server=true 表示这个consul进程是server角色
#bootstrap-expect=1 表示只需要1个server就可以对外提供服务,推荐3个,我这里为了演示写1
二. docker run -d --name=consul1 --net=host -e CONSUL_BIND_INTERFACE=eth0 co