微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【NGINX】Nginx负载均衡策略之fair介绍

https://blog.csdn.net/Leon_Jinhai_Sun/article/details/121153174

 

fair

fair采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小、加载时间长短智能的进行负载均衡。那么如何使用第三方模块的fair负载均衡策略。

upstream backend{
fair;
server 192.168.200.146:9001;
server 192.168.200.146:9002;
server 192.168.200.146:9003;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}
但是如何直接使用会报错,因为fair属于第三方模块实现的负载均衡。需要添加Nginx-upstream-fair,如何添加对应的模块:

下载Nginx-upstream-fair模块

下载地址为:
https://github.com/gnosek/Nginx-upstream-fair
将下载的文件上传到服务器并进行解压缩
unzip Nginx-upstream-fair-master.zip
重命名资源
mv Nginx-upstream-fair-master fair
使用./configure命令将资源添加Nginx模块中
./configure --add-module=/root/fair
编译
make
编译可能会出现如下错误,ngx_http_upstream_srv_conf_t结构中缺少default_port

 

解决方案:

Nginx的源码中 src/http/ngx_http_upstream.h,找到ngx_http_upstream_srv_conf_s,在模块中添加添加default_port属性

in_port_t default_port

然后再进行make.

更新Nginx

​ 将sbin目录下的Nginx进行备份
mv /usr/local/Nginx/sbin/Nginx /usr/local/Nginx/sbin/Nginxold
将安装目录下的objs中的Nginx拷贝到sbin目录
cd objs
cp Nginx /usr/local/Nginx/sbin
更新Nginx
cd ../
make upgrade
编译测试使用Nginx

上面介绍了Nginx常用的负载均衡的策略,有人说是5种,是把轮询和加权轮询归为一种,也有人说是6种。那么在咱们以后的开发中到底使用哪种,这个需要根据实际项目的应用场景来决定的。
————————————————
版权声明:本文为CSDN博主「Leon_Jinhai_Sun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Leon_Jinhai_Sun/article/details/121153174

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐