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

会话保持的作用

举例说明:

某用户在服务器甲登录,访问请求被分配到服务器甲,在很短的时间,该用户又发出一个请求,如果没有开启会话保持功能,则该用户的请求很有可能会被分配到服务器乙,由于用户在服务器乙上未登录,所以用户需要重新登录。但对用户而言,并不知道也不关心自己的请求被分配到哪台机器,能感知到的是刚登录了,怎么又要登录,导致体验很不好。 若配置了会话保持功能,则这一系列的操作过程都由同一台服务器完成,而不会被负载均衡器分配到不同的服务器上。

四层会话保持

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

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

七层会话保持

七层协议(HTTP/HTTPS)支持基于 Cookie 植入的会话保持能力,使用 X-Forward-For 获取源地址。可以将来自同一个客户端的请求始终发给同一个后端服务器。云平台支持以下植入 Cookie 的方式:

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

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

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

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

适用场景:需要对数据内容进行识别的应用,如 Web 应用、移动游戏等。

配置会话保持

四层会话保持:

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

cfg session hold 1

七层会话保持:

当创建七层协议(HTTP/HTTPS)监听器时,会话保持选择启用即可。

cfg session hold 2