windows第四层负载均衡_基于NLB负载均衡详解
上面有一篇文章说,这次讲讲第四层负载均衡
tcp/ip协议族,第七层是应用层,第四层是传输层。第四层负载均衡主要通过ip进行转化。
一些优秀的第四层负载均衡软件,速度可以接近硬件负载均衡的效率。当然,论速度还是人家硬件的快一点点,毕竟人家那价格摆在那里,一台f5,十几万,几十万,上百万不等。
第四层重与第七层相比:优秀就是速度快,能感知集群服务器的状态。缺点就是不能感知应用层软件的状态,比如iis站点挂掉,但是如果服务器没有挂掉,转化流量用继续流入该服务器。
现在很多的第四层负载均衡软件,我是说linunx服务器下。如果你使用了windows,我还是建议大伙吃人家的全家桶吧。性能肯定不能最大化。但是论稳定性,维护性还是全家桶好使,省心,省力。
如果,你购买了微软的正版系统,你还可以一个电话,让人家工程师帮你解决问题。前提是,你得用的是全家桶。
常见的第四层负载均衡软件:lvs,nlb,还有其它,一时想不起来了,懒得查了。
下面讲讲怎么安装nlb,当然我使用的是带gui的操作系统,一般情况linux的是不装gui的,但是window的黑框我还没有习惯,还不会用,就先用带gui的吧
安装nbl功能
首先点服务管理器。
一直点“下一步”,直到勾上这个
安装成功。
每一台参与nlb的服务器,都需要安装。这跟arr不一样,arr只需要在转发服务器上面安装即可。
这里作为演示例子,就给三台服务器装上nlb吧
分别是
192.168.99.8 192.168.99.10 192.168.99.11
工作原理
所有请求会分发到每一台nlb服务器,然后nlb服务器根据算法处理自己那一份请求。
那么所有请求是怎么分发给每一台服务器昵,因为他们有一个公共的ip。也是就说,每台服务器有两个ip。
是的,每电脑可以有多个ip地址。
高级选项中,可以手动添加多个ip地址。
搭建集群
打开网络负载平衡管理器,新建集群
一直点“下一步”,直到完成。
192.168.99.10,192.168.99.20的服务器分别按下步骤操作。
一直点“下一步”,直到完成。
集群部署完毕。
我们查看ip,你发现,多一个公共ip,192.168.99.20 这个就是群集的ip。
搭建好之后,我们就走一波试试,试跑成功之后,再来讲讲一些细节配置吧
首先iis要做一些设置,因为我们将使用公共ip进行访问,就是192.168.99.20
访问http://192.168.99.20/api/home/getuserchat
成功返回。
压力测试
老规则,现在用vs2017进行压力测试,完事之后,讲点细节配置这事就算完成啦。
测试成功,但是问题也是相当明显
第一,数据的确广发给每个服务器,我们可以看,接收的数据大小都是一样的5.4mbps
第二,发送的数据大小却完全不一样,这说明处理不一样。我们可以明显看到,192.168.99.10这台服务器,承担了大部分的工作。cpu上升到94%,发送数据包也达到1.5mbps。
细节配置
很明显集群配置不合适。下面我们来讲讲细节细置
集群操作模式:
单播:所有节点服务器的mac都会被改成集群mac,发送数据的时候源mac将变成集群mac。缺点:交换机的mac表无法绑定该mac归属那个端口,所有数据包都进行广播,造流量负担。所有节点服务器具有相同mac,无法相通讯。也就是说,集群节点,具有相同的ip和相同mac地址。
多播:不会修改节点服务器的mac,而是为专节点服务器添加多一个集群mac,节点之间可以通过专用ip进行相互通信。
单网卡多播,双网卡单播。双网卡可以设置内网网卡成为专用ip,解决单播节点不能相互通信问题。
集群端口规则:
筛选模式:
多台主机:所有数据由多台服务器处理。
单个主机:所有数据由一台服务器处理,根据优先级选出服务器。
禁用此端口范围:禁止这个端口的数据,进行处理。
多台主机模式下,相关性:
无:由负载均衡器根根算法处理,基本上请求平均分配。
单一:同一个客户端的请求,归属原来的处理的服务器。
网络:根据ip的c类地址范围来决定分配。也就是同一网段的请求,会分配某一服务器上。
优先级:集群中所有转发根据端口规则进行处理,如果不符合端口规则,将统一由优先级最小的服务器进行处理。
为什么我们开始时候,192.168.99.10承受大量的工作,因为端口规则没有设置好,我们现在重新设置一下端口规则,再来测试一下吧。
之前默认设置
重新设置之后的配置
好,我们重新跑一趟压力
网络接受和发送比较平等。
每个服务器接受的请求数,大概相等。
每秒处理150个。与服务器数据相吻合。
负载均衡基本达到与预期效果一致。
nlb集群测试完毕。
以上这篇windows第四层负载均衡_基于nlb负载均衡详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
详解利用nginx和docker实现一个简易的负载均衡
-
Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解
-
详解基于Centos7+Nginx+Tomcat8的负载均衡服务器的搭建
-
windows下nginx+tomcat配置负载均衡的方法
-
详解Nginx HTTP负载均衡和反向代理配置
-
windows第七层负载均衡_基于IIS的ARR负载均衡详解
-
windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法
-
nginx+tomcat实现Windows系统下的负载均衡搭建教程
-
详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
-
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南