热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

下面小编就为大家分享一篇windowsNLB+ARR实现Web负载均衡高可用可伸缩的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

基于IIS的ARR负载均衡

基于NLB负载均衡

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

什么是高可用,可伸缩 ?

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

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

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

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

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

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

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

192.168.99.8 
192.168.99.10

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

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

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

设置为单一主机

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

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

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

整体架构图

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

展示效果

一共每秒150次请求。

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

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

192.168.99.8 每秒请求150。吻合。

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

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

如何解决ARR可伸缩性 ?

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

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

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

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

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

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


推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文介绍了数据库体系的基础知识,涵盖关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本操作及高级功能。通过三个阶段的学习路径——基础、优化和部署,帮助读者全面掌握数据库的使用和管理。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 免费获取:全面更新的Linux集群视频教程及配套资源
    本资源包含最新的Linux集群视频教程、详细的教学资料、实用的学习课件、完整的源代码及多种软件开发工具。百度网盘链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ,提取码:41py。关注我们的公众号,获取更多更新的技术教程。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MySQL 高性能实战教程
    本课程深入探讨 MySQL 的架构、性能调优、索引优化、查询优化及高可用性等关键领域。通过实际案例和详细讲解,帮助学员掌握提升 MySQL 数据库性能的方法与技巧。 ... [详细]
author-avatar
cr罗详青
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有