
Consul 服务注册中心安装与配置
Docker 安装 Consul
8500 HTTP 端口
8600 DNS 端口
1 | docker run -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600/udp consul consul agent -dev -client=0.0.0.0 |
Consul Web
http:// [docker-ip]:8500
Consul DNS
Consul 提供 DNS 功能,可以让我们通过, 可以通过 dig 命令行来测试,consul 默认的 dns 端口是 8600
Linux
1 | yay -S bind |
Windows
1 | dig @172.17.0.1 -p 8600 consul.service.consul SRV |
Consul APi
注册服务与健康检查
HTTP Golang
服务注册 https://www.consul.io/api-docs/agent/service#register-service
健康检查 https://www.consul.io/api-docs/agent/check
1 | import ( |
gRPC Python
Protobuf https://github.com/grpc/grpc/blob/master/doc/health-checking.md
Health.py https://grpc.github.io/grpc/python/_modules/grpc_health/v1/health.html
protobuf health.proto
不要修改任何内容
1 | syntax = "proto3"; |
生成代码
1 | python -m grpc_tools.protoc --python_out=. --grpc_python_out=. -I. health.proto |
- 实现 Check 和 Watch 方法 health.py 复制进去即可
https://grpc.github.io/grpc/python/_modules/grpc_health/v1/health.html
- 新建
_async.py
复制以下内容
1 | # Copyright 2020 The gRPC Authors |
注册健康检查服务
请确使用 Consul 能访问的 IP,特别是 Consul 使用 Docker 部署
1 | import requests |
注销服务
1 | func Deregister(id string) { |
获取服务
1 | // 获取所有服务 |
- Thanks for your appreciation. / 感谢您的赞赏
赞赏名单
Because of your support, I realize the value of writing articles. / 由于您的支持,我才能够实现写作的价值。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自Go知行
评论