Citrix ADC

基于域名的负载平衡服务

创建用于负载平衡的服务时,您可以提供 IP 地址。或者,您可以使用域名创建服务器。可以使用 IPv4 或 IPv6 名称服务器解析服务器名称(域名),也可以通过向 Citrix ADC 配置添加权威 DNS 记录(IPv4 或 IPv6 的 AAAAA 记录)来解析服务器名称(域名)。

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

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

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

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

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

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

LB 拓扑-数据库服务器

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

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

实体类型 名称 IP 地址 端口 协议
虚拟服务器 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.cn 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-entity-mode

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

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

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

在命令提示窗口中,键入:

add dns nameServer <dnsVserverName>

示例:

add dns nameServer Vserver-LB-2

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

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

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

注意

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

基于域名的负载平衡服务