Nginx负载均衡的策略有哪些和设置worker数量
Nginx负载均衡实现的策略有以下种:
1、轮询
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统。
-
http {
-
upstream myapp1 {
-
server srv1.example.com;
-
server srv2.example.com;
-
server srv3.example.com;
-
}
-
-
server {
-
listen 80;
-
-
location / {
-
proxy_pass http://myapp1;
-
}
-
}
-
}
2、权重(Weighted load balancing)
weight的值越大,分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。
-
# 权重越高,在被访问的概率越大,如上例,分别是20%,80%。
-
upstream backserver {
-
server 192.168.0.12 weight=2;
-
server 192.168.0.13 weight=8;
-
}
3、ip_hash( IP绑定) 也叫会话持续(session persistence)
每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题
-
upstream backserver {
-
ip_hash;
-
server 192.168.0.12:88;
-
server 192.168.0.13:80;
-
}
4、fair第三方插件
必须安装upstream_fair模块。
对比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。
-
# 哪个服务器的响应速度快,就将请求分配到那个服务器上。
-
upstream backserver {
-
server server1;
-
server server2;
-
fair;
-
}
5.url_hash(第三方插件)
必须安装Nginx的hash软件包
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。
-
upstream backserver {
-
server squid1:3128;
-
server squid2:3128;
-
hash $request_uri;
-
hash_method crc32;
-
}
6、最少连接
-
upstream myapp1 {
-
least_conn;
-
server srv1.example.com;
-
server srv2.example.com;
-
server srv3.example.com;
-
}
7、健康检查
max_fails指令设置在fail_超时期间与服务器通信的连续失败尝试次数。默认情况下,max_fails设置为1。设置为0时,将禁用此服务器的运行状况检查。fail_timeout参数还定义了服务器被标记为失败的时间。在服务器出现故障后的fail_超时间隔之后,nginx将开始优雅地使用实时客户端的请求探测服务器。如果探测成功,服务器将被标记为活动服务器。
-
max_fails=number
-
-
fail_timeout=time
生产中如何设置worker进程的数量呢?
在有多个cpu的情况下,可以设置多个worker,worker进程的数量可以设置到和cpu的核心数一样多,如果在单个cpu上起多个worker进程,那么操作系统会在多个worker之间进行调度,这种情况会降低系统性能,如果只有一个cpu,那么只启动一个worker进程就可以了。
ngx_http_upstream_module的作用是什么?
ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。
什么是C10K问题?
C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。
参考 nginx官方网址:Using nginx as HTTP load balancer
nginx面试40问Nginx 面试40问 (qq.com)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggbjak
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13