When a service grows beyond the capabilities of a single machine, groups of machines are often employed to provide the service. In the case of HTTP2 and HTTPS3servers, or web servers, this is often referred to a Web Farm. Web farms typically employ both high availability and scalability technologies in order to provide a highly available service spread across multiple machines, with a single point of contact for clients.
Web farms can take many forms, however, the three tiered approach is a useful model for explaining how a web farm works. A sample web farm is shown in figure 1. [2]
A similar topology would be implemented for other host-based layer 4 switching technologies such as the Cisco LocalDirector or the F5 BIG/ip. It is possible to construct a topology whereby the layer 4 switching servers are also the gateway routers to the network. However, it is often desirable to separate routing and multiplexing functionality to provide greater flexibility in how traffic is handled. If a layer 4 switch is used then the IPVS servers are eliminated and this switch forms all or part of the switching fabric for the Server Network.
If a geographically distributed system is required then intelligent DNS solutions such as Resonate and Eddieware can be employed that will return the IP address of one of the servers, based on some heuristic. Alternatively, a central web server can handle all incoming requests and distribute them using an HTTP redirect after making a decision on which server the client should be directed to. The rewrite module that ships with the Apache HTTP Server is a very useful method of achieving this. It is also possible, using EBGP49, to advertise the same network in more than once place and let the routing topology route customers to the most appropriate web server for them. Of course any instance of a web server in this discussion can be replaced with a web farm as per figure 1. A web farm of web farms if you will.