windows第四层负载均衡--基于NLB负载均衡
上面有一篇文章说windows第七层负载均衡,这次讲讲第四层负载均衡
TCP/IP协议族,第七层是应用层,第四层是传输层。第四层负载均衡主要通过IP进行转化。
一些优秀的第四层负载均衡软件,速度可以接近硬件负载均衡的效率。当然,论速度还是人家硬件的快一点点,毕竟人家那价格摆在那里,一台F5,十几万,几十万,上百万不等。
第四层重与第七层相比:优秀就是速度快,能感知集群服务器的状态。缺点就是不能感知应用层软件的状态,比如IIS站点挂掉,但是如果服务器没有挂掉,转化流量用继续流入该服务器。
现在很多的第四层负载均衡软件,我是说LINUNX服务器下。如果你使用了Windows,我还是建议大伙吃人家的全家桶吧。性能肯定不能最大化。但是论稳定性,维护性还是全家桶好使,省心,省力。
如果,你购买了微软的正版系统,你还可以一个电话,让人家工程师帮你解决问题。前提是,你得用的是全家桶。
常见的第四层负载均衡软件:LVS,NLB,还有其它,一时想不起来了,懒得查了。
下面讲讲怎么安装NLB,当然我使用的是带GUI的操作系统,一般情况LINUX的是不装GUI的,但是window的黑框我还没有习惯,还不会用,就先用带GUI的吧
首先点服务管理器。

一直点“下一步”,直到勾上这个

安装成功。
每一台参与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负载均衡的更多相关文章
- windows第七层负载均衡--基于IIS的ARR负载均衡
载均衡有很多种方法,有硬件负载均衡,软件负载均衡,还可以从域名解析下手. 不过,今天只讲软件负载均衡 软件负载均衡一般分两种,从网络协议来讲(tcp/ip),主要集中在第四层和第七层进行负载均衡. 第 ...
- windows网络服务之配置网络负载均衡(NLB)群集
O首页51CTO博客我的博客 搜索 每日博报 社区:学院论坛博客下载更多 登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http:// ...
- CAS 配置NLB 负载均衡网络无法连接
在虚拟机与虚拟机.虚拟机与实机之间利用Windows操作系统自带的网络负载均衡功能如选择单播集群模式,网络就无法通讯,NLB不成功. Scenario #1 在虚拟机与虚拟机之间选择多播模式NLB可正 ...
- 项目实战2—实现基于LVS负载均衡集群的电商网站架构
负载均衡集群企业级应用实战-LVS 实现基于LVS负载均衡集群的电商网站架构 背景:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响 ...
- LVS + KEEPALIVED + WINDOWS SERVER 2008 R2 ------高可用负载均衡(转)
工作原理此处不作讲解,自己去官方网站学习(http://www.linuxvirtualserver.org),这里重点讲如何配置!注:最好从官方网站对其进行了解,不至于会对某些问题产生误解,尽管是英 ...
- nginx负载均衡基于ip_hash的session粘帖
nginx负载均衡基于ip_hash的session粘帖 nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除 ...
- 在VMware 虚拟机中配置 windows2003系统的NLB负载均衡;0x800706D5错误的解决方法;没有接口可用于安装新的群集
首先在VM里面 我装了3个2003的系统, 分别为 webservice01 ,webservice 02 , 以及 webview 这3台. 前面两台用于配置负载均衡,后面的webview就是 ...
- 实现基于LVS负载均衡集群的电商网站架构
背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...
- Windows下使用Nginx+Tomact做负载均衡
前言 今天,王子与大家闲谈一下如何在Windows下使用Nginx+Tomcat做负载均衡的完整步骤,小伙伴们可以试着自己动手实践一下哦. 另外说明一点,本篇文章是纯实操文章,不涉及太多原理的解读,后 ...
随机推荐
- Activiti 基本操作之“受理人变量”
在 Activiti 流程引擎中,尽管通过 setAssignee(taskId, userId) 可以设置受理人,但这毕竟要先把下一步的任务查出来才能设置,比较繁琐:借助 Activiti 的 ac ...
- win10 系统输入法与 idea的 ctr+shift+f 快捷键冲突,解决办法
我认为首先是输入法简繁热键的冲突,(当然也有人认为是qq的热键冲突,) 解决办法: 1.首先打开搜狗输入法的设置(当然有的可能不是搜狗输入法,其他的输入法设置步骤都是大同小异) 看到了吗,就是这个热键 ...
- 小白的Python之路 day1 数据类型,数据运算
一.数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j ...
- ABP .Net Core API和Angular前端APP集成部署
前言:在ABP官网(https://aspnetboilerplate.com)生成的.Net Core + Angular项目前后端是两个独立的项目,我们可以分开部署,也可以将前端和Web API一 ...
- 浅谈,html\css脱离标准文档流相关
(个人知识有限,难免有误,请见谅) 标准文档流,顾名思义,是要按照一定规矩排列的,默认的就是元素会从左至右,从上至下排列,块级会独占一行,行内元素会和小伙伴们共享一行. 本来在标准文档流下,各个元素相 ...
- C++ 头文件系列(list)
简介 list实现的实际上是双向链表,所以叫它doubly-linked list也许更好. 因为实现的是双向链表,所以它有两个非常重要的性质: 双向 链表 双向 双向意味着----给定一个元素,我们 ...
- bzoj 4012: [HNOI2015]开店 主席树
Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...
- bzoj 2727: [HNOI2012]双十字
Description 在C 部落,双十字是非常重要的一个部落标志.所谓双十字,如下面两个例子,由两条水平的和一条竖直的"1"线段组成,要求满足以下几个限制: 我们可以找到 5 个 ...
- jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解 ----转载
1.(function($) {-})(jQuery); 1).原理: 这实际上是匿名函数,如下: function(arg){-} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写 ...
- Spring Dynamic DataSource Routing
Use AbstractRoutingDataSource to dynamicly switch datasources, see http://spring.io/blog/2007/01/23/ ...