consul的基本使用
Consul 支持健康检查,并提供了 HTTP 和 DNS 调用的API接口完成服务注册,服务发现,以及K/V存储
这些功能。接下来通过发送HTTP请求的形式来了解一下Consul
服务注册与发现
(1)注册服务
通过postman发送put请求到http://192.168.74.101:8500/v1/catalog/register地址可以完成服务注册
{ "Datacenter": "dc1", "Node": "node01", "Address": "192.168.74.102", "Service": { "ID":"mysql-01", "Service": "mysql", "tags": ["master","v1"], "Address": "192.168.74.102", "Port": 3306 } }
(2)服务查询
通过postman发送get请求到http://192.168.74.101:8500/v1/catalog/services查看所有的服务列表
![](https://img2020.cnblogs.com/blog/1731789/202107/1731789-20210727131019670-132971190.png)
通过postman发送get请求到http://192.168.74.101:8500/v1/catalog/service/服务名查看具体的服务详情
(3)服务删除
通过postman发送put请求到http://192.168.74.101:8500/v1/catalog/deregister删除服务
{ "Datacenter": "dc1", "Node": "node01", "ServiceID": "mysql-01" }
Consul的KV存储
可以参照Consul提供的KV存储的API完成基于Consul的数据存储
![](https://img2020.cnblogs.com/blog/1731789/202107/1731789-20210727131450524-1297101879.png)
key值中可以带/, 可以看做是不同的目录结构。
value的值经过了base64_encode,获取到数据后base64_decode才能获取到原始值。数据不能大于512Kb
不同数据中心的kv存储系统是独立的,使用dc=?参数指定。