• Nginx负载均衡模式


    今天看到一篇Nginx负载均衡模式的文,觉得讲得很通俗易懂连我都看懂了!

    放链接

    以下是我的个人总结

    首先,什么是Nginx?

    Nginx是个高性能轻量级的web/http服务器,百度能承受5w并发连接数的响应;它主要提供的功能是:反向代理、负载均衡和HTTP 缓存。

    其次,负载均衡是什么?

    我们的项目在一台服务器上运行,它的接待请求是有上限的,到达上限后其他请求只能等待;出现这种情况我们就可以在多个服务器上分别运行这个项目,增加接待量;那么当有多台服务器的时候,Nginx如何分配每次请求由哪个服务器处理呢?这时候就用到了负载均衡;

    Nginx有四种内置的负载均衡策略:

    1. 轮询 负载均衡策略(默认,缺省配置)

    即每次将请求按顺序轮流发送至相应的服务器上,此策略适合服务器配置相当,无状态且短平快的服务使用

    upstream mysvr { 
        server 127.0.0.1:7878;
        server 192.168.10.121:3333;       
    }

    注:如果有一台服务器down掉了 ,这台服务器会被自动剔除;

    2. 最少连接数 负载均衡策略

    此策略是指每次将请求分发到当前连接数最少的服务器上,也就是 Nginx 会将请求试图转发给相对空闲的服务器以实现负载平衡;

    此策略适合请求处理时间长短不一造成服务器过载的情况;

    upstream mysvr { 
    least_conn; server
    127.0.0.1:7878; server 192.168.10.121:3333; }

    3. ip-hash 负载均衡策略

    此策略会让相同的客户端ip请求相同的服务器,是解决session不能跨服务器的方法之一(先开个坑,下次专门写一篇)

    upstream mysvr { 
    ip_hash; server
    127.0.0.1:7878; server 192.168.10.121:3333; server 134.168.10.121:3333; }

     注:当有服务器需要剔除,必须手动down掉

    4. 权重 负载均衡策略

    此策略会根据服务器权重进行请求分发,如果三台服务器有一台配置比较高,那么这台服务器可以进行处理更多请求,给这台服务器配置权重为 3 ,其他服务器权重不设置就默认为1;那么如果有5个请求,其中3个请求会分配给权重为3的那台服务器;

    权重越高处理的请求数也越多,适合服务器配置硬件差别较大的情况;

    upstream mysvr { 
        server 127.0.0.1:7878 weight=3;
        server 192.168.10.121:3333;   
        server 134.168.10.121:3333;       
    }

    注:

    在nginx版本1.3.1之前,不能在ip_hash中使用权重(weight);

    此策略可以与least_conn和ip_hash结合使用

  • 相关阅读:
    Struts22222
    Struts2
    Java事务的概念
    Java设计模式之单例模式
    Spring的大框架
    mybatis大框架
    springmvc和spring的区别
    JavaScript-原型&原型链&原型继承&组合函数
    美丽的CSS图形和HTML5
    易买网项目的总实现超级详解
  • 原文地址:https://www.cnblogs.com/javencs/p/14304277.html
Copyright © 2020-2023  润新知