什么是会话持久性?
会话持久性是指在“会话”期间,或在完成一项任务或事务所需的时间内,将客户端请求定向到同一台后端Web服务器或应用服务器。
高流量网站必须快速、可靠地为数十万乃至数百万用户提供服务。IT组织通常将服务器组成所谓的“服务器场”,以支持如此庞大的用户规模。负载均衡器位于服务器组前端,将流量定向到各台服务器,从而尽可能提高效率。
如果用户浏览您的网站5分钟,很可能会从多个后端服务器获取信息。如果Web浏览器或后端服务器通过存储信息来加快用户的后续操作,而用户每次访问的并非同一台服务器,就可能出现问题。在这种情况下,务必将该用户的所有请求都发送到同一台服务器。
为提升性能,后端服务器可能会缓存用户请求的数据,并预先缓存其认为用户可能会请求的其他信息。用户看到的单个请求(例如下载大型文档)通常会被拆分为多个请求-响应事务,在客户端与服务器之间传输。要高效接收所请求的信息,用户应访问已缓存这些信息的服务器。
在其他情况下,用户可能会执行需要多个步骤的事务,例如填写表单、购买产品或升级账户。客户端与服务器交换数据时,需要存储会话的状态信息(称为上下文),以确保事务顺利进行。在这种情况下,会话持久性可显著提高事务成功完成的可能性。
负载均衡器或应用交付控制器(ADC)部署在服务器组前端,并通过相应逻辑,在必要期间将用户会话绑定到特定服务器。
NGINX Plus如何提供帮助?
NGINX Plus和NGINX是业界出色的负载均衡解决方案,广泛应用于Dropbox、Netflix和Zynga等高流量网站。全球超过3.5亿个网站依靠NGINX Plus和NGINX Open Source快速、可靠且安全地交付内容。
作为一款基于软件的负载均衡器,NGINX Plus的成本远低于功能相近的硬件解决方案。NGINX提供多种原生方式来管理会话持久性,包括使用Cookie和粘性路由。

