功能概述

会话保持可使得来自同一 IP 的请求被转发到同一台后端服务器上。

例如,某用户在服务器 A 登录,访问请求被分配到服务器 A,在很短的时间内,该用户又发出一个请求,如果没有开启会话保持功能,则该用户的请求很有可能会被分配到服务器 B。由于用户在服务器 B 上未登录,所以用户需要重新登录。但对用户而言,并不知道也不关心自己的请求被分配到哪台服务器,能感知到的是刚登录了,怎么又要登录,导致体验不好。

若配置了会话保持功能,则这一系列的操作过程都由同一台服务器完成,而不会被负载均衡器分配到不同的服务器上。

操作步骤

  1. 通过 Web 浏览器登录企业云平台的 Console。

  2. 在顶部菜单栏中选择产品与服务 > 网络服务 > 负载均衡器,进入负载均衡器列表页面。

  3. 在负载均衡器列表,点击目标实例 ID,进入负载均衡器实例详情页。

    ld_lisener
  4. 监听器页签,点击目标监听器所在行末尾的操作 > 修改。弹出修改对话框。

  5. 按照以下内容,修改负载方式

    • 当监听器为 TCP 或 UDP 监听器时,将负载方式设置为 源地址 即可获得会话保持能力,理论上只要后端没有增删或者上下线,会话就不会过期。

    • 当监听器为 HTTP 或 HTTPS 监听器时,点击显示高级选项,将会话保持修改为 启用 即可。

  6. 确认操作无误后,点击提交,完成操作。

附录

会话保持的实现方式大致说明如下。

四层会话保持

四层协议(TCP/UDP)支持基于源 IP 的会话保持能力,即来自同一 IP 地址的访问请求会转发到同一台后端服务器上进行处理。数据传输快。

适用于注重可靠性,对数据准确性要求高的场景,如文件传输、发送或接收邮件、远程登录。对性能和并发规模有要求的 Web 应用。

七层会话保持

七层协议(HTTP/HTTPS)支持基于 Cookie 植入的会话保持能力,使用 X-Forward-For 获取源地址。可以将来自同一个客户端的请求始终发给同一个后端服务器。适用于需要对数据内容进行识别的应用,如 Web 应用、移动游戏等。

云平台支持以下植入 Cookie 的方式:

  • 植入 Cookie

    由负载均衡器向客户端植入 Cookie,需要指定 Cookie 的过期时间,不指定默认为不过期。

  • 植入 Cookie 前缀

    由后端业务来植入和管理,负载均衡器会通过在该 Cookie 前增加前缀来实现会话保持,植入 Cookie 前缀对后端服务是透明的,不影响后端服务的正常运行。需要指定需要植入前缀的 Cookie 名称。

  • 重写 Cookie

    Cookie 由后端业务来植入和管理,负载均衡器会通过完全重写该 Cookie 的值来实现会话保持,重写 Cookie 对后端服务是透明的,不影响后端服务的正常运行。需要指定需要重写的 Cookie 名称。

  • 后端 Cookie

    Cookie 由后端业务来植入和管理,需要指定会话保持的 Cookie 名称和超时时间。