Dns 会不会返回多个 ip 地址

 
Category: NetWork

问题

DNS 解析一个地址的时候会返回多个 IP 吗?

不会

分析

基于 DNS 的负载均衡

实际上可以实现一个域名对应多个 IP 地址的, 只需要在 DNS服务器中添加一条解析记录, 将域名指向服务器的 IP 地址即可.

DNS 解析策略

  • 轮询(poll): DNS 服务器按顺序返回多个 IP 地址, 实现请求的轮流分发道不同的服务器上.
  • 权重: 为每个 IP 地址分配不同的权重, 权重越高的服务器被选中的概率越大.
  • 响应时间: DNS 服务器通过测量服务器响应时间来选择最快的服务器, 将域名解析为对应的 IP 地址.

优缺点

优点

  1. 将负载均衡工作交给 DNS, 省去了网站管理维护负载均衡服务器的麻烦
  2. 技术实现灵活, 操作简单, 成本低, 适合大多数 TCP/IP 应用.
  3. 对部署在服务器上的应用来说, 不需要修改任何代码就能实现不同机器上的应用访问.
  4. 很多 DNS 系统支持基于地理位置的域名解析, 可以将域名解析成距离用户地理位置最近的服务器地址, 加快用户访问速度.

缺点

  1. 缓存失效问题
  2. 缓存时间较短, 刷新频率高, 频繁发起请求, 导致网络负担
  3. DNS 本身不具备主动监测服务器负载情况或者动态调整权重的能力, 不能区分不同服务器之间的性能和负载差异, 不能反映服务器当前的运行状态.