欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

程序员文章站 2022-04-26 15:48:34
基于iis的arr负载均衡 基于nlb负载均衡 这两篇分别分arr 和 nlb基本配置,下面我们讲讲,如何组合使用,搭配成高可用/可伸缩集群。 什么是高可用,可伸缩...

基于iis的arr负载均衡

基于nlb负载均衡

这两篇分别分arr 和 nlb基本配置,下面我们讲讲,如何组合使用,搭配成高可用/可伸缩集群。

什么是高可用,可伸缩 ?

高可用:是指系统经过专门设计减少停工时间,保持服务高度可用。正常工作时间/单位时间(一般一年),比率达99.99%以上,也就是停工一小时。可以算高可用。

可伸缩:是指增加或减少硬件实现软件性能上的加大或减少的难易程度。

arr集群不用担心,因为自身就有健康检查,如果子服务器有异常的话,反向代理不会将流量转化到相应的服务器上。

现在比较担心一个问题,如果代理服务器发生异常怎么办?代理服务器负责转化请求每日处理量极大,不排除发生故障的可能。arr服务器容易发生单点故障,因此整arr部署并不具有高可用性。

子服务器的数量其实受限于arr服务器转发能力,也是就说可扩展性受限。

如何解决arr单点故障实现高可用 ?

首先我们搭建两个arr服务器。

192.168.99.8 
192.168.99.10

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

在这两台服务器上面分别安装nlb,搭配nlb负载均衡。

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

注意主机优先级,目前设置为192.168.99.8为优先处理的服务器。

集群端口规则设置80端口。

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

设置为单一主机

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

也就说,两台arr,只有一台在工作,也就是192.168.99.8,别一台192.168.99.10为故障转移服务器。部署完毕。

有人问,部署两个,应用上会不会冲突?

其实不会的,arr是应用的第七层上,nlb是应用在第三层,ip层。也就是说,nlb处理完之后,才会转入到arr进行处理。

整体架构图

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

妈蛋,我还没有画好图,就把visio关了,右边的arr服务器,应该右边移,线与线对应。看着老不爽了

展示效果

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

一共每秒150次请求。

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

三台内容服务器请求量总数为每秒150次。吻合。

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

arr工作量,192.168.99.8正常工作,192.168.99.10备用。吻合

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

192.168.99.8 每秒请求150。吻合。

下面测试故障转移,突然关掉192.168.99.8,大概接近半分钟的时候,请求就转移到192.168.99.10来了。我们可以明显看到接近3000条请求失败。

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

测试达到预期效果,吻合。

如何解决arr可伸缩性 ?

上面示例,如何搭建高可用。但是内容服务器依然受限于,arr服务器转化能力。如何突破受限于一台服务器的转化能力转为多台arr服务器共同处理这个转化,则就能实现内容服务器的可伸缩性。

答案非常简单。我们只需把nlb服务器集群,端口规则更改为

windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法

刚将两个arr服务器同时激活,承受能力将增倍,可扩展更多的内容服务器。

为了安全起见,二台arr应该增加到三台,如果有一个宕机,流量转接过来,可以保证余下两台arr服务器在能力承受范围之内。随机服务器增多,依此类推。

以上方案己实现,高可用,可扩展。笔记到此啦。

这篇windows nlb+arr实现web负载均衡高可用/可伸缩的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。