session会话保持

 

session共享方案解决了集群中各服务器session不再独立的问题,但有些场景也不适合用session共享来处理
 
例如:
 
(1)密切相关的多次交互 希望由同一台服务器处理
 
电子商务系统中,一个客户与服务器经常会经过好几次的交互过程才能完成一笔交易,由于这几次交互过程是密切相关的,完成某一个交互步骤往往需要了解上一次交互的处理结果,或者上几步的交互结果,这时,最好是所有相关的交互过程都由一台服务器完成,而不是被负载均衡器分散到不同的服务器上
 
(2)session共享的兼容性问题
 
有些系统框架需要对session进行特有操作,例如把session共享到缓存服务器后,就会产生问题,这时解决session共享问题的成本很高,最好是对一个用户的操作都由相同的一台服务器来完成
 
会话保持
 
会话保持就是指在负载均衡器上有这么一种机制,可以识别客户与服务器之间交互过程的关联性,在做负载均衡的同时,还能保证一系列相关联的访问请求被分配到同一台服务器上
 
例如Nginx的会话保持机制
 
Nginx中upsteam模块的ip_hash机制能够将某个IP的请求定向到同一台后端服务器上,这个IP下的客户端和某台后端服务器就能建立起稳固的Session了
 
IP_hash是在upstream配置中定义的
 
upstream backend {
ip_hash;
server 192.168.1.106:80; 
server 192.168.1.107:80; 
}
posted @ 2018-08-11 23:23  micwin  阅读(225)  评论(0编辑  收藏  举报