As Web 2.0 applications become more popular, the issue of performance inevitably rears its ugly head. Ajax-driven sites, by their very nature, tend to be more efficient by loading content asynchronously and updating only portions of a page. However, if the server does not respond quickly enough, even Ajax won’t help your Web app’s speed.
Two time-tested solutions to this problem are load balancing requests across multiple servers, or distributing content via content delivery networks (CDNs). Both approaches seek to improve responsiveness on the server side, and each is useful for different types of applications. Load balancing sends browser requests to different machines within the same hosting environment, which is best for processor-intensive operations that may tie up server resources. CDNs distribute content across geographically dispersed servers, which is perfect for static content, video, or other bandwidth-intensive data.
Earlier this month Digital Web posted an article about a third option: client-side load balancing. While not everyone agrees with this approach, it offers an intriguing alternative to traditional Web scalability solutions.
Not only will this distribute load among multiple servers, the servers can be geographically distributed in different data centers. It also handles failover gracefully. But the best thing about this approach is that it can be combined seamlessly with server-side load balancing or CDNs to maximize performance and uptime.