转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80541464
本文出自【赵彦军的博客】

4 种负载均衡算法

upstream 支持4种负载均衡调度算法:

A)轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;

B)ip_hash:每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。

C)url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。

D)fair:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持 fair的,如果需要使用这种调度算法,必须下载Nginx的 upstream_fair模块。

1、默认轮训

打开 nginx 配置文件

[root@master ~]# vi  /etc/nginx/conf.d/default.conf

写轮训配置

#设定负载均衡服务器列表
upstream roundrobin {#后端服务器访问规则server 192.168.1.115:8080  weight=1;       #server1server 192.168.1.131:8081  weight=1;       #server1server 192.168.1.94:8090   weight=1;       #server3
}server {listen 80;server_name 192.168.1.131;location / {proxy_pass http://roundrobin;}
}

配置完成后

//检查 nginx 配置是否正确
nginx -t  //重新加载 nginx 配置
service nginx reload 

当访问 http://192.168.131 的时候,会把这个请求负载到 192.168.1.1158080 端口、192.168.1.1158080 端口、192.168.1.1158080 端口。负载的权重由 weight 来决定,默认为 1 ,weight 越大,权重就越大。

2、基于hash

#设定负载均衡服务器列表
upstream roundrobin {#后端服务器访问规则ip_hash;                                   #添加参数支持哈希server 192.168.1.115:8080  weight=1;       #server1server 192.168.1.131:8080  weight=1;       #server1server 192.168.1.94:8090   weight=1;       #server3
}server {listen 80;server_name 192.168.1.131;location / {proxy_pass http://roundrobin;}
}

设置后端负载均衡服务器的状态

  • down,表示当前的server暂时不参与负载均衡。
  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因 此这台机器的压力最轻。


注意:backup不能和ip_hash同时配置。因为ip_hash只能访问同一台服务器,而backup是在只有所有参与
负载均衡的服务器出现故障时,才会请求备份机。当所有负载均衡的服务器出现故障了,ip_hash的将无法 请求了。

#设定负载均衡服务器列表
upstream roundrobin {#后端服务器访问规则server 192.168.1.115:8080  weight=1;       #server1server 192.168.1.131:8080  down;           #server2 不参与负载server 192.168.1.94:8090   backup;         #server3 备份机
}server {listen 80;server_name 192.168.1.131;location / {proxy_pass http://roundrobin;}
}

参考文档

nginx四种调度算法、进阶


个人微信号:zhaoyanjun125 , 欢迎关注

Nginx 负载均衡4种模式相关推荐

  1. Nginx负载均衡四种分配策略

    Nginx提供了几种分配方式(策略) 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除掉. 2.weight weight代表权重,默认为1,权重越高被分 ...

  2. Nginx 负载均衡 配置全过程

    Nginx平台搭建:Nginx+mysql+php-fpm搭建高性能Nginx平台 前端Nginx:192.168.93.137 后端web1:192.168.93.138 后端web2:192.16 ...

  3. LVS负载均衡群集——NAT模式实例

    目录 一:企业群集应用概述 1.1群集的含义 1.2群集存在的必要 1.3解决的方法 二:企业群集的分类 2.1负载均衡群集(Load Balance Cluster) 2.2高可用群集(High A ...

  4. nginx负载均衡的5种策略

    nginx负载均衡的5种策略 nginx负载均衡 发布于 2018-04-19 要理解负载均衡,必须先搞清楚正向代理和反向代理. 负载均衡的几种常用方式 1.轮询(默认) 每个请求按时间顺序逐一分配到 ...

  5. sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  6. LNMP(Nginx负载均衡,SSL原理,Nginx配置SSL,生产SSL密钥对)

    一.Nginx负载均衡 负载均衡:单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以 ...

  7. Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...

  8. 一文带你了解SLB、F5、Nginx负载均衡

    前言: 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡.分发到多个操作单元上进行运行,负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备 ...

  9. PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡

    PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡 作为一个PHP菜鸟,最近闲着没事,就想搭建一个Nginx试试,因为重来没有搭过,特此记录一下,也希望能为新入门的兄弟们提供一点帮助 ...

最新文章

  1. grid中的绑定 格式化
  2. Win7下Event_Log服务4201错误的有效解决方法
  3. NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类
  4. MySQL大数据量分页查询方法及其优化
  5. 高性能对象存储MinIO学习
  6. Zookeeper-Watcher(事件通知)
  7. 牛年春节与年俗插画素材,年味十足
  8. 计算机绘图国标规定,(0922202计算机绘图大作业.doc
  9. vue 方法获取返回值_Vue项目中Api的组织和返回数据处理的操作
  10. Helm 3 完整教程(五):Helm 内置对象详解
  11. hit网络安全实验报告
  12. 【如何在12306网站上购买上中下卧铺火车票呢?】
  13. 计算机排版系统程序,《计算机排版系统.doc
  14. Rtools下载与安装(win10)
  15. 杭电OJ 1032(C++)
  16. Prometheus最佳实践 Summary和Histogram
  17. java中私有变量和方法_Java 私有变量和私有方法
  18. 世界上最成功的 10 位 Logo 设计师
  19. JSON解决乱码问题
  20. Android App加载图片内存空间计算

热门文章

  1. catia的vh轴怎么显示_Origin入门教程(三):Origin中曲线怎么平移?
  2. 计算机专业开学周记,【热门】开学周记集锦5篇
  3. 汇编访问计算机端口,汇编总结(2):中断、端口、直接定址表
  4. 基于Spring-Data-Redis存储JavaBean对象
  5. 五十五、uniapp简单实现Todo项目(慕课网)
  6. 二十二、深入Ajax技术(下篇)
  7. Python用泰勒公式模拟函数
  8. 百万奖金池!2022 全球人工智能技术创新大赛—算法挑战赛火热开启
  9. 加速DeiT-S 60%+吞吐量!腾讯优图提出高性能Transformer加速方法
  10. 对抗攻击公开课第二弹来啦,真题演练 + 代码实战