转载来源:

https://blog.csdn.net/qq_26431469/article/details/70312853

负载均衡时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到A服务器,那么session就会被存到A服务器,再次访问时负载均衡会分发到B服务器那么第一次访问的session信息就会获取不到之前的session信息。从而导致数据的不一致。

解决方案有以下几种:

方案一(nginx或者haproxy做的负载均衡):

用Nginx 做的负载均衡可以添加ip_hash这个配置,

用haproxy做的负载均衡可以用 balance source这个配置。

从而使同一个ip的请求发到同一台服务器。

方案二 利用数据库同步session:

这种方案不可取,这样会加大数据库的访问压力。

方案三 利用cookie同步session数据原理图如下:

负载均衡的session共享处理问题

相关文章: