Consul 注册服务和健康检查
Consul 注册服务和健康检查
标签(空格分隔): go
注册服务文档:https://developer.hashicorp.com/consul/api-docs/agent/service#register-service
健康检查文档:https://developer.hashicorp.com/consul/docs/services/usage/checks
注册服务[API方式]
URL:http://127.0.0.1:8500/v1/agent/service/register
Body:
{
"ID": "user-service",
"Name": "user-service",
"Tags": ["user", "service", ""],
"Address": "127.0.0.1",
"Port": 9991
}
注册服务 check:http
URL:http://127.0.0.1:8500/v1/agent/service/register?replace-existing-checks=true
Header:Content-type:application/json
Body:`{
"ID": "user-web",
"Name": "user-web",
"Tags": ["user", "web", "gin"],
"Address": "127.0.0.1",
"Port": 9999,
// 健康检查
"Check": {
"http":"http://127.0.0.1:9999/health", // 健康检查的路径
"Interval": "5s", // 间隔5秒
"Timeout": "5s"
},
}`
注册服务:check:grpc
grpc健康检查文档:https://github.com/grpc/grpc/blob/master/doc/health-checking.md
consul-grpc健康检查文档:https://developer.hashicorp.com/consul/docs/services/usage/checks#grpc-checks
1. GRPC服务注册健康检查:
// 注册服务健康检查
// "google.golang.org/grpc/health"
// "google.golang.org/grpc/health/grpc_health_v1"
grpc_health_v1.RegisterHealthServer(s, health.NewServer())
2. Consul注册服务
URL:http://127.0.0.1:8500/v1/agent/service/register?replace-existing-checks=true
Body:{
"ID": "user-service",
"Name": "user-service",
"Tags": ["user", "service", "grpc"],
"Address": "127.0.0.1",
"Port": 9991,
"Check": {
"GRPC":"127.0.0.1:9991",
"GRPCUseTLS":false,
"Interval": "5s",
"Timeout": "5s"
}
}
验证
分类:
Go
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理