Web Farm与网络负载平衡概述及架构示例

简介:

Web Farm 与网络负载平衡概述
         将 企业内部多台IIS Web服务器组成Web Farm 后,这些服务器将同时对用户来提供一个不间断的、可靠的网站服务器。当Web Farm 接收到不同用户的连接网站请求时,这些请求会被分散的送给Web Farm中不同Web服务器来处理,因此可以提高网页访问效率,若Web Farm之中有Web服务器因故无法对用户提供服务的话,此时会由其他仍然正常运行的服务器来继续对用户提供服务,因此Web Farm还具备容错功能。
Web Farm 的架构
         一般Web Farm架构的示例,下图为了避免单点故障而影响到Web  Farm 的正常运行,因此每一个关卡,例如防火墙,负载平衡器、IISWeb服务器与数据库服务器等都不止一台,以便提供容错、负载平衡的功能:
 
1、防火墙:防火墙可确保内部计算机与服务器的安全。
2、负载平衡器:负载平衡器(Load Balancer)可将连接网站的请求分发到Web Farm中的不同Web服务器。
3、前端Web Farm(IIS Web服务器):将多台IIS Web服务器组成Web Farm来对用户提供网页访问服务。
4、后端数据库服务器:用来存储网站的设置、网页或其他数据。
         Windows Server 2008R2已经内置网络负载平衡功能(Windows NLB),因此在这里取消负载平衡器,该在前端Web Farm启用Windows NLB,并利用它来提供负载平衡和容错功能。 
         还有因为Mircrosof ISA Server或Microsoft Forefront Threat Management Gateway (TMG)的防火墙可以通过发行规则来支持 Web Farm,因此可以如下图的规划设计Web Farm环境。 
         上图为ISA Server 或 TMG 接收到外部链接内部网站请求时,它会根据发行规则的设置,来将此请求转发交给Web Farm中的一台Web服务器处理。ISA Server或TMG也具备自动检测Web服务器是否停止服务的功能,因此它只会将请求转发给仍然正常工作的Web服务器。
 
网页内容的存储地点
         如上图,可以将网页存储在每一台Web服务器的本地磁盘内(图中我们将防火墙与负载平衡器各简化为一台),你必须让每一台Web服务器内所存储的网页内容都相同,虽然可以利用手动复制的方式来将网页文件复制到每一台Web服务器,不过建议采用 DFS(分布式文件系统)来自动复制,此时只要更新其中一台Web服务器的网页文件,它们就会通过 DFS复制功能自动复制到其他Web服务器。

另外也可以将网页存储到SAN(Storage Area Network)或NAS(Network Attached Storage)等存储设备内,并利用它们来提供网页内容的排错功能。

你也可以如下图将网页存储到文件服务器内,而为了提供容错功能,因此应该架设多台文件服务器,同时还必须确保所有服务器内的网页内容都相同,你可以利用 DFS 复制功能来自动让每一台文件服务器内所存储的网页内容都相同。








本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1125115,如需转载请自行联系原作者
目录
相关文章
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
1185 12
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
622 20
|
存储 消息中间件 缓存
支持百万人超大群聊的Web端IM架构设计与实践
本文将回顾实现一个支持百万人超大群聊的Web端IM架构时遇到的技术挑战和解决思路,内容包括:通信方案选型、消息存储、消息有序性、消息可靠性、未读数统计。希望能带给你启发。
820 0
支持百万人超大群聊的Web端IM架构设计与实践
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
428 2
Web应用上云经典架构实践教学
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
519 1
|
网络安全 Python
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
863 6
|
SQL 安全 前端开发
PHP与现代Web开发:构建高效的网络应用
【10月更文挑战第37天】在数字化时代,PHP作为一门强大的服务器端脚本语言,持续影响着Web开发的面貌。本文将深入探讨PHP在现代Web开发中的角色,包括其核心优势、面临的挑战以及如何利用PHP构建高效、安全的网络应用。通过具体代码示例和最佳实践的分享,旨在为开发者提供实用指南,帮助他们在不断变化的技术环境中保持竞争力。
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
699 0
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。