Difference between "web farms" and "web garden", DOT NET Programming

What is the difference between "Web farms" and "Web garden"?

The "Web farms" are used to have some redundancy to reduce the failures. It consists of two or more web server of the similar configuration and they stream the similar kind of contents. Whenever any request comes there is a switching / routing logic which decides which web server from the farm handles the request. For instance we have2 servers "Server1"

And "Server2" which have the similar configuration and content. So there is a special switch which stands in between these two servers and the users & routes the request accordingly.

1962_Web farm.png

Figure : - Web Farm in action

The Above figure describes in detail how the web farm work. You can see that there is a router in between which takes a request and sees which one of the server is least loaded and forwards the request to the server. So for the request1 it route's server1, for request2 it routes server2, for request3 it routes to server3 and final request4 is routed to server4. So you can see as we have web farm at place server1 and server2 are loaded with two request each rather than one server loading to full. One more merit of using this kind of architecture is if one of the servers goes down we can still run with another server thus having 24x7 uptime.

The routing logic can be a number of various options:-

1)Round-robin: In this Each node gets a request sent to it "in turn". And hence  , server1 receives  a request, then server2 again, and then server1, then server2 again.

2)Least Active: In this Whichever node show to have the lowest number of current connects receives  new connects sent to it. This is very good  way to help to keep the load balanced between all the server nodes.

3)Fastest Reply: In this Whichever node replies faster is the one that gets the new requests. This is also a very good option - especially if there are nodes that might not be "equal" in performance. If anyone performs better than the another, then send more requests there rather than which is moving slowly?

Before we try to understand what a web garden is let's try to understand how IIS handles all processes. The requests to the IIS are routed to an "aspnet_wp.exe" for IIS 5.0 and "w3wp.exe" for IIS 6.0. In general without the web garden we have one worker process instance ("aspnet_wp.exe" / "w3wp.exe") across all requests. This one instance of the worker process uses the CPU processor as directed by  operating system.

150_web garden.png

Figure: - With out Web Garden

But whenever we enable the web garden for a web server it creates various instances of the worker process and each of these worker processes runs on various CPU. You can see in the diagram given below we have different worker process instances created which run on varoius CPU's.

2104_web garden1.png

Figure  : - With Web Garden

In brief we can define a model in which multiple processes run on the multiple CPUs in a single server machine are defined as a Web garden.

Posted Date: 9/22/2012 6:31:24 AM | Location : United States







Related Discussions:- Difference between "web farms" and "web garden", Assignment Help, Ask Question on Difference between "web farms" and "web garden", Get Answer, Expert's Help, Difference between "web farms" and "web garden" Discussions

Write discussion on Difference between "web farms" and "web garden"
Your posts are moderated
Related Questions
The costumer is an application that tracks production costuming, structure and other related pieces. We discussed this in detail and you have commentary and video to define the pro

what is Entity-relationship diagram for e-resource planner software

What is the DataContext class and how is it related to LINQ? After you add a LINQ to SQL Classes item to a project and open the O/R Designer, the empty design surface shows an

What is Object Oriented Programming? This is a problem solving process to develop software systems. This is a technique to think real world in terms of objects. The Object maps


How Output cache functionality is achieved? The Output cache functionality is achieved by using the "OutputCache" attribute on ASP.NET page header. The syntax is shown below:

Name the classes that are introduced in the System.Numerics namespace. The following two new classes are introduced in the System.Numerics namespace:  BigInteger - Refers

Produce a server setup where I have access to ip address Project Description: I would require using ftp or remote desktop to put software on your server (must be a united sta

Different types of remote object creation mode in .NET There are 2 different ways in which the object can be created using Remoting :- 1)SAO (Server Activated Objects) also

What is .NET Framework? .NET Framework is a complete environment that permits developers to develop, run, and deploy the following applications:     Windows services