负载均衡器可实现持久性,将所有相关连接定向到同一服务器,从而确保有状态应用程序的稳定性。为了满足不同类型的应用程序需求,支持不同类型的持久性。
某些应用程序会保持服务器状态,如购物车。此类状态可能基于客户端并由客户端 IP 地址或根据 HTTP 会话标识。在处理来自同一客户端或 HTTP 会话的后续相关连接时,应用程序可能会访问或修改此状态。
源 IP 持久性配置文件基于源 IP 地址跟踪会话。客户端请求连接到支持源地址持久性的虚拟服务器时,负载均衡器将检查该客户端之前是否曾建立连接;如果是,则将客户端返回给同一服务器。否则,可以根据池负载均衡算法选择服务器池成员。源 IP 持久性配置文件由第 4 层和第 7 层虚拟服务器使用。
Cookie 持久性配置文件将插入唯一的 Cookie,以便在客户端首次访问站点时标识会话。HTTP Cookie 在后续请求中由客户端转发,并且负载均衡器使用该信息提供 Cookie 持久性。Cookie 持久性配置文件只能由第 7 层虚拟服务器使用。请注意,不支持 Cookie 名称中存在空格。
前提条件
确认在 NSX Manager 用户界面中选择了管理器模式。请参见NSX Manager。如果看不到策略和管理器模式按钮,请参见配置用户界面设置。
过程
- 从浏览器中,使用管理员特权登录到 NSX Manager,网址为 https://<nsx-manager-ip-address>。
- 选择 。
- 创建一个源 IP 持久性配置文件。
- 从下拉菜单中选择 。
- 输入源 IP 持久性配置文件的名称和描述。
- 填写持久性配置文件详细信息。
您也可以接受默认源 IP 配置文件设置。
选项 说明 共享持久性 切换该按钮以共享持久性,使与此配置文件关联的所有虚拟服务器均可共享持久性表。 如果与虚拟服务器关联的源 IP 持久性配置文件中未启用持久性共享,则与配置文件关联的每个虚拟服务器都将维护一个专用持久性表。
持久性条目超时 输入持久性到期时间(秒)。 负载均衡器持久性表维护用来记录客户端请求被定向到同一服务器的条目。
- 如果在超时期限内没有收到来自同一客户端的新连接请求,持久性条目将过期并被删除。
- 如果在超时期限内收到来自同一客户端的新连接请求,则会重置定时器,并将客户端请求发送到粘滞池成员。
超时期限到期后,新连接请求将被发送到由负载均衡算法分配的服务器。对于 L7 负载均衡 TCP 源 IP 持久性场景,如果在一段时间内未建立新的 TCP 连接,持久性条目将超时,即使现有的连接仍处于活动状态。
HA 持久性镜像 切换该按钮以将持久性条目同步到 HA 对等体。 已满时清除条目 当持久性表已满时清除条目。 如果流量很大,则较大的超时值可能会导致持久性表快速填满。当持久性表填满时,会删除最早的条目以接受最新条目。
- 单击确定。
- 创建一个 Cookie 持久性配置文件。
- 从下拉菜单中选择 。
- 输入 Cookie 持久性配置文件的名称和描述。
- 切换共享持久性按钮以在与相同池成员关联的多个虚拟服务器之间共享持久性。
Cookie 持久性配置文件将插入格式为 <名称>.<配置文件 ID>.<池 ID> 的 Cookie。
如果与虚拟服务器关联的 Cookie 持久性配置文件中未启用持久性共享,则会使用每个虚拟服务器的专用 Cookie 持久性并由池成员对其进行限定。负载均衡器将插入格式为 <名称>.<虚拟服务器 ID>.<池 ID> 的 Cookie。 - 单击下一步。
- 填写持久性配置文件详细信息。
选项 说明 Cookie 模式 从下拉菜单中选择一个模式。 - INSERT - 添加唯一的 Cookie 以标识会话。
- PREFIX - 附加到现有 HTTP Cookie 信息。
- REWRITE - 重写现有 HTTP Cookie 信息。
Cookie 名称 输入 Cookie 名称。不支持 Cookie 名称中存在空格。 Cookie 域 输入域名。 HTTP Cookie 域只能在 INSERT 模式中配置。
Cookie 路径 输入 Cookie URL 路径。 HTTP Cookie 路径只能在 INSERT 模式中设置。
Cookie 加密 加密 Cookie 服务器 IP 地址和端口信息。 切换该按钮以禁用加密。禁用乱码时,Cookie 服务器 IP 地址和端口信息采用明文形式。
Cookie 回退 如果 Cookie 指向处于 DISABLED 或 DOWN 状态的服务器,请选择一个新的服务器来处理客户端请求。 切换该按钮,以便在 Cookie 指向处于 DISABLED 或 DOWN 状态的服务器时拒绝客户端请求。
- 填写 Cookie 到期详细信息。
选项 说明 Cookie 时间类型 从下拉菜单中选择 Cookie 时间类型。 会话 Cookie 未存储,将在浏览器关闭后丢失。
持久性 Cookie 已由浏览器存储,将不会在浏览器关闭后丢失。
最长空闲时间 输入 Cookie 过期之前可以处于空闲状态的时间(以秒为单位)。 最长 Cookie 存在时间 仅适用于会话 Cookie。输入 Cookie 可以处于活动状态的最长时间(以秒为单位)。 - 单击完成。