Web Farm和Web Garden的区别

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 经常有人问题什么是Web Farm, 什么又是Web Garden? 他们的有什么区别? 今天我们就来看一下他们之间的区别 我们知道, web server负责处理客户端的请求然后再返回给他们.

 

经常有人问题什么是Web Farm, 什么又是Web Garden?

他们的有什么区别?

今天我们就来看一下他们之间的区别

我们知道, web server负责处理客户端的请求然后再返回给他们.

但是,当请求很多的时候,一台服务器可能承受不了, 这个时候,我们就需

要用多台web server来分担请求的压力, that is called to divide the traffic among them.

这就是web farm

web farm -- hosting your single web site on multiple web servers over load balancer

通常,我们在web farm的架构中, 不同的web server通过load balancer和虚拟IP进行连接

因为,当请求过来的时候,它最先接触的是load balancer, LB把请求分发给相关的web server

 

web garden

首先,我们来了解一下什么是Worker Process, 在IIS中Worker Process(w3wp.exe)负责处理

所有的请求, 相应,缓存等, Application Pool则是Worker Process的容器, 应用程序池用来被用来分割

Worker Process的集合以保证最佳的稳定性

每个应用程序池默认只有一个工作进程, 但是,如果应用程序池包含了多个工作进程,这种方式就叫做

web garden

在IIS6/7中创建web garden的步骤:

IIS6

1) Right Click on Application Pool -> Properties -> Goto Performance Tab

2) In the “Performance Tab” section, you would have one option called “Web Garden”

     where worker process sets to “1”, you can set the number of worker 

     processes that you required

IIS7

1) Right Click on Application Pool -> Go To Advance Settings -> In Process Model section

     you will have “Maximum Worker Processes”

2) You can change it more than 1 to make it as a web garden

 

Advantages of Web Farm

  • It provides high availability. If any of the servers in the farm        

         goes down, Load balancer can redirect the requests to other servers.         

  • Provides high performance response for client requests.
  • Provides better scalability of the web application and reduces the        

         failure of the application.

  • Session and other resources can be stored in a centralized location        

         to access by all the servers.

 

Advantages of Web Garden

  • Provides better application availability by sharing requests between        

          multiple worker process.

  • Web garden uses processor affinity where application can be swapped        

          out based on preference and tag setting.

  • Less consumption of physical space for web garden configuration.

 

Session in Web Farm Mode

While using session, requests are distributed among different servers.      

By default, session mode is set to In Proc where session data is stored      

inside worker process memory. But, in Web farm mode, we can share the      

session among all the servers using a single session store location by      

making it Out proc (State Server or SQL Server Mode). So, if some of the      

servers go down and request is transferred to the other server by the Load      

balancer, session data should be available for that request.

 

Session in Web Garden Mode

When we are using Web garden where request is being taken care of by      

different worker process, we have to make the session mode as out process      

session mode as described earlier. For Web Garden, we have to configure      

the out process within the same server but for different worker process.

 

 

 

 

 

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
SQL 安全 网络安全
Web应用防火墙(WAF)与数据库应用防火墙有什么区别?
Web应用防火墙(WAF)专注于Web应用系统和网站的应用层防护,可有效应对OWASP Top 10等常见攻击,防止SQL注入、CC攻击等。而数据库应用防火墙则位于应用服务器与数据库之间,提供数据库访问控制、攻击阻断、虚拟补丁等高级防护功能,直接保护数据库免受攻击。两者分别针对Web层和数据库层提供不同的安全保护。
45 4
|
4月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
3月前
|
网络协议 API 网络安全
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
268 0
|
3月前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
143 0
|
3月前
|
Java 应用服务中间件 Apache
浅谈Tomcat和其他WEB容器的区别
Tomcat是一款轻量级的免费开源Web应用服务器,常用于中小型系统及并发访问量适中的场景,尤其适合开发和调试JSP程序。它不仅能处理HTML页面,还充当Servlet和JSP容器。相比之下,物理服务器是指具备处理器、硬盘等硬件设施的服务器,如云服务器,其设计目标是在处理能力、稳定性和安全性等方面提供高标准服务。简言之,Tomcat专注于运行Java应用,而物理服务器则提供基础计算资源。
|
6月前
|
存储 自然语言处理 前端开发
Web1.0、Web2.0 和 Web3.0 的区别
【7月更文挑战第4天】Web1.0是只读的互联网,内容由网站所有者发布,用户被动接收;Web2.0强调用户生成内容和社交互动,如博客、社交媒体,用户能积极参与;而Web3.0则走向去中心化,基于区块链,强调语义网、数字资产、用户隐私和数据主权,赋予用户更多控制权。从单向传播到深度互动,再到去中心化和智能服务,互联网不断演进。
672 6
|
6月前
|
Java UED
Java Web 中forward 和 redirect 的区别
在Java Web开发中,页面跳转是构建用户界面和实现业务逻辑的重要组成部分。Forward(转发)和Redirect(重定向)是两种常见的跳转方式,它们分别具有不同的特点和适用场景。正确地选择和使用这两种跳转方式,有助于提高Web应用的性能、用户体验和代码可维护性。
92 0
|
8月前
|
存储 前端开发 索引
【Web 前端】ES6中,Set和Map的区别 ?
【5月更文挑战第1天】【Web 前端】ES6中,Set和Map的区别 ?
|
8月前
|
存储 前端开发 JavaScript
【Web 前端】JS数据类型有哪些?区别?
【4月更文挑战第22天】【Web 前端】JS数据类型有哪些?区别?
|
8月前
|
XML 前端开发 JavaScript
【Web 前端】href和src的区别?
【4月更文挑战第22天】【Web 前端】href和src的区别?