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

    Nginx负载均衡概述

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

     

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

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

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

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

     upstream配置

    在nginx.conf > http 区域中

    upstream django {
           server 10.0.0.10:8000;
           server 10.0.0.11:9000;
    }

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

    添加proxy_pass

    location / {
                root   html;
                index  index.html index.htm;
                proxy_pass http://django;
    }

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

    upstream分配策略

    weight 权重

    upstream django {
           server 10.0.0.10:8000 weight=5;
           server 10.0.0.11:9000 weight=10;#这个节点访问比率是大于8000的
    }

    ip_hash

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器
    upstream django {
        ip_hash; server 10.0.0.10:8000; server 10.0.0.11:9000; }

    backup

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

    upstream django {
           server 10.0.0.10:8000 weight=5;
           server 10.0.0.11:9000;
           server node.oldboy.com:8080 backup;
    }

    更多参考:点击

  • 相关阅读:
    为Jupyter只安装目录的扩展包
    前端菜鸟的小程序摸索记录
    小计:Shopee批量删除修复~附脚本
    Python3 与 C# 并发编程之~ 协程篇
    记一次硬件故障,并普及点硬件知识
    小计:协同办公衍生出的需求
    监控MySQL|Redis|MongoDB的执行语句(go-sniffer)
    Linux IO实时监控iostat命令详解
    Linux下的磁盘缓存
    使用top命令查看系统状态
  • 原文地址:https://www.cnblogs.com/aizhinong/p/12828630.html
Copyright © 2011-2022 走看看