安装部署
三种安装方法: 预编译版本, 源码安装, docker.
docker, 预编译版本安装最方便, 基于加密的下载, SHA256 的校验保证安全.
源码安装是需要 Golang, Git 的支持的.
运行
1 | # 开启测试节点 |
注册服务与健康检查
定义一个服务
在服务配置目录下的所有文件, 都会在启动时加载到 consul 中, 服务配置目录下支持多个文件, 每个文件定义一个服务, 基本格式如下:
1 | { |
该文件定义服务的 name 名字, port 端口, 以及可选的 tags, 用于后续服务的查询.
Note: 服务的注册这块, 暂时理解一般每个服务节点都要有一个 client 运行, 在 client 端定义该服务, 会自动的将其上报到 server 端.
参考: https://www.consul.io/docs/agent/services.html
DNS 查询一个服务
1 | dig @127.0.0.1 -p 8600 [TAG.]SERVICE_NAME.service.consul |
NOTE: 使用 DNS 查询, 需要给对应端口开启 udp 访问权限.
在这个示例中, 我们的 SERVICE_NAME 为 web
.
HTTP 查询一个服务
查询所有服务:
1 | curl 'http://127.0.0.1:8500/v1/catalog/service/SERVICE_NAME' |
查询健康服务:
1 | curl 'http://127.0.0.1:8500/v1/health/service/SERVICE_NAME?passing' |