前言
Consul 是什么
Consul 是用 Go 开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value 存储等功能,并且支持跨数据中心的功能。
Consul 基本概念
-
Agent 组成 Consul 集群的每个成员上都要运行一个 Agent,可以通过 Consul Agent 命令来启动。Agent 可以运行在 Server 状态或者 Client 状态。
-
Client 就是客户端模式。是 Consul 节点的一种模式,这种模式下,所有注册到当前节点的服务会被转发到 Server,本身是不持久化这些信息。
-
Server 就是服务端模式,这种模式下,功能和 Client 都一样,唯一不同的是,它会把所有的信息进行持久化。
准备环境
滴滴云 服务器 (DC2): 安全可靠,拥有极高的性价比高,为开发者的需求而设计。适合大中小型用户购买使用。
弹性公网 IP (EIP): 计费灵活,适配各类应用架构。可以满足用户各类应用场景需求。
安装过程
登录机器
在 滴滴云 平台上选择三台 Centos7.3 机器,选择 DC2 默认账户 dc2-user,使用 SSH 登录方式分别登录三台云主机:
由于搭建集群时需要 root 权限,切换到 root 账户:
sudo - i
建立 Consul 数据目录
mkdir - p / usr / local / consul / data
下载 Consul
进入 /usr/local/consul
目录,Consule 官网下载地址,选择 Linux 平台:
cd / usr / local / consul
sudo wget https : //releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip
解压
unzip consul_1 . 4.0_linux_amd64.zip
验证安装
使用 Consul 命令验证:
启动 Consul Server
在第一台 Server上启动:
. / consul agent - server - ui - bootstrap - expect 2 - data - dir = data - node = n1 - bind = { ip1 } - client = 0.0.0.0 &
启动后,查看 members:
在第二台 Server 上启动:
. / consul agent - server - ui - bootstrap - expect 2 - data - dir = data - node = n2 - bind = { ip2 } - client = 0.0.0.0 &
启动后,查看 members:
在第三台 Server 上启动:
. / consul agent - server - ui - bootstrap - expect 2 - data - dir = data - node = n3 - bind = { ip3 } - client = 0.0.0.0 &
启动后,查看当前 members:
此时,三台 Server 都是独立的机器,下一步就是将三台机器连接成集群。
连接集群
第二台机器上分别连接第一台机器:
. / consul join -- http - addr { ip1 } : 8500 { ip2 }
第三台机器上连接第一台机器:
. / consul join -- http - addr { ip1 } : 8500 { ip2 }
查看集群
查看集群 Leader
可在任意一节点上执行:
查看集群 Peers
可在任意一节点上执行:
附录
Consul 命令行
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2284942/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31559758/viewspace-2284942/