zoukankan      html  css  js  c++  java
  • nginx负载均衡

    1、集群概念

    (1)、集群介绍

    (2)、为什么要使用集群

     

     

    2、 负载均衡

     

     

      

    (3)、nginx负载均衡实战

    a、nginx负载均衡概述

    Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,
    实现负载的分发。那么会大大提升系统的吞吐率、请求性能、高容灾

     

    Nginx要实现负载均衡需要用到proxy_pass代理模块配置

    Nginx负载均衡与Nginx代理不同地方在于

    Nginx代理仅代理一台服务器,而Nginx负载均衡则是将客户端请求代理转发至一组upstream虚拟服务池

    Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。

    b、upstream配置

    在nginx.conf 》 http区域中

        upstream slave_pools{
            server 192.168.2.10:80;
            server 192.168.2.12:80;
        }

    在nginx.conf > http 区域 >  server区域  > location配置中

    添加proxy_pass

            location / {
                proxy_pass http://slave_pools;
    include proxy_params; # 需要手动创建
    }
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    proxy_connect_timeout 30;
    proxy_send_timeout 60;
    proxy_read_timeout 60;
    
    proxy_buffering on;
    proxy_buffer_size 32k;
    proxy_buffers 4 128k;
    手动创建的proxy_params文件

    此时初步负载均衡已经完成,upstream默认按照轮训方式负载,每个请求按时间顺序逐一分配到后端节点。

     c、upstream分配策略

    weight权重

    upstream slave_pools {
           server 192.168.2.10:80 weight=5;
           server 192.168.2.12:80 weight=10;#这个节点访问比率是大于8000的
    }

    ip_hash

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器
    upstream slave_pools {
        ip_hash;
           server 192.168.2.10:80;
           server 192.168.2.12:80;
    }

    backup

    在非backup机器繁忙或者宕机时,请求backup机器,因此机器默认压力最小

    upstream slave_pools {
           server 192.168.2.10  weight=5;
           server 192.168.2.12;
           server 192.168.2.13 backup;
    }

    d、nginx负载均衡调度算法

    调度算法      概述
    轮询        按时间顺序逐一分配到不同的后端服务器(默认)
    weight       加权轮询,weight值越大,分配到的访问几率越高
    ip_hash      每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
    url_hash      按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    least_conn    最少链接数,那个机器链接数少就分发

    1.轮询(不做配置,默认轮询)

    2.weight权重(优先级)

    3.ip_hash配置,根据客户端ip哈希分配,不能和weight一起用

  • 相关阅读:
    内存映射文件点滴
    [Buzz.Today]“估摸”手机:Google收购摩托罗拉
    QT程序中的事件处理
    又是一个开始
    HTTP 协议基础
    深入理解HTTP消息头
    HTTP请求模型和头信息
    十个让你变成糟糕的程序员的行为
    获取上层调用函数地址的代码
    MIME类型大全
  • 原文地址:https://www.cnblogs.com/felixwang2/p/10222317.html
Copyright © 2011-2022 走看看