nginx+redis实现高可用思路记录

nginx对sessionid使用一致性hash做负载均衡并配置失败后重试其他服务器。

服务端各节点处理流程如下:
nginx+redis实现高可用思路记录_第1张图片

高可用
1. 如果redis挂了,服务端可以根据本地session来处理
2. 如果一台服务器挂了,nginx会重试其他服务器,由于服务端每次都会先根据redis中的信息判断,所以对登录状态无影响。
3. 服务端加了一个节点,登录状态无影响,和2一样的情况。

可能出现的问题
1. 一个节点挂了之后,导致session分到其他节点,导致本地session量增大,可能会引起服务器雪崩。所以要配置好报警通知,当节点宕机之后迅速报警。
2. session存在本地量大的话会影响性能。
3. 用户第一次登录时无sessionid,直接根据请求ip地址做ip_hash的负载均衡,之后再次访问时再做一次性hash。

暂时想到这么多。。。

你可能感兴趣的:(高可用,一致性hash)