简体   繁体   中英

What is the difference between Web farm and Web Garden?

Web farm和Web Garden有什么区别?

Web Garden is the web hosting system which comprises of multiple “processes”.
Web Farm is the web hosting system which comprises of multiple “computers”.

Taken from here

A web farm is a group of two or more servers used to host the same site. Web farms increase the capacity of a web site, and improve availability by providing fail-over. Web farms are universally used for high-traffic and mission critical web sites.

When an application is hosted by multiple processes on the same server it is said to be a web garden environment.

A web farm scales across multiple servers . A web garden scales across multiple processors .

from this page :

A web farm is a multi-server scenario. So we may have a server in each state of US
If the load on one server is in excess then the other servers step in to bear the
brunt. How they bear it is based on various models.
1. RoundRobin. (All servers share load equally)
2. NLB (economical)
3. HLB (expensive but can scale up to 8192 servers)
4. Hybrid (of 2 and 3).
5. CLB (Component load balancer).

A web garden is a multi-processor setup. i.e., a single server (not like the 
                       multi server above).

Web Garden is a type of web-application architecture that provides logical scalability
(ie scalability for single computer instance). Logical scalability (or so-called web garden ) is achieved by enabling multiple worker processes for single application pool in IIS.

  • Web Garden = Logical Scalability
    using single IIS application pool with multiple worker processes;

在此输入图像描述

  • Note: by default one worker process is enabled for single IIS application pool ;

Web Farm is a type of web-application architecture that provides physical scalability
(ie scalability with multiple computer instances). Physical scalability (or so-called web farm ) is achieved by using load balancer with virtual IP (shared IP that is exposed to the web). Load balancer distributes workloads across multiple computer instances .

在此输入图像描述


Both types of architecture should have OutProc sessions (StateServer: dedicated process for storing session or SQLServer: shared SQL server sessions) because InProc (local memory) cannot be shared between multiple processes (web garden) or multiple computer instances (web farm).

Apart from what others have mentioned, I would like to refer the advantages of Web farm and 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.

For more info. refer to following link :- https://www.codeproject.com/articles/114910/what-is-the-difference-between-web-farm-and-web-ga

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM