Consul 简介及集群安装
简介 Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。 Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。 Consul本身只是一个二进制的可执行文件,所以安装和部署都非常简单,只需要从官网下载后,在执行对应的启动脚本即可。 官网下载地址: https://www.consul.io/downloads.html 特性 基础特性 服务注册/发现 数据强一致型保证 多数据中心 健康检查 Key/Value存储 高级特性 HTTP API ACL 工作模式 Consul中包括的3种不同的角色:Client、Server、Server-Leader。 还有一个在图上没有标出来的角色Agent,一共4个角色。 Agent 是一个守护线程 跟随Consul应用启动而启动 负责检查、维护节点同步 Client 转发所有请求给Server 无状态, 不持久化数据 参与LAN Gossip的健康检查 Server 持久化数据 转发请求给Server-Leader 参与Server-Leader选举 通过WAN Gossip(流言算法协议, Cassandra和比特币的底层算法, 符合弱一致性), 与其他数据中心交换数据 Server-Leader 响应RPC请求