nginx+tomcat做集群的问题

爪哇小贩 发布于 2016/06/22 20:36
阅读 656
收藏 1

由于业务要求高可靠性,高并发,需要实现主服务器宕机,后备服务器自动接管功能。考虑采用nginx+tomcat做负载均衡和集群。做了一个简单的测试用例,发现有个问题。如果两台服务器权重相同,总是轮流请求,如果一台宕机,每次请求还是会访问,然后返回404错误。怎样做到一次请求自动识别访问可用的服务器

加载中
0
p2ng
p2ng

upstream    tomcats{   

#backup; 备份机,只有非备份机全部挂掉情况下,才启动

server URL backup;

}

配置这个玩意...

p2ng
p2ng
回复 @爪哇小贩 : tomcat-A正常运行,tomcatB-backup;tomcat-A进程挂了,nginx自动切换至tomcatB...其实我也没弄过这个,只是做了笔记。记得有这东西
爪哇小贩
爪哇小贩
刚验证了必须是tomcat停止才有效,多谢啦
爪哇小贩
爪哇小贩
挂掉指服务器宕机,还是tomcat停止,还是应用stop。我测试时候把应用stop就不行
0
zheng_pat
zheng_pat
你想过没有,如果是404就切换,那客户乱输入怎么办?通信是端口通信,这样一想是不是只有tomcat停止而不是应用停止采能生效,别忘记了tomcat下面可能部署多个应用,你的钥匙把应用停止就切换,那其他应用怎么办。看了你的问题开始还把我吓一跳,以为我在生成环境我是不是没配置成名策略啊
0
李景枫
李景枫
写一个agent,动态的去刷新nginx的配置,如果发现tomcat挂掉,立刻通知agent来修改配置并刷新配置
0
若水191
若水191
定时的优雅重启tomcat 即可,一天重启六次,四次,三次,2次,一次,就是五个tomcat 就能平滑迁移负载
0
v若水
v若水
我觉得你的这个问题不太对呀,宕机指的是什么?我记得只要比如tomcat挂了权重一样也刻意请求b的,对了是不是没有设置keepalived?
0
J
JeanChangyi
在权重配置行里对max_fails和fail_timeout参数进行配置,前一个参数代表连接失败后进行几次重试;后一个参数代表超过重试次数还是失败后停止向该服务器请求多长时间。
返回顶部
顶部