Consul是实现服务治理的杰出项目,它可以和Docker完美结合在一起。
Consul是HashiCrop公司推出的一款开源工具,用于实现分布式系统的服务发现与服务配置。它内置了服务注册和发现框架、分布一致性协议实现、健康检查、Key-value存储、多数据中心方案。
Consul使用Raft算法(ETCD也采用Raft)来保证一致性,比使用复杂的Paxos算法(Zookeeper采用算法)更简单。
安装及使用Consul
windows下安装
官网下载最新版本即可:https://www.consul.io/downloads
下载后在Dos窗口运行启动命令
# -dev表示开发模式,-server表示服务器模式
.\consul.exe agent -dev
常用命令及对外接口:
- consul members: 查看集群成员信息
- consul members -detailed: 查看集群成员的详细信息
- consul monitor: 持续打印当前Consul的日志
- http://host:8500/v1/status/leader: 显示当前集群的Leader
- http://host:8500/v1/agent/members: 显示当前集群所有成员的信息
- http://host:8500/v1/status/peers: 显示当前集群的Server成员
- http://host:8500/v1/catalog/services: 显示所有服务
- http://host:8500/v1/caatalog/nodes: 显示集群节点的详细信息
linux下安装
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
#启动
consul agent -dev -client 0.0.0.0 -ui