网站首页 > 精选教程 正文
负载均衡
负载均衡实现利用服务器集群处理客户端请求,提高访问效率,降低服务器响应压力。负载均衡的调度算法含义参照:Nginx入门介绍。通过修改nginx.conf配置文件(详见Nginx中nginx.conf配置文件详解 ),可以选用不同的负载均衡的调度算法。
1.不同的负载均衡调度算法的应用
(1)采用轮询调度算法(默认的)-应用例子
upstream test {
server 127.0.0.1:8001;
server 10.10.11.85:8001;
}
server {
listen 8081;
server_name localhost;
location / {
proxy_pass http://test/;
}
}
其中upstream块定义了集群服务器,在location块中proxy_pass中进行调用。
(2)采用权重轮询调度算法-应用例子
upstream test {
server 127.0.0.1:8001 weight=2;
server 10.10.11.85:8001 weight=3;
}
其中weight=2的服务器会被动用2次,而后weight=3的服务器会被调用3次,周而复始。
(3)采用IP哈希调度算法-应用例子
upstream test {
ip_hash;
server 127.0.0.1:8001 ;
server 10.10.11.85:8001;
}
采用IP哈希调度算法可以解决大文件分块上传时,不能传到同一台服务器上的问题。
(4)采用URL哈希调度算法-应用例子
upstream test {
hash $request_uri;
server 127.0.0.1:8001 ;
server 10.10.11.85:8001;
}
这种算法对于利用后端服务器缓存的情况下,能够减少带宽。
2.一些重要的命令和参数
在定义集群服务器中,某个服务器后通过以下命令和参数实现重要功能
(1)down:表示该服务器下线,不参与负载均衡;
(2)backup:表示该服务器为备份服务器,当集群中其他服务器宕机时可用
(3)max_fails:表示该服务器处理客户端请求经过几次失败后认定该服务器宕机,默认为1
(4)fail_timeout:单独使用时表示该服务器被认为宕机后,经过多久会再次被尝试加入集群,默认为10S
(5)max_conns:表示该服务器允许连接数的上限,默认为0即无限制
upstream test {
server 127.0.0.1:8001 down ;
server 10.10.11.85:8001 backup;
server 10.10.11.86:8001 max_fails=2 fail_timeout=30s;;
server 10.10.11.87:8001 max_fails=2 fail_timeout=30s; ;
}
通常max_fails和fail_timeout配合使用,表示在fail_timeout内失败max_fails次以后,认为该服务器宕机,然后再等待fail_timeout后,再尝试与该服务器通信。
动静分离
动静分离就是将动态资源和静态资源分开;动态资源包括需要访问数据库获得的数据;静态资源如图片、html、CSS等文件。
动静分离的方式有多种,动态资源和静态资源分别部署在不同服务器或者同一服务器的不同路径下,也可以是在访问时通过location块Nginx中location块配置入门 中与正则字符串的匹配(后缀模式)区分出动态资源和静态资源,从而代理到不同服务器中进行处理,例如:
不区分大小写的匹配模式,以.css结尾的文件,在/res/css/lead/中寻找该css文件。
location ~* \.css$ {
root /res/css/lead/;
}
猜你喜欢
- 2024-09-24 负载均衡架构举例说明
- 2024-09-24 三废的日常——Nginx实现负载均衡
- 2024-09-24 7、Nginx+Apache环境配置——动静分离
- 2024-09-24 高性能web服务器Nginx反向代理、动静分离和负载均衡
- 2024-09-24 Nginx + Tomcat 动静分离实现负载均衡,你知道多少?
- 2024-09-24 使用Nginx实现动静分离
- 2024-09-24 nginx的动静分离,你真的懂吗?
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)