注册中心Consul,高可用集群搭建

Consul集群搭建

首先准备节点,3台server(使用vm的虚拟机)和一台client(就使用本地机器,本地机器为windows10)

  1. server-1 ip:192.168.74.101
  2. server-2 ip:192.168.74.102
  3. server-3 ip:192.168.74.103
  4. 本地机器

在Linux上安装Consul

#下载consul
wget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip
#解压安装包
unzip consul_0.7.5_linux_amd64.zip
#解决办法-bash: unzip: 未找到命令如果解压出现该错误
yum -y install unzip
#将解压好的consul可执行命令拷贝到/usr/local/bin
cp consul /usr/local/bin
#测试一下
consul

在每台机器上安装好后

启动每个consul的server节点

#登录Ip为192.168.74.101机器,以server的形式运行consul
consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=server-1 -bind=192.168.74.101 -ui -client 0.0.0.0 &
#登录Ip为192.168.74.102机器,以server的形式运行consul
consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=server-2 -bind=192.168.74.102 -ui -client 0.0.0.0 &
#登录Ip为192.168.74.103机器,以server的形式运行consul
consul agent -server -bootstrap-expect 2 -data-dir /etc/consul.d -node=server-3 -bind=192.168.74.103 -ui -client 0.0.0.0 &

启动consul的client节点

consul agent -client=0.0.0.0 -data-dir /etc/consul.d -node=client-1

将除101机器以外的机器,加入到101机器

consul join 192.168.74.101
#查看集群信息
consul member
#也可以打开浏览器,http://192.168.74.101:8500

Consul集群常见的问题

(1)节点与服务的注销

当服务或者节点失效了,consul并不会对失效的注册信息进行删除。但是服务确实是不可使用的。如果担心节点失效,或者服务失效过多影响了监控,可以通过Http API的形式进行处理。

  • 注销任意节点与服务: /catalog/deregister
  • 注销当前节点的服务: /agent/service/deregister/:service_id
  • 如果每个节点不可用了,也可以在本机使用consul leave命令,或者其他节点使用consul force-leave 节点id

(2)健康检查与故障转移

在集群的环境下,健康检查是由服务注册的Agent来处理的,那么如果这个Agent挂掉了,那么节点的健康检查就处在无人管理的状态。

从实际应用来看,节点上的服务既要被发现,又要发现别的服务,如果节点挂掉了,仅提供被发现的功能,实际上是挂掉的。当然发现别的服务也可以不使用本机节点,可以通过访问一个nginx实现若干的Consul节点的负载均衡来实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值