ADC

对基于域名的服务进行负载平衡

在创建用于负载平衡的服务时,可以提供 IP 地址。或者,您可以使用域名创建服务器。服务器名称(域名)可以使用 IPv4 或 IPv6 名称服务器进行解析,也可以在 NetScaler 配置中添加权威 DNS 记录(IPv4 或 AAAA 记录)。

当您使用域名而不是 IP 地址配置服务时,如果名称服务器将域名解析为新 IP 地址,绑定到服务的监视器将对新 IP 地址运行运行状况检查,并仅在发现 IP 地址正常时更新服务 IP 地址。监视器可以是绑定到服务的默认监视器,也可以绑定任何其他受支持的监视器。它以监视器参数中定义的定期间隔探测服务。如果域名解析为新的 IP 地址,则监视器会发送新的探测器来检查服务的运行状况。所有后续探测都处于预定义的时间间隔。

注意:当您更改服务器的 IP 地址时,第一个客户端请求的相应服务会被降级。域名服务器将服务 IP 地址解析为更改后的 IP 地址,然后将该服务标记为 UP。

基于域名的服务有以下限制:

  • 域名的最大长度为 255 个字符。
  • Maximum Client 参数用于配置代表基于域名的服务器的服务。例如,将绑定到虚拟服务器的服务的 maxClient 设置为 1000。当虚拟服务器的连接数达到 2000 时,DNS 解析器会更改服务的 IP 地址。但是,由于未重置服务上的连接计数器,因此在关闭所有旧连接之前,虚拟服务器无法进行任何新连接。
  • 当服务的 IP 地址发生变化时,持久性很难维护。
  • 如果域名解析因超时而失败,则设备将使用旧信息(IP 地址)。
  • 当监视检测到某项服务已关闭时,设备会对该服务(代表基于域名的服务器)执行 DNS 解析以获取新的 IP 地址。
  • 统计信息是在服务上收集的,IP 地址更改时不会重置。
  • 如果 DNS 解析返回代码“名称错误”(3),则设备会将服务标记为关闭并将 IP 地址更改为零。

当设备收到服务请求时,它会选择目标服务。这样,设备可以平衡服务的负载。下图描述了负载平衡一组基于域名的服务器 (DBS) 的负载平衡配置的拓扑。

图 1. DBS 服务器的基本负载平衡拓扑

LB 拓扑 DBS 服务器

服务 Service-HTTP-1、Service-HTTP-2 和 Service-HTTP-3 绑定到虚拟服务器 Vserver-LB-1。虚拟服务器 vserver-LB-1 使用最少的连接负载平衡方法来选择服务。使用名称服务器虚拟服务器LB-2 解析服务的 IP 地址。

下表列出了在设备上配置的基本实体的名称和值。

实体类型 名称 IP 地址 Port(端口) 协议
虚拟服务器 Vserver-LB-1 10.102.29.17 80 HTTP
  Vserver-LB-2 10.102.29.20 53 DNS
服务器 server-1 10.102.29.18 80 HTTP
  server-2 www.citrix.com 80 HTTP
服务 Service-HTTP-1 server-1 80 HTTP
  Service-HTTP-2 server-2 80 HTTP
  Service-HTTP-2 10.102.29.19 80 HTTP
显示器 默认值
域名服务器 10.102.29.19

下图显示了需要在设备上配置的负载平衡实体和参数值。

图 2. 负载平衡 DBS 服务器实体模型

Lb DBS 实体模式

要配置基本负载平衡设置,请参阅 设置基本负载平衡。创建 HTTP 类型的服务和虚拟服务器,并使用上表中描述的值命名实体并设置参数。

您可以添加、删除、启用和禁用外部名称服务器。可以通过指定名称服务器的 IP 地址来创建名称服务器,也可以将现有虚拟服务器配置为名称服务器。

使用命令行接口添加名称服务器

在命令提示符下,键入:

add dns nameServer <dnsVserverName>
<!--NeedCopy-->

示例:

add dns nameServer Vserver-LB-2
<!--NeedCopy-->

使用配置实用程序添加名称服务器

  1. 导航到 流量 管理 > DNS > 域服务器
  2. 创建 DNS 虚拟服务器类型的 DNS 名称服务器,然后从 DNS 虚拟服务器列表中选择服务器。

您还可以添加将域名解析为 IP 地址的权威域名服务器。

注意

您可以添加 TCP、UDP 或 UDP_TCP 类型的名称服务器来解析 DBS 探测器。但是,如果 TCP 和 UDP 名称服务器共存,并且 UDP 名称服务器收到带截断位的响应,则不会通过 TCP 名称服务器重试此响应。

对基于域名的服务进行负载平衡