Nginx 负载均衡4种模式
转载请标明出处: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.115
的 8080
端口、192.168.1.115
的 8080
端口、192.168.1.115
的 8080
端口。负载的权重由 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种模式相关推荐
- Nginx负载均衡四种分配策略
Nginx提供了几种分配方式(策略) 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除掉. 2.weight weight代表权重,默认为1,权重越高被分 ...
- Nginx 负载均衡 配置全过程
Nginx平台搭建:Nginx+mysql+php-fpm搭建高性能Nginx平台 前端Nginx:192.168.93.137 后端web1:192.168.93.138 后端web2:192.16 ...
- LVS负载均衡群集——NAT模式实例
目录 一:企业群集应用概述 1.1群集的含义 1.2群集存在的必要 1.3解决的方法 二:企业群集的分类 2.1负载均衡群集(Load Balance Cluster) 2.2高可用群集(High A ...
- nginx负载均衡的5种策略
nginx负载均衡的5种策略 nginx负载均衡 发布于 2018-04-19 要理解负载均衡,必须先搞清楚正向代理和反向代理. 负载均衡的几种常用方式 1.轮询(默认) 每个请求按时间顺序逐一分配到 ...
- sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
- LNMP(Nginx负载均衡,SSL原理,Nginx配置SSL,生产SSL密钥对)
一.Nginx负载均衡 负载均衡:单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以 ...
- Nginx系列篇二:linux搭建Nginx负载均衡
建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...
- 一文带你了解SLB、F5、Nginx负载均衡
前言: 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡.分发到多个操作单元上进行运行,负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备 ...
- PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡
PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡 作为一个PHP菜鸟,最近闲着没事,就想搭建一个Nginx试试,因为重来没有搭过,特此记录一下,也希望能为新入门的兄弟们提供一点帮助 ...
最新文章
- grid中的绑定 格式化
- Win7下Event_Log服务4201错误的有效解决方法
- NLP之TM之LDA:利用LDA算法瞬时掌握文档的主题内容—利用希拉里邮件数据集训练LDA模型并对新文本进行主题分类
- MySQL大数据量分页查询方法及其优化
- 高性能对象存储MinIO学习
- Zookeeper-Watcher(事件通知)
- 牛年春节与年俗插画素材,年味十足
- 计算机绘图国标规定,(0922202计算机绘图大作业.doc
- vue 方法获取返回值_Vue项目中Api的组织和返回数据处理的操作
- Helm 3 完整教程(五):Helm 内置对象详解
- hit网络安全实验报告
- 【如何在12306网站上购买上中下卧铺火车票呢?】
- 计算机排版系统程序,《计算机排版系统.doc
- Rtools下载与安装(win10)
- 杭电OJ 1032(C++)
- Prometheus最佳实践 Summary和Histogram
- java中私有变量和方法_Java 私有变量和私有方法
- 世界上最成功的 10 位 Logo 设计师
- JSON解决乱码问题
- Android App加载图片内存空间计算
热门文章
- catia的vh轴怎么显示_Origin入门教程(三):Origin中曲线怎么平移?
- 计算机专业开学周记,【热门】开学周记集锦5篇
- 汇编访问计算机端口,汇编总结(2):中断、端口、直接定址表
- 基于Spring-Data-Redis存储JavaBean对象
- 五十五、uniapp简单实现Todo项目(慕课网)
- 二十二、深入Ajax技术(下篇)
- Python用泰勒公式模拟函数
- 百万奖金池!2022 全球人工智能技术创新大赛—算法挑战赛火热开启
- 加速DeiT-S 60%+吞吐量!腾讯优图提出高性能Transformer加速方法
- 对抗攻击公开课第二弹来啦,真题演练 + 代码实战