Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Consul 的 DNS 和 HTTP 发现接口各适合什么?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

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 参与负载均衡时,谁实际选实例?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。