应用场景
在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,所以这就要求这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上,此时就需要相应的会话保持策略来保证相关的请求始终被负载到后端的一台服务器。
通过会话保持,Web应用程序可以跟踪用户的状态和数据,并提供个性化的体验,而不必在每个请求中重新验证用户或重建状态。
会话保持原理分析
针对于不同资源池负载均衡会话保持方式的名称和行为略有差异,例如主备模式资源池,会话保持的名称和行为如下:
主备、集群模式资源池列表见产品简介-产品类型和规格,实际情况以控制台展现为准。
HTTP_COOKIE
在HTTP_COOKIE方式下,ELB负责在HTTP响应头插入会话保持cookie,后端服务器无需做任何修改。当客户首次请求时,ELB选择后端一台服务器转发,在后端服务器回复HTTP响应头时,ELB插入会话保持cookie,该cookie的值为后端服务器SERVERID。在cookie有效期内,后续客户端请求都携带会话保持cookie,ELB根据该cookie的值将请求转发给同一后端服务器处理。
APP_COOKIE
在APP_COOKIE方式下,后端服务器负责在HTTP响应头插入会话保持cookie,ELB只对cookie做记录和透传。当客户首次请求时,ELB选择后端一台服务器转发,在后端服务器回复HTTP响应头时,ELB记录下会话保持cookie的值与后端服务器的关联关系,将该cookie透传给客户端。在cookie有效期内,后续客户端请求都携带会话保持cookie,ELB根据该cookie的值与后端服务器的关联关系,将请求转发给同一后端服务器处理。相比于HTTP_COOKIE, APP_COOKIE由后端服务器决定是否会话保持,适用于需要后端控制的复杂业务场景。
SOURCE_IP
根据收到请求的客户端源IP地址信息,ELB将相同源IP地址的流量分发到相同的后端服务器上。
天翼云集群模式资源池适用于以下规则:
主备、集群模式资源池列表见产品简介-产品类型和规格,实际情况以控制台展现为准。
植入COOKIE
原理与以上的HTTP_COOKIE相同。
重写COOKIE
在重写Cookie方式下,后端服务器负责在HTTP响应头插入会话保持cookie,ELB对cookie做改写。当客户首次请求时,ELB选择后端一台服务器转发,在后端服务器回复HTTP响应头时,ELB将会话保持cookie的值改写为后端服务器的SERVERID。在cookie有效期内,后续客户端请求都携带会话保持cookie,ELB根据该cookie的值将请求转发给同一后端服务器处理。相比于植入Cookie, 重写Cookie由后端服务器决定是否会话保持,适用于需要后端控制的复杂业务场景。
SOURCE_IP
根据收到请求的客户端源IP地址信息,ELB将相同源IP地址的流量分发到相同的后端服务器上。
前提条件
- 您已在所在可用区创建VPC,并创建业务主机,完成服务配置。
- 您已创建负载均衡实例。
操作步骤
- 登录天翼云控制中心,选择资源节点;本文我们选择的是华东-华东1。
- 在控制中心页面,依次选择“网络 > 弹性负载均衡”。
- 在负载均衡页面,点击“ELB实例名称”,进入详情页面。
- 在监听器页签,点击“添加监听器”按钮,创建监听器。
- 在监听器创建页面填写监听器名称,设置负载均衡器协议/端口等参数信息,完成后点击“下一步”。
- 创建后端主机组,选择后端云主机,添加到后端主机组,添加完成点击“下一步”。
- 在“负载均衡&健康检查”配置页面,找到“会话保持方式”,点击下拉框便可以选择不同的会话保持类型。在实际业务中,您可以根据具体情况进行会话方式的选择,最后完成负载方式、健康检查等其它配置。
- 点击“立即创建”完成配置并创建监听器。