健康检查
Consul支持多种健康检查方式,以下是一个HTTP健康检查的示例:
代码语言:javascript复制{
"HTTP": "http://127.0.0.1:8080/health",
"Interval": "10s",
"Timeout": "1s"
}
这个健康检查将会每隔10秒发送一个HTTP请求到127.0.0.1:8080/health,并在1秒内等待响应。如果响应返回码不是200,或者在超时时间内没有响应,那么Consul会将该服务实例标记为不健康状态,从而触发Consul的服务发现机制。
配置管理
Consul的KV存储可以用来存储应用程序的配置信息,以下是一个设置配置项的示例:
代码语言:javascript复制PUT /v1/kv/config/app HTTP/1.1
Host: localhost:8500
Content-Type: application/json
{
"name": "myapp",
"version": "1.0",
"db": {
"host": "localhost",
"port": 3306
}
}
这个请求将会将一个名为config/app的配置项添加到Consul的KV存储中,包含了应用程序的名称、版本和数据库配置信息。
查询配置
使用Consul API可以查询Consul中的配置项,以下是一个查询配置项的示例:
代码语言:javascript复制GET /v1/kv/config/app HTTP/1.1
Host: localhost:8500
这个请求将会查询名为config/app的配置项在Consul中的值,返回结果如下:
代码语言:javascript复制[
{
"CreateIndex": 1234,
"ModifyIndex": 1234,
"LockIndex": 0,
"Key": "config/app",
"Flags": 0,
"Value": "eyJ...",
"Session": null
}
]
这个结果包含了config/app配置项的详细信息,包括其值(在Value字段中),以及其在Consul中的索引号和锁状态。