目录
1、在编译nginx的时候,需要填加 --with-stream 命令,目的是为了配置4层负载均衡,调用stream模块。
一、简述有哪几种负载均衡:
1、DNS负载均衡记录
例如:www.qq.com 192.168.1.1
www.qq.com 192.168.1.2
www.qq.com 192.168.1.3
由上可知,我们在访问www.qq.com的时候,DNS服务器对域名解析进行了负载均衡(流量分流)
2、7层负载均衡
使用nginx作为7层的负载均衡器,nginx是使用http协议来做负载均衡的,http协议是工作在OSI七层模型中的第7层应用层中的,是我们Web服务的一部分,因此又叫做7层负载均衡。
详细请看博客:(38条消息) nginx负载均衡器的部署(5层\7层)_Claylpf的博客-CSDN博客
3、4层负载均衡
在传输层完成所有工作的,并且是根据端口号的不同来区分不同的业务的,因此4层负载均衡的效率要比7层的高,因为做的事情要少。
4层负载均衡支持的服务数量多:可以支持http、Mysql、dns、ftp等服务
常用端口:mysql:3306 sshd:22 http:80 https:443 dns:53。
二、nginx负载均衡器的部署(4层)
步骤:
1、在编译nginx的时候,需要填加 --with-stream 命令,目的是为了配置4层负载均衡,调用stream模块。
2、对nginx.conf文件进行相关配置
例如:(可以选取添加其中的某几项,根据自己的需求选取)
3、 重新运行nginx服务
nginx -t 查看配置文件是否正确
./nginx -s reload 重载nginx服务
4、通过浏览器测试负载均衡的效果
502错误:当nginx负载均衡器没有出现错误,是可以转发流量的,但是我们后端的Web服务器出现错误,导致全部关闭了,这时我们刷新网页,就会出现如下的502错误。(原因是负载均衡器转发http请求给后端的Web服务器,而服务器都没有响应,这才会导致502错误)
三、负载均衡4层与7层的区别和优缺点
负载均衡4层和7层的区别:
1. 4层负载均衡:工作在传输层,根据IP地址和端口号进行负载均衡,不考虑应用层协议,只是将请求分发到不同的服务器上。
2. 7层负载均衡:工作在应用层,根据应用层协议进行负载均衡,可以根据请求的内容来决定将请求分发到哪台服务器上,可以实现更细粒度的负载均衡。
负载均衡4层和7层的优缺点:
1. 4层负载均衡的优点:处理速度快,可以处理大量的请求;不需要深入应用层协议,适用于大多数应用场景。
2. 4层负载均衡的缺点:不能对应用层协议进行深入的处理,无法实现更细粒度的负载均衡。
3. 7层负载均衡的优点:可以对应用层协议进行深入的处理,可以实现更细粒度的负载均衡;可以根据请求的内容进行负载均衡,提高了负载均衡的精度。
4. 7层负载均衡的缺点:处理速度较慢,无法处理大量的请求;需要深入应用层协议,对负载均衡的实现和配置要求较高。