结论与原理 可以。从 DNS 的角度看,一个域名可以同时配置多条 A/AAAA 记录,指向多个 IP 地址,用于容灾与负载分担;客户端通常会按配置的 TTL 缓存并在多个地址间进行轮询或按策略选择。实际例子如 baidu.com 就同时解析到多个 IP。需要注意的是,这种“一对多”是 DNS 层的映射,具体连接哪个 IP 由客户端/中间网络决定。
实现方式与配置示例
方式一 多 A 记录轮询 在 DNS 为域名添加多条 A 记录(可设置不同权重或相同权重)。示例(区域文件片段):
example.com. IN A 203.0.113.10
example.com. IN A 203.0.113.11
example.com. IN A 203.0.113.12
可用命令行工具检查解析结果:nslookup example.com、dig +short example.com。这种方式简单通用,适合无状态服务或配合应用层重试/回退。
方式二 应用层负载均衡或服务发现 将域名解析到少数几个 VIP(虚拟 IP),由 L4/L7 负载均衡器(如 LVS、HAProxy、Nginx)或 服务网格/Ingress 将请求分发到后端多个实例。示例(Nginx 反向代理):
upstream backend {
server 10.0.0.11:80 weight=1;
server 10.0.0.12:80 weight=2;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
适合需要健康检查、会话保持、灰度发布、熔断等高级流量治理能力的场景。
验证与运维要点
nslookup 或 dig 查看是否返回多个 IP;必要时降低 TTL 以加快故障切换生效。curl -v http://example.com 多次发起请求,或在脚本中循环解析与请求,观察是否命中不同后端。常见误区与建议