Consul实战
什么是Consul
Consul是一种为分布式系统提供服务发现、配置共享和健康检查的开源工具;
可以用来做微服务架构里的注册中心和配置中心。Consul的特定和功能有:
1.服务发现
consul允许微服务注册自己的实例到Consul,
并查询consul来获取可用的服务实例列表
2.健康检查
Consul可以定期检查服务实例的健康状态,Consul可以发现和消除不健康的服务实例,以确保只有可用的服务路由和调用
3.分布式键值存储
consul提供了KV键值对存储接口,开发者可以put/get操作存放在consul中的JSON/HCL/YAML/XML类型的配置文件,微服务架构中的子服务可以读取这些配置文件
4.一致性协议
consul使用Raft一致性协议来确保多个consul节点之间的一致性和可用性。
Raft协议可以容忍节点故障,并自动选举新的leader
5.安全和加密
consul支持基于TLS的安全通信,并提供了服务间的加密和身份验证机制
6.可视化界面
consul提供了web管理界面,用于监控和管理服务实例、配置和健康检查等信息
windows安装consul
官网下载安装包
consul_1.16.0_windows_amd64.zip
解压后得到一个可执行文件consul.exe
将这个consul.exe放在一个固定的目录里,后边要多次使用这个exe,不要放到系统下载目录
使用consul
启动consul同时可以打开web管理控制台
执行命令
./consul.exe agent -dev
启动成功效果如下
访问本机8500端口,即可打开web管理控制台
http://localhost:8500/
查看consul集群的成员
执行命令
./consul.exe members
查看consul集群成员配置详情
执行命令
./consul.exe members -detailed
HTTP查询consul节点信息
执行命令
curl localhost:8500/v1/catalog/nodes
Consul KV存储功能
Consul提供了一种KV键值对数据存储功能,
可以存取JSON/HCL/YAML/XML类型的配置文件。
支持web页面/HTTP请求/命令行方式 来put/get键值对数据。添加KV缓存命令
./consul.exe kv put testk001 demo
获取KV缓存命令
./consul.exe kv get testk001
支持添加KV目录
./consul.exe kv put redis/config/minconns 1
这个命令会创建目录redis/config ,然后在redis/config下
添加key为minconns 值为1 的缓存数据
停止consul
按ctrl+C 即可停止上边运行的consul服务