美文网首页
负载均衡:非session下高可用的后台负载

负载均衡:非session下高可用的后台负载

作者: EricJonse | 来源:发表于2019-04-23 11:05 被阅读0次

后台有两台tomcat,正常情况下nginx可以分发请求到指定的服务器上。如果其中一个tomcat宕机,nginx自动将全部请求发送到另一台tomcat上。

http {
...
    upstream tomcatsyuqing {
        server 192.168.0.102:9081 max_fails=1 fail_timeout=30s ;
        server  localhost:9081 max_fails=1 fail_timeout=30s;
        }
    ...
    server {
    ...
           location ^~ /load/ {
            proxy_pass  http://load;
            proxy_set_header  Host  $host;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    ...
    }

upstream 两个参数:max_fails=1 fail_timeout=30s ,如果某台server在fail_timeout时间出现了max_fails次链接失败,那么nginx会认为她已经挂掉,在fail_timeout时间内不再去请求它。
由此以来,使用非session的网站架构可以通过后台有两个tomcat不断的轮询请求后台服务可以设置权重 weight=n;如果其中有一个tomcat宕机关闭 nginx会通过upstream的那个两个参数效果在指定时间内不在去访问已宕机的tomcat。

有个第三方模块 nginx_upstream_check_module 可以专门用来检测后端server的健康情况。
yaoweibin/nginx_upstream_check_module: Health checks upstreams for nginx

相关文章

网友评论

      本文标题:负载均衡:非session下高可用的后台负载

      本文链接:https://www.haomeiwen.com/subject/uhomgqtx.html