问题
DNS 解析一个地址的时候会返回多个 IP 吗?
不会
分析
基于 DNS 的负载均衡
实际上可以实现一个域名对应多个 IP 地址的, 只需要在 DNS服务器中添加一条解析记录, 将域名指向服务器的 IP 地址即可.
DNS 解析策略
- 轮询(poll): DNS 服务器按顺序返回多个 IP 地址, 实现请求的轮流分发道不同的服务器上.
- 权重: 为每个 IP 地址分配不同的权重, 权重越高的服务器被选中的概率越大.
- 响应时间: DNS 服务器通过测量服务器响应时间来选择最快的服务器, 将域名解析为对应的 IP 地址.
优缺点
优点
- 将负载均衡工作交给 DNS, 省去了网站管理维护负载均衡服务器的麻烦
- 技术实现灵活, 操作简单, 成本低, 适合大多数 TCP/IP 应用.
- 对部署在服务器上的应用来说, 不需要修改任何代码就能实现不同机器上的应用访问.
- 很多 DNS 系统支持基于地理位置的域名解析, 可以将域名解析成距离用户地理位置最近的服务器地址, 加快用户访问速度.
缺点
- 缓存失效问题
- 缓存时间较短, 刷新频率高, 频繁发起请求, 导致网络负担
- DNS 本身不具备主动监测服务器负载情况或者动态调整权重的能力, 不能区分不同服务器之间的性能和负载差异, 不能反映服务器当前的运行状态.