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

怎么通过 DNS 找到 Consul 服务?

先说出你的答案

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

查看完整题解

参考回答

直接回答

向 Consul 的 DNS 接口查 inventory.service.consul。A 或 AAAA 记录返回地址,SRV 记录还携带端口。客户端使用 SRV 时也要支持解析目标主机名。

讲清原理

默认服务查询会排除 critical,是否排除 warning 取决于 dns_config.only_passing。生产可让组织自己的 DNS 按域转发到 Consul。代理、应用所在机器的本地 DNS 解析组件和客户端的实际缓存会影响地址更新。

例子与易错点

本地开发 agent 在 8600 端口时,可执行 dig @127.0.0.1 -p 8600 inventory.service.consul SRV。若返回有端口但应用仍连默认端口,检查客户端是不是只用了 A 查询。

延伸阅读 Consul 的默认访问地址和端口是什么? · Consul 参与负载均衡时,谁实际选实例? · Consul 的 DNS 和 HTTP 发现接口各适合什么?

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

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