consul环境搭建
方法一:docker安装consul集群
自己动手采用docker搭建一个consul集群
1 | 下载最新的consul镜像 |
之后访问localhost:8050
就可以进入到我们的consul可视化界面
方法二:本机(mac)安装consul:
- 直接进入consul官网,下载可执行文件,然后解压到
$HOME/Library/consul/
- 同时将路径加入到我们的系统环境变量
~/.bash_profile
中1
2add consul
export PATH=$PATH:$GOPATH/bin:$HOME/Library/consul - 然后刷新我们的配置,此时使用consul执行命令
consul members
来查看我们docker搭建的consul集群
consul相关命令补充:
consul参考资料:
了解服务发现:
在微服务编码中我们服务经常会遇到如下的问题:
- 客户端连接服务器的时候,IP去掉将无法连接服务器:
conn, err := grpc.Dial("127.0.0.1:10086", grpc.WithInsecure()
- 如果先运行客户端再运行服务端,客户端将会报错。
这些问题都需要解决,因此我们需要通过服务发现来解决这些问题
- 通过服务发现来管理服务:
- consul的代码并没有开源:
- 故障检测使得如果有服务挂掉,之后请求的时候将会停止访问我们的服务
- 服务注册:就是服务主动去consul那里登记,服务发现就是指请求过来之后去consul那里查询对应的服务,此时就是服务发现
consul概念
- consul命令参数:
consul常用命令
- 查看集群成员:
consul members
- 查看consul版本:
consul version
consul leave
用于退出集群- 停止Agent:
虚拟机搭建consul集群搭建
环境:3个虚拟机
- 192.168.110.123
- 192.168.110.148
- 192.168.110.124
步骤:
- 192.168.110.123 主机执行命令:
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=192.168.110.123 -ui -config-dir /etc/consul.d -rejoin -join 192.168.110.123 -client 0.0.0.0
- 192.168.110.148 主机执行命令:
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.110.148 -ui -rejoin -join 192.168.110.123
:
访问:
- 148机器访问:
- 192.168.110.124主机执行命令:
consul agent -data-dir /tmp/consul -node=n3 -bind=192.168.110.124 -config-dir /etc/consuld.d -rejoin -join 192.168.110.123
+ - 148机器访问:
consul 服务注册
- 测试程序:
在micro中我们不需要手动写consul的配置文件
consul扩展
- consul架构图:
如果要跨域(图中的黑色):通过网络进行连接。