Heim  >  Fragen und Antworten  >  Hauptteil

redis - Nginx负载均衡策略和SESSION共享

集群WEB应用或多或少都会遇到session问题,多台服务器的情况下,session的要地存储会引起一些问题,影响用户体验。

下面列出这里我能想到的几种处理方法,各有优缺点

  1. ip_hash分配并不均匀,尤其是用于ip_hash的Nginx不是最前端时,可能无法使用此策略

  2. 假如不考虑负载均匀问题,仍然存在的问题是,当后端某台机器宕掉时,这台机器上所有的session都会失去,假如session中记录的用户的认证状态,那么用户将变成未认证状态

除了上面一的些方法,肯定还有其它办法,有兴趣的进来讨论一下

补充记录

[2016/9/1]
个人认为完全可以避免使用sessionservlet系的应用做分布式本就有很多限制,如果要实现分布式,最好的办法是利用http的无状态特性来实现,当然,用户登录、购物车等信息确实需要进行状态存储,这些完全可以直接存储到第三方存储中,比如:redismysql等,其本质上类似于session共享方案,但相对更加激进。

習慣沉默習慣沉默2755 Tage vor682

Antworte allen(1)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-25 09:06:41

    你这里所说的session绝对部分说的是存登录信息吧?

    如果是,那么统一登录服务应该也是一种方案

    Antwort
    0
  • StornierenAntwort