网站首页 > 技术教程 正文
Nginx 是什么?
Nginx官网:
https://nginx.org/
Nginx 是一种 WEB 服务器,他是基于 URL(Uniform Resources Locator)即统一资源定位符作为沟通的依据,通过HTTP协议(端口号默认:80)来提供各种的网络服务.
为什么会有负载均衡技术的产生?
我们都是知道部署服务需要服务器,当我们在一台服务器上部署服务之后,理论上我们的客户就可以通过网络的形式来访问我们的服务器上。
这个时候当有很多用户访问我们的服务器时,随着业务量的巨增,服务器可能承受不了这么大的需求就有可能宕机(服务器崩掉)。
借鉴图片:
为了解决这一问题,就产生了负载均衡技术。
负载均衡技术于 Nginx
为避免我们的服务因为服务的宕机而造成比较大的影响,现在我们利用 Nginx 技术,并且部署多台服务器。让他们按照一定的方式去承担起整个服务的可持续服务。
Nginx 负载均衡策略:
- 轮询 (默认方式)
这是最基本的配置方式,每一个请求都会按照时间顺序去逐一分配到不同的后端服务器上。
在轮询的方式中,如果在这个过程中有一个服务器宕机了,那么则会自动取出这个服务器。
参数:
在配置轮询的方式中,存在以下的参数:
1. fail_timeout
2.max_fails
以上的这两个参数是结合使用的。设置在fail-timeout 的时间内最大的失败次数,如果请求都失败的话,则认为服务器直接宕机了
3.fail_time 当服务器超过这个时间还没有响应的时候,则认为服务器宕机了。默认时间长度为 10秒。
4.backup 对服务器标记作为备用服务器,当主服务器不能服务时,则请求会来到备用服务器这里。
5.down 表示这个服务器,直接宕机了。
- weight 模式
重量的意思,表示 ”权重“,在轮询的基础上指定轮询的机率。
upstream dynamic_zuoyu {
server localhost:8080 weight=3; #默认权重时1
server local host:8081 max_fails=2 fail_timeout=10s;#十秒内 请求两次
server local host:8082;
}
- ip_hash
指定负载均衡服务器按照基于客户端IP的分配方式,确保相同的客户端的请求发送到相同的服务器上
upstream dynamic_zuoyu {
ip_hash; # 保证每一个访客固定一个后端服务器
server localhost:8080 weight=3; #默认权重时1
server local host:8081 max_fails=2 fail_timeout=10s;#十秒内 请求两次
server local host:8082;
}
# ip_hash 于backup不能同时使用
#这个策略适用于有状态服务,例如这个 session
#当服务器需要剔除时,需要手动down掉
- least_conn
判断连接数较少的服务器,把请求转发给连接数较少的服务器。
upstream dynamic_zuoyu {
least_conn; # 判断连接数较少的服务器,把请求转发给连接数较少的服务器。
server localhost:8080 weight=3; #默认权重时1
server local host:8081 max_fails=2 fail_timeout=10s;#十秒内 请求两次
server local host:8082;
}
#这个策略适用于请求处理时间长短不一造成服务器过载的情况。
- 第三方策略
即需要安装第三方插件
- fair 响应时间短的请求优先分配,时间较长的靠后,按照服务器端的响应时间来分配请求。
upstream dynamic_zuoyu {
fair; #响应时间段的优先分配
server localhost:8080 weight=3; #默认权重时1
server local host:8081 max_fails=2 fail_timeout=10s;#十秒内 请求两次
server local host:8082;
}
- url_hash
按照url的hash结果来分配相关请求,使用URL(统一资源定位符)来定向到后端服务器,配合缓冲命中来使用。当一个请求多次访问相同的某个资源时,既可以从缓存中读取。
upstream dynamic_zuoyu {
hash $request_url ; #实现每个url定向到同一个后端服务器
server localhost:8080 weight=3; #默认权重时1
server local host:8081 max_fails=2 fail_timeout=10s;#十秒内 请求两次
server local host:8082;
}
相关参考文章:https://blog.csdn.net/y912643/article/details/119917607?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-119917607-blog-110287221.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3
别人写的很好,可以去看一下。
文章写得如果有问题,还希望兄弟们多多指教,小白入门。
猜你喜欢
- 2024-10-14 nginx-负载均衡(nginx负载均衡的三种方式)
- 2024-10-14 5分钟教你合理配置 Nginx Worker_processes和Worker_connections
- 2024-10-14 我们耳熟能详的负载均衡,你该如何配置?
- 2024-10-14 详解Nginx负载均衡的4种方案(详解nginx负载均衡的4种方案是)
- 2024-10-14 【Nginx基础】Nginx常见负载均衡策略配置示例
- 2024-10-14 nginx配置负载均衡 以及宕机了后,怎么配置高可用
- 2024-10-14 Nginx总结(六)nginx实现负载均衡(nginx的负载均衡怎么做)
- 2024-10-14 Nginx 负载均衡详解(nginx负载均衡详解)
- 2024-10-14 nginx服务器负载均衡配置(nginx负载均衡配置详解)
- 2024-10-14 Nginx负载均衡配置(nginx负载均衡配置,当前机器宕机)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)