本文将帮助您了解会话保持的技术原理,以及ALB后端主机组配置会话保持的操作步骤。
会话保持原理分析
默认情况下,ALB会将每个客户端请求分别分发至不同的后端主机上。开启会话保持后,同一客户端的请求会被转发至同一台后端主机上,方便后端主机维护状态信息及向客户端提供持续体验。
未开启会话保持:同一客户端的请求通过ALB可能会被分发至不同的后端主机,在某些场景下,如登录后端主机获取交互信息等场景,客户端的请求可能需重新登录后端主机。
开启会话保持:同一客户端的请求通过ALB被分配至同一台后端主机,而非分配至不同的后端主机,在某些场景下,如登录后端服务器获取交互信息等场景,避免了客户端的请求需要重新登录后端主机。
ALB的后端主机组开启会话保持后,需要选择Cookie的处理方式,有植入Cookie和重写Cookie两种处理方式。
植入Cookie
在植入Cookie方式下,ALB负责在HTTP响应头插入会话保持Cookie,后端主机无需做任何修改。
当客户首次请求时,ALB选择一台后端主机转发,在后端主机回复HTTP响应头时,ALB插入会话保持Cookie,该Cookie的值为后端服务器SERVERID。在Cookie有效期内,后续客户端请求都携带会话保持Cookie,ALB根据该Cookie的值将请求转发给同一后端主机处理。
植入Cookie的会话保持时间范围是1-86400s。
重写Cookie
在重写Cookie方式下,后端主机在HTTP响应头插入会话保持Cookie,ALB检测到该响应中包含指定名称的Cookie(会话保持Cookie)并对Cookie做改写。
当客户首次请求时,ALB选择一台后端主机转发,在后端主机回复HTTP响应头时,ALB将会话保持Cookie的值改写为后端主机的SERVERID。在Cookie有效期内,后续客户端请求都携带会话保持Cookie,ALB根据该Cookie的值将请求转发给同一后端主机处理。相比于植入Cookie,重写Cookie由后端主机决定是否会话保持,适用于需要后端控制的复杂业务场景。
使用场景
在大多数电子商务应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,所以这就要求这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上,此时就需要相应的会话保持策略来保证相关的请求始终被负载到后端的一台服务器。
通过会话保持,Web应用程序可以跟踪用户的状态和数据,并提供个性化的体验,而不必在每个请求中重新验证用户或重建状态。
操作步骤
1.登录网络控制台,选择应用型负载均衡所属区域,本文选择华东1。
2.在后端主机组列表页面,找到目标后端主机组,单击“操作-修改”进入修改后端主机组页面。
3.按照自己的业务需要,点击“会话保持”开关,并选择会话保持方式,配置完成后点击“确定”完成。