Web Farm和Web Garden的区别-阿里云开发者社区

开发者社区> master_haku> 正文

Web Farm和Web Garden的区别

简介: 经常有人问题什么是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.

 

 

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云Web 应用防火墙WAF和阿里云安骑士的区别及如何选择?
阿里云Web 应用防火墙WAF和阿里云安骑士的区别及如何选择?
2077 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7602 0
webpack和webpack-simple区别(如何引入css文件)
博主最近研究vue+webpack的时候想引入css文件死活引入不出来,在webpack-simple那里却能引得出来,十分的纳闷,然后细心的调试了一下,原来这webpack和webpack-simple两个东西引入css文件有点区别。
717 0
BREW SDK 版本的区别(上)
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6507739 BREW1.0的功能有限,而BREW1.1 则丰富了很多。
636 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9319 0
PHP版本的区别
原文: PHP版本的区别 以为这个已经写过了,发现没有,赶紧补充下。 PHP的版本,自从进入5以后,发布新版本速度明显提升很多,从PHP5.2开始,5.3 、5.4 、5.5,就快要6.0了。
951 0
【转】Html.RenderPartial与 Html.RenderAction的区别
Html.RenderPartial与Html.RenderAction 这个两个方法都是用于把MVC用户控件嵌入到View中。 Html.RenderPartial是直接将MVC用户控件嵌入到界面上 @{Html.RenderPartial("SupplierList ");} 注意: MVC用户控件必须放在调用者同一目录下,也可以放在View/Shared中。
687 0
+关注
master_haku
Master HaKu
502
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载