ADC
感谢您提供反馈

这篇文章已经过机器翻译.放弃

自定义哈希算法以实现跨虚拟服务器的持久性

NetScaler 设备使用基于哈希的算法来维护虚拟服务器之间的持久性。默认情况下,基于哈希的负载平衡方法使用服务 IP 地址和端口号的哈希值。如果某项服务在同一台服务器的不同端口上可用,则该算法会生成不同的哈希值。因此,不同的负载平衡虚拟服务器可能会将同一应用程序的请求发送到不同的服务,从而打破伪持久性。

除了使用端口号生成哈希值之外,您还可以为每项服务指定一个唯一的哈希标识符。对于服务,必须在所有虚拟服务器上指定相同的哈希标识符值。如果物理服务器为多种类型的应用程序提供服务,则每种应用程序类型都应具有唯一的哈希标识符。

计算服务哈希值的算法的工作原理如下:

  • 默认情况下,全局设置指定在哈希计算中使用端口号。
  • 如果您为服务配置哈希标识符,则无论全局设置如何,都会使用该哈希标识符,而不使用端口号。
  • 如果您未配置哈希标识符,而是更改了全局设置的默认值,使其不指定端口号的使用,则哈希值仅基于服务的 IP 地址。
  • 如果您未配置哈希标识符或将全局设置的默认值更改为使用端口号,则哈希值基于服务的 IP 地址和端口号。

在使用 CLI 将服务绑定到服务组时,您还可以指定哈希标识符。在配置实用程序中,您可以打开服务组并在成员选项卡上添加哈希标识符。

使用 CLI 更改 use-port-number 全局设置

在命令提示符下,键入:

set lb parameter -usePortForHashLb (YES NO)

示例:

> set lb parameter -usePortForHashLb NO Done >show lb parameter Global LB parameters: Persistence Cookie HttpOnly Flag: DISABLED Use port for hash LB: NO Done

使用 GUI 更改 use-port-number 全局设置

  1. 导航到流量管理 > 负载平衡 > 配置负载平衡参数。
  2. 选择或清除“使用端口用于基于哈希的 LB 方法”。

使用 CLI 创建新服务并为服务指定哈希标识符

在命令提示符处,键入以下命令以设置哈希 ID 并验证设置:

add service < name > (< ip > < serverName >) < serviceType > < port > -hashId < positive_integer >
show service <name>

示例:

> add service flbkng 10.101.10.1 http 80 -hashId 12345 Done >show service flbkng flbkng (10.101.10.1:80) - HTTP State: DOWN Last state change was at Thu Nov 4 10:14:52 2010 Time since last state change: 0 days, 00:00:15.990 Server Name: 10.101.10.1 Server ID : 0 Monitor Threshold : 0 Down state flush: ENABLED Hash Id: 12345 1) Monitor Name: tcp-default State: DOWN Weight: 1 Done

使用 CLI 为现有服务指定哈希标识符

键入 set service 命令、服务名称和 -hashID ,然后输入 ID 值。

在添加服务组成员时指定哈希标识符

要为要添加到组中的每个成员指定哈希标识符并验证设置,请在命令提示符处键入以下命令(请务必为每个成员指定唯一的 hashID。):

bind servicegroup <serviceGroupName> <memberName> <port> -hashId <positive_integer> show servicegroup <serviceGroupName>

示例:

bind servicegroup http_svc_group 10.102.27.153 80 -hashId 2222222 >show servicegroup SRV SRV - HTTP State: ENABLED Monitor Threshold : 01) 1.1.1.1:80 State: DOWN Server Name: 1.1.1.1 Server ID: 123 Weight: 1 Hash Id: 32211 Monitor Name: tcp-default State: DOWN2) 2.2.2.2:80 State: DOWN Server Name: 2.2.2.2 Server ID: 123 Weight: 1 Hash Id: 12345 Monitor Name: tcp-default State: DOWN … Done

使用 GUI 为服务指定哈希标识符

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。
  2. 创建新服务,或打开现有服务并指定哈希 ID。

使用 GUI 为已配置的服务组成员指定哈希标识符

  1. 导航到 流量管理 > 负载平衡 > 服务组。
  2. 打开一个成员并键入一个唯一的哈希 ID。
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。