# 配置会话保持提升访问效率
在电商购物和用户登录的场景中，客户端与服务器的连接需要保持联系性，如果客户端请求经过ELB转发后被分配到不同的后端服务器进行处理，会导致重复登录或丢失操作进度的问题，影响业务体验。后端服务器组支持开启会话保持功能，负载均衡器可以识别客户端请求的特征（如IP/cookie），在实现负载均衡的同时，将相关联的客户端访问请求分配到同一台服务器上进行处理，提升访问效率和用户体验。
#### 会话保持介绍
不同通信协议的后端服务器组，在不同的流量分配策略下，支持的会话保持类型存在差异，支持详情请参考[表1]。
 表1独享型负载均衡会话保持支持情况 
| 后端服务器组协议                                                                                                                                                                                                                     | 分配策略类型    | 会话保持类型                                                                                                                                                                     |
|:---|:---|:---|
| - TCP  - UDP                                                                            | 加权轮询算法   | 源IP地址                                                                                                                                                                        |
| - TCP  - UDP                                                                            | 加权最少连接 | 源IP地址                                                                                                                                                                      |
| - TCP  - UDP                                                                            | 源IP算法     | 不支持设置会话保持                                                                                                                                                                    |
| - HTTP  - HTTPS  - GRPC   | 加权轮询算法    | - 负载均衡器cookie  - 应用程序cookie           |
| - HTTP  - HTTPS  - GRPC   | 加权最少连接    | - 负载均衡器cookie  - 应用程序cookie   |
| - HTTP  - HTTPS  - GRPC   | 源IP算法     | 不支持设置会话保持                                                                                                                                                                    |
| QUIC                                                                                                                                                                                                                            | 连接ID算法    | 源IP地址                                                                                                                                                                        |
   
表2会话保持类型对比 
| 会话保持类型     | 描述                                                                                          | 会话保持时间                                                                                                                                                                                                                                                  | 会话保持失效的场景                                                                                                                                                                                         |
|:---|:---|:---|:---|
| 源IP地址      | 基于源IP地址的简单会话保持，将请求的源IP地址作为散列键（HashKey），从静态分配的散列表中找出对应的服务器。即来自同一IP地址的访问请求会被转发到同一台后端服务器上进行处理。 | - 默认时间：20分钟  - 最长时间：60分钟  - 取值范围：1-60分钟            | - 客户端的源IP地址发生变化。  - 客户端访问请求超过会话保持时间。                   |
| 负载均衡器cookie  | 负载均衡器会根据客户端第一个请求生成一个cookie，后续所有包含这个cookie值的请求都会由同一个后端服务器处理。                                  | - 默认时间：20分钟  - 最长时间：1440分钟  - 取值范围：1-1440分钟   | - 如果客户端发送请求未附带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_jt_0003.html)选择"源IP算法"时，已默认支持基于源IP地址的会话保持。
- 当[分配策略类型](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0003.html)选择"加权轮询算法"或"加权最少连接"时，才可配置会话保持。
 
#### 约束与限制
- 如果您需要从**云专线** 、**VPN** 、**云连接**访问ELB，请您使用源IP负载均衡算法代替会话保持功能。
- 当前QUIC协议的后端服务器组默认支持会话保持，无会话保持功能开关。
- 独享型负载均衡器支持源IP地址、负载均衡器cookie、应用程序cookie的会话保持类型。
 
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
- 独享型负载均衡器支持应用程序cookie的会话保持陆续上线中，请以控制台实际为准。
- 对于HTTP、HTTPS类型的后端服务器组，变更会话保持的状态可能会导致监听器与后端服务器组的访问出现秒级中断。
- 如果您开启了会话保持功能，那么有可能会造成后端服务器的访问量不均衡。如果出现了访问不均衡的情况，建议您暂时关闭会话保持功能，再观察是否依然存在访问不均衡的情况。
 
#### 配置会话保持
1. 进入[后端服务器组列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/elbPool/list)。
2. 在后端服务器组列表页面，在目标后端服务器组所在行的操作列单击"编辑"。
3. 在"修改后端服务器组"弹窗中，开启或关闭会话保持功能开关。 开启会话保持功能需配置会话保持类型以及会话保持时间。
   
4. 单击"确定"。
 
#### 相关文档
- [如何检查弹性负载均衡会话保持不生效问题？](https://support.huaweicloud.com/elb_faq/elb_faq_0046.html)
- [后端服务器组中分配策略类型和会话保持类型有什么关系？](https://support.huaweicloud.com/elb_faq/elb_faq_05_0008.html)
 
