全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
云解析

DNS负载均衡(加权轮询)

更新时间:2018-02-13 16:27:40

负载均衡指在多台服务器提供同一个服务时,将访问流量分配到每台服务器上,以分散业务压力的方法。DNS负载均衡是在同一域名有多条解析记录(A记录或CNAME记录)时,利用加权轮询解析机制,为网站访问者分配不同的解析结果(IP 地址或CNAME地址)。具体实现原理,参考文末理解加权轮询

应用场景

如果您有多台服务器,需要将流量分摊到各个服务器上,您可以开启云解析负载均衡。您可以在云解析控制台手动开启或者关闭负载均衡;针对不同的解析记录,也可以设置不同的权重值。参与负载均衡的解析记录的默认权重值都是1。

使用限制

DNS负载均衡仅适用于相同主机记录值相同线路下的多个A记录或CNAME记录。具体使用规则如下:

  • 支持A记录、CNAME记录带权重的轮询,不支持其它记录。
  • 不支持被暂停或者锁定的记录,以及泛解析记录。
  • 设置权重适用于在同一线路中,有多个具有相同主机记录的A记录。
  • 在不同的线路中,其权重相互独立;在智能解析的前提下,可对默认线路配置带权重的A记录,也可以对具体的线路配置。
  • 负载均衡的开关,不区分解析线路。
  • 默认权重值比为 1:1:1…

操作流程

参照以下步骤来开启DNS负载均衡:

注意:在执行以下操作前,确保您的域名下存在相同主机记录、相同线路的多条A记录或CNAME记录。

  1. 登录到 云解析DNS控制台

  2. 选择目标域名,单击其操作列下的解析设置

  3. 在左侧导航栏选择流量管理

  4. 加权轮询子页,选择相应子域名,单击其操作列下的开启。开启加权轮询后,域名下的所有IP地址将按照负载均衡权重轮询返回。

    加权轮询

  5. 选择相应子域名,单击其操作列下的设置权重。在设置权重页面,自定义参与负载均衡的每条解析记录的权重值。

    设置权重

  6. 单击确认完成配置。

理解加权轮询

假设您有 3 台服务器(IP 地址分别为1.1.1.12.2.2.23.3.3.3)提供同一服务(1个域名),且在解析设置中对应如下 3 条 A 记录:

  1. A www default 1.1.1.1 600
  2. A www default 2.2.2.2 600
  3. A www default 3.3.3.3 600

当Local DNS访问权威DNS,权威DNS将这3个解析记录全部返回给Local DNS,Local DNS再将所有的IP地址返回给网站访问者,网站访问者的浏览器会随机访问其中一个IP。

在无DNS负载均衡的权威DNS中,这种方法能够在一定程度上减轻单台服务器的压力,但它不能区分服务器的差异,不能反映服务器的当前运行状态。

轮询负载算法

DNS负载均衡可以采用简单的轮循负载算法。在开启DNS负载均衡后,权威DNS会根据解析记录的权重(默认权重1:1:1),轮询3个A记录,依次返回3个IP地址,以响应网站访问者的请求。DNS解析结果如下所示:

  1. User1 访问,返回 1.1.1.1
  2. User2 访问,返回 2.2.2.2
  3. User3 访问,返回 3.3.3.3
  4. User4 访问,返回 1.1.1.1
  5. ……

带权重的轮询负载算法

DNS负载均衡支持为不同的解析记录配置权重,视服务器的响应能力来分配其承担的流量比例。例如,将上述3条解析记录的权重比设置为2:1:1时,则DNS解析结果如下所示:

  1. User1 访问,返回 1.1.1.1
  2. User2 访问,返回 2.2.2.2
  3. User3 访问,返回 3.3.3.3
  4. User4 访问,返回 1.1.1.1
  5. User5 访问,返回 1.1.1.1
  6. User6 访问,返回 2.2.2.2
  7. ……
本文导读目录