This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
负载平衡的工作原理
在基本负载平衡设置中,客户端将其请求发送到在 NetScaler 设备上配置的虚拟服务器的 IP 地址。虚拟服务器根据称为负载平衡算法的预设模式将它们分发到负载平衡应用程序服务器。有时,您可能需要为负载平衡虚拟服务器分配一个通配符地址,而不是特定的 IP 地址。有关在设备上指定全局 HTTP 端口的说明,请参阅 全局 HTTP 端口。
负载平衡基础知识
负载平衡设置包括负载平衡虚拟服务器和多个负载平衡的应用程序服务器。虚拟服务器接收传入的客户端请求,使用负载平衡算法选择应用程序服务器,然后将请求转发到选定的应用程序服务器。以下概念图说明了典型的负载平衡部署。另一种变体涉及分配全局 HTTP 端口。
图 1. 负载平衡体系结构
负载平衡虚拟服务器可以使用多种算法(或方法)来确定如何在其管理的负载平衡服务器之间分配负载。默认的负载平衡方法是最小连接方法,在这种方法中,NetScaler 设备将每个传入的客户端连接转发到当前活动用户连接最少的负载平衡应用程序服务器。
您在典型的 NetScaler 负载平衡设置中配置的实体是:
- 负载平衡虚拟服务器。客户端向特定负载平衡网站或应用程序发送连接请求的 IP 地址、端口和协议组合。如果应用程序可以从 Internet 访问,则虚拟服务器 IP (VIP) 地址为公有 IP 地址。如果只能从局域网或广域网访问该应用程序,则 VIP 通常是私有(ICANN 不可路由)IP 地址。
- 服务。用于将请求路由到特定负载平衡应用程序服务器的 IP 地址、端口和协议组合。服务可以是应用程序服务器本身的逻辑表示形式,也可以是托管多个应用程序的服务器上运行的应用程序的逻辑表示形式。创建服务后,将其绑定到负载平衡虚拟服务器。
- 服务器对象。一种虚拟实体,使您能够为物理服务器分配名称,而不是通过其 IP 地址来识别服务器。如果您创建服务器对象,则可以在创建服务时指定其名称而不是服务器的 IP 地址。否则,在创建服务时必须指定服务器的 IP 地址,此 IP 地址将成为服务器的名称。
- 监视器。NetScaler 设备上的一个实体,用于跟踪服务并确保其正常运行。监视器会定期探测(或执行运行状况检查)您分配给它的每项服务。如果服务在超时指定的时间内没有响应,并且指定数量的运行状况检查失败,则该服务将被标记为关闭。然后,NetScaler 设备在执行负载平衡时会跳过该服务,直到导致服务退出响应的问题得到解决。
负载平衡设置中的虚拟服务器、服务和负载平衡应用程序服务器可以使用 Internet 协议版本 4 (IPv4) 或互联网协议版本 6 (IPv6) IP 地址。您可以在单个负载平衡设置中混合 IPv4 和 IPv6 地址。
有关负载平衡设置的变体,请参阅以下用例:
- 在直接服务器返回模式下配置负载平衡
- 在 DSR 模式下配置 LINUX 服务器
- 使用 TOS 时配置 DSR 模式
- 使用基于 IP 的 IP 在 DSR 模式下配置负载平衡
- 在单臂模式下配置负载平衡
- 在内联模式下配置负载平衡
- 入侵检测系统服务器的负载平衡
- 负载平衡远程桌面协议服务器
了解拓扑
在负载平衡设置中,负载平衡服务器在逻辑上位于客户端和服务器群之间,用于管理流向服务器群中服务器的流量。在 NetScaler 设备上,应用程序服务器由称为服务的虚拟实体表示。下图显示了基本负载平衡配置的拓扑。
图 2. 基本负载平衡拓扑
在逻辑示意图中,负载平衡用于管理流向服务器的流量。虚拟服务器选择服务,然后指定该服务处理客户端请求。假设创建服务 service-HTTP-1 和 service-HTTP-2 并将其绑定到名为 vserver-LB-1 的虚拟服务器的场景。vserver-LB-1 将客户端请求转发到 service-HTTP-1 或 service-HTTP-2。NetScaler 设备使用最小连接负载平衡方法为每个请求选择服务。下表列出了必须在设备上配置的基本实体的名称和值。
实体 | 名称 | IP 地址 | Port(端口) | 协议 |
---|---|---|---|---|
虚拟服务器 | Vserver-LB-1 | 10.102.29.60 | 80 | HTTP |
服务 | Service-HTTP-1 | 10.102.29.5 | 80 | HTTP |
Service-HTTP-2 | 10.102.29.6 | 80 | ||
显示器 | 默认值 | 无 | 无 | 无 |
下图显示了上表中描述的负载平衡示例值和强制参数。
图 3. 负载平衡实体模型
使用通配符而不是 IP 地址和端口
有时,您可能需要使用通配符作为虚拟服务器的 IP 地址或端口或服务端口。以下情况可能需要使用通配符:
- 如果 NetScaler 设备配置为透明直通,则无论发送到哪个 IP 或端口,它都必须接受发送到它的所有流量。
- 如果一个或多个服务监听不为人知的端口。
- 如果一项或多项服务会随着时间的推移而更改它们所监听的端口。
- 如果您达到可以在单个 NetScaler 设备上配置的 IP 地址和端口数量的限制。
- 如果要创建侦听特定虚拟 LAN 上所有流量的虚拟服务器。
当配置了通配符的虚拟服务器或服务接收流量时,NetScaler 设备会确定实际 IP 地址或端口,并为服务和相关的负载平衡应用程序服务器创建记录。这些动态创建的记录称为动态学习的服务器和服务记录。
例如,防火墙负载平衡配置可以对 IP 地址和端口使用通配符。如果将通配符 TCP 服务绑定到这种类型的负载平衡虚拟服务器,则虚拟服务器将接收并处理与任何其他服务或虚拟服务器不匹配的所有 TCP 流量。
下表介绍了一些不同类型的通配符配置以及必须使用每种配置的时间。
IP | Port(端口) | 协议 | 说明 |
---|---|---|---|
* | * | TCP | 一种通用通配符虚拟服务器,它接受发送到 NetScaler 设备上任何 IP 地址和端口的流量。使用通配符虚拟服务器时,设备会动态学习每项服务的 IP 和端口,并在处理流量时创建必要的记录。 |
* | * | TCP | 防火墙负载平衡虚拟服务器。您可以将防火墙服务绑定到此虚拟服务器,然后 NetScaler 设备将流量通过防火墙传送到目标。 |
IP 地址 | * | TCP、UDP 和任何 | 接受发送到指定 IP 地址的所有流量的虚拟服务器,无论端口如何。您必须将流量重定向到的服务显式绑定到此类虚拟服务器。它不能动态学习它们。 |
* | port | SSL、SSL_TCP | 接受发送到特定端口上任何 IP 地址的所有流量的虚拟服务器。用于全局透明 SSL 卸载。通常为相同协议类型的服务执行的所有 SSL、HTTP 和 TCP 处理都应用于定向到此特定端口的流量。设备使用端口动态了解必须使用的服务的 IP。如果未指定 —cleartext,则 NetScaler 设备将使用端到端 SSL。 |
* | port | 不适用 | 所有其他可以接受到端口流量的虚拟服务器。您不会将服务绑定到这些虚拟服务器。NetScaler 设备会动态学习它们。 |
注意:如果您已将 NetScaler 设备配置为使用全局(通配符)端口的透明直通,则可能需要打开 Edge 模式。 有关更多信息,请参阅“配置边缘模式”。“
NetScaler 设备首先尝试进行精确匹配,尝试找到虚拟服务器和服务。如果未找到任何匹配项,它将继续按以下顺序根据通配符搜索匹配项:
- 特定 IP 地址和特定端口号
- 特定 IP 地址和*(通配符)端口
-
- (通配符)IP 地址和特定端口
-
- (通配符)IP 地址和 *(通配符)端口
如果设备无法按 IP 地址或端口号选择虚拟服务器,它会根据请求中使用的协议按以下顺序搜索虚拟服务器:
- HTTP
- TCP
- 任何
配置全局 HTTP 端口
您无需为全局 HTTP 端口配置服务或虚拟服务器。相反,您可以使用 set ns param 命令配置特定端口。配置此端口后,NetScaler 设备接受与端口号匹配的所有流量,并将其作为 HTTP 流量进行处理,为该流量动态学习和创建服务。
您可以将多个端口号配置为全局 HTTP 端口。如果您在单个 set ns param 命令中指定多个端口号,请用单个空格分隔端口号。如果已经将一个或多个端口指定为全局 HTTP 端口,并且您想在不删除当前配置的端口的情况下添加一个或多个端口,则必须在命令中指定所有端口号,包括当前和新的端口。在添加端口号之前,使用 show ns param 命令查看当前配置的端口。
使用命令行界面配置全局 HTTP 端口
在命令提示符处,键入以下命令以配置全局 HTTP 端口并验证配置:
set ns param –httpPort <port>
show ns param
<!--NeedCopy-->
示例 1:将端口配置为全局 HTTP 端口
在此示例中,端口 80 被配置为全局 HTTP 端口。
set ns param -httpPort 80
Done
show ns param
Global configuration settings:
HTTP port(s): 80
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
...
...
<!--NeedCopy-->
示例 2:在已配置一个或多个全局 HTTP 端口时添加端口**
在此示例中,端口 8888 被添加到全局 HTTP 端口列表中。端口 80 已配置为全局 HTTP 端口。
> show ns param
Global configuration settings:
HTTP port(s): 80
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
Min Path MTU: 576
...
...
Done
> set ns param -httpPort 80 8888
Done
> show ns param
Global configuration settings:
HTTP port(s): 80,8888
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
Min Path MTU: 576
...
...
Done
>
<!--NeedCopy-->
使用配置实用程序配置全局 HTTP 端口
- 导航到“系统”>“设置”>“更改 HTTP 参数”,然后添加 HTTP 端口号。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.