nginx使用ip_hash分配方式时负载均衡问题

霹雳小智哥 2015-08-14 07:53:48
各位大神看看是否有解决方案。我的nginx不是最前端的服务器,网上查到这样是不推荐用ip_hash的,会导致分流错乱,现在导致我的nginx负载不均衡,只会分发到一个server上面。但我需要保存用户的session, 比如下面的例子,我的a环境可能只会分发到server 192.168.52.41:41010 ,b环境可能只会分发到server 192.168.53.91:1400。 求大神赐教

upstream aenvironment {
ip_hash;
server 192.168.52.34:41010 weight=3;
server 192.168.52.41:41010 weight=3;
server 192.168.52.48:41010 weight=3;
server 192.168.52.54:41010 weight=3;
server 192.168.52.34:41012 weight=3;
server 192.168.52.41:41012 weight=3;
server 192.168.52.48:41012 weight=3;
server 192.168.52.54:41012 weight=3;
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_http_send "HEAD / HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}

upstream benvironment {
ip_hash;
server 192.168.53.90:1400 weight=3;
server 192.168.53.91:1400 weight=3;
server 192.168.53.88:1500 weight=3;
server 192.168.53.89:1500 weight=3;
server 192.168.53.90:1600 weight=3;
server 192.168.53.91:1600 weight=3;
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
check_http_send "HEAD / HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}
...全文
6077 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
X元素 2017-03-19
  • 打赏
  • 举报
回复
楼主既然是使用nginx ,也要考虑一下 高可用吧,如果你的某个ip节点挂掉了,那session共享即没了意义,楼主不妨参考一下3楼的意见。
Yaphets_VJ 2017-03-09
  • 打赏
  • 举报
回复
要做session共享,就别使用iphash,用了iphash你的集群就没有意义了,最有效最可取的方法就是redissessionManager ,就是把session放入redis里,很简单,只要3个jar包
javasishen 2017-03-01
  • 打赏
  • 举报
回复
ip_hash使用场景是:访问的是所有个体的用户。而不是公司(因为一个公司内部的所有人出去的IP是一个。)
霹雳小智哥 2015-08-15
  • 打赏
  • 举报
回复
米有人吗

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧