Building Web Cache Cluster using LVS
Introduction
Efficient web cache systems can greatly reduce network traffic, lower the response time of web service and the loading of web servers. However, if the cache server is overloaded so that it cannot process requests in time, it will increase the response time of service requests. Therefore, it's very important to have scalability in cache systems, when the load that the system receives is increasing, the whole system can be scaled up to have higher processing capacity of caching service.
Single server system usually doesn't have good scalability. For example, if we want to build a web cache service that can handle several gigabit/sec traffic in ISP or backbone network, SUN Enterprise 10000 server cannot meet this throughput requirement. Thus, it's an efficient way to build scalable web service using clusters of commodity PC servers, it's also a way of highest performance/price ratio.
Web cache cluster can be either near the client side as (transparent) proxy cache to speed web access for clients, or near the server side as cache accelerator to take load away from web servers.
Architecture
The system architecture of web cache cluster using LVS is illustrated in the following figure.
- Load Balancer: it usually use LVS/TUN or LVS/DR for high scalability
- Cache Server Array: it performs web object caching services