网站首页 > 精选教程 正文
负载均衡
Nginx负载均衡是最常用的Nginx功能,Nginx负载均衡的思想在于通过特定的调度算法将流量分发到不同的应用服务器上面来解决单台机器的并发压力。
最简单的案例
upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location ^~ /example/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For proxy_pass http://backend; } }
upstream
Syntax: upstream name { … } Default: — Context: http
定义一组可以监听不同端口服务器,也可以监听TCP和UNIX域套接字的服务器。
server
Syntax: server address [parameters]; Default: — Context: upstream
定义服务器的地址和其他参数。地址可以指定为域名或IP地址、可选端口或在“unix:”前缀之后指定的UNIX域套接字路径。如果未指定端口,则使用端口80。一个解析为多个IP地址的域名等同定义多个服务器。
支持参数如下:
weight
Syntax: weight=number
设置server的权重,默认值1
max_conns
Syntax: max_conns=number
限制与代理服务器同时激活连接的最大数量(1.11.5)。默认值为零,意味着没有限制。如果服务器组不驻留在共享内存中,则每个工作进程的限制都有效。
如果启用了空闲保持活动连接、多个工作者和共享内存,则到代理服务器的活动连接和空闲连接的总数可能超过max_conns值。
max_fails
Syntax: max_fails=number
失败重连的次数,这些尝试应在fail_timeout参数设置的持续时间内发生,以考虑服务器在fail_timeout参数设置的持续时间内不可用。默认情况下,尝试失败的次数设置为1。零值禁用重试。
fail_timeout
Syntax: fail_timeout=time
max_fails次失败后,暂停的时间。默认是10S。
backup
其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
down
标记当前的server暂时不参与负载
负载均衡模式
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。我们上面的案例使用的就是。
weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream bakend { server 103.1.248.230:8080 weight=10; server 104.25.253.107:8080 weight=10; }
ip_hash
每个请求按访问ip的hash结果分配,这样每个同IP的访问会固定访问一个后端服务器,可以解决session的问题。
例如:
upstream bakend { ip_hash; server 103.1.248.230:8080; server 104.25.253.107:8080; }
fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backend { server 103.1.248.230:8080; server 104.25.253.107:8080; fair; }
url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法
upstream backend { server 103.1.248.230:8080; server 104.25.253.107:8080; hash $request_uri; hash_method crc32; }
- 上一篇: Spring Boot 优雅停止服务的几种方法
- 下一篇: 简单了解一下Nginx的负载均衡流程!
猜你喜欢
- 2024-09-29 「Nginx」实现负载均衡的几种方式
- 2024-09-29 java项目如何实现单一的nginx负载均衡
- 2024-09-29 简单了解一下Nginx的负载均衡流程!
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)