负载均衡的时候,多台服务端机器,如何实现SESSION共享的?如何保存这样有状态的HTTP请求呢?我们也是有nginx负载均衡,为啥SESSION能自动共享?
redis集群存储redis支持持久化 相对memcache来说 登陆态丢失的风险较低
可以把seesion存在一个统一的cache中。也可以在slb中设置会话保持,会将请求都分发到同一台机子上。这样即使seesion不是存在同一个地方也可以吧
可以把session放在一个统一管理的memcache里。
memcache或者redis里
听说有个netscaler前置软件,使用后可以保证同一台外部设备每次都访问同一台后置的服务器,这样程序根本不用改。
采用redis,php里可以直接配置。http://segmentfault.com/a/1190000002769228
如果你一定要共享session,用上述的方法,如果你只是想解决session问题,可以用ip hash方式
负载均衡方式有很多吧,有session共享,也有不共享的,比如同一个用户一直分配到后端的指定一台服务器处理请求,共享集中管理就得折腾缓存结构了
2 回答1.7k 阅读✓ 已解决
redis集群存储
redis支持持久化 相对memcache来说 登陆态丢失的风险较低