
# 配置会话保持提升访问效率
会话保持，指负载均衡器可以识别客户与服务器之间交互过程的关联性，在实现负载均衡的同时，保持将其他相关联的访问请求分配到同一台服务器上。
会话保持有什么作用呢，举例说明如下：如果有一个用户在服务器甲登录了，访问请求被分配到服务器甲，在很短的时间，这个用户又发出了一个请求，如果没有会话保持功能的话，这个用户的请求很有可能会被分配到服务器乙去，这个时候在服务器乙上是没有登录的，所以需要重新登录。如果配置了会话保持功能，上述一系列的操作过程将由同一台服务器完成，避免被负载均衡器分配到不同的服务器上，提高访问效率。
#### 四层会话保持和七层会话保持的区别
按照所使用的协议的不同，会话保持可以分为**四层会话保持** 和**七层会话保持**。
表1四层会话保持和七层会话保持的区别 
| 类型     | 说明                           | 支持的会话保持类型                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 会话保持时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 会话保持失效的场景                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|:---|
| 四层会话保持 | 当使用的协议为TCP或UDP时，即为四层会话保持。    | **源IP地址：**基于源IP地址的简单会话保持，将请求的源IP地址作为散列键（HashKey），从静态分配的散列表中找出对应的服务器。即来自同一IP地址的访问请求会被转发到同一台后端服务器上进行处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | - 默认时间：20分钟  - 最长时间：60分钟  - 取值范围：1-60分钟   | - 客户端的源IP地址发生变化。  - 客户端访问请求超过会话保持时间。                   |
| 七层会话保持 | 当使用的协议为HTTP或HTTPS时，即为七层会话保持。 | - **负载均衡器cookie：**负载均衡器会根据客户端第一个请求生成一个cookie，后续所有包含这个cookie值的请求都会由同一个后端服务器处理。  - **应用程序cookie**：该选项依赖于后端应用。后端应用生成一个cookie值，后续所有包含这个cookie值的请求都会由同一个后端服务器处理。   | - 默认时间：20分钟  - 最长时间：1440分钟  - 取值范围：1-1440分钟        | - 如果客户端发送请求未附带cookie，则会话保持无法生效。  - 客户端访问请求超过会话保持时间。   |
   
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
- 当[分配策略类型](https://support.huaweicloud.com/usermanual-elb/elb_ug_shdg_0002_02.html)选择"源IP算法"时，四层和七层会话已支持基于源IP地址的会话保持。
- 当[分配策略类型](https://support.huaweicloud.com/usermanual-elb/elb_ug_shdg_0002_02.html)选择"加权轮询算法"或"加权最少连接"时，才可配置会话保持。
 
#### 约束与限制
- 如果您需要从**云专线** 、**VPN** 、**云连接**访问ELB，请您使用源IP负载均衡算法代替会话保持功能。
 
- 共享型负载均衡支持源IP地址、负载均衡器cookie、应用程序cookie的会话保持类型。
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
- 对于HTTP、HTTPS类型的后端服务器，变更会话保持的状态可能会导致监听器与后端服务器组的访问出现秒级中断。
- 如果您开启了会话保持功能，那么有可能会造成后端服务器的访问量不均衡。如果出现了访问不均衡的情况，建议您暂时关闭会话保持功能，再观察是否依然存在访问不均衡的情况。
 
#### 配置会话保持
1. 进入[后端服务器组列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/elbPool/list)。
2. 在后端服务器组列表页面，在目标后端服务器组所在行的操作列单击"编辑"。
3. 在"修改后端服务器组"弹窗中，开启或关闭会话保持功能。 开启会话保持功能需配置会话保持类型以及会话保持时间参数。
   
4. 单击"确定"。
 
