upstream a { server 127.0.0.1:3121; } upstream b { server 127.0.0.1:3122; } #配置一个all的目的是兼容不进行hash的剩余的页面,比如首页 upstream all { server 127.0.0.1:3121; server 127.0.0.1:3122; } 1、已经按/a/划好的,使用location划分 location ~* /a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r/ { proxy_pass http://a; } location ~* /s|t|u|v|w|x|y|z|0|1|2|3|4|5|6|7|8|9|0/ { proxy_pass http://b; } location / { proxy_pass http://all; } 2、已经有一定链接规则,不想变化,可以使用if语句判断 location / { proxy_pass http://all; if proxy_pass http://a; } if proxy_pass http://b; } } 在新增服务器后,需要改动配置,手工将一些目录规则的文件分出去,剩下的仍然访问原先的服务器,不会造成太严重影响。 在这种配置下,像首页这样的访问量大的单页,它访问量大,容量小,所以不可能产生容灾问题。使用轮循的方式工作,会比原先分到死定一台cache,在可用性上要好得多。 (责任编辑:admin) |