Consul 的 DNS 和 HTTP 发现接口各适合什么?
查看完整题解
参考回答
直接回答
DNS 接口适合已经会按域名访问的程序,A、AAAA 查地址,SRV 还能带端口。HTTP 适合需要实例 ID、标签、检查状态,或需要指定数据中心与一致性模式的调用方。
讲清原理
常见 DNS 服务名是 inventory.service.consul。HTTP 可用 /v1/health/service/inventory?passing=true。DNS 默认可以使用较旧的 server 数据。HTTP 查询的具体一致性由所用端点和查询参数决定。
例子与易错点
代理按故障标签筛实例时,直接用 HTTP 返回的标签和检查字段就能判断。应用平时只靠域名找地址时,可以继续用 DNS,但要实测多地址和缓存行为。
延伸阅读 用 Consul HTTP API 如何查到可用实例? · 怎么通过 DNS 找到 Consul 服务? · Consul 参与负载均衡时,谁实际选实例?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。