High Performance Web Service Architecture - Part I
The Problem
I am working on a new project with a significant web service component. It’s similar to a traditional ad server where ad units are assembled and served while both impressions and click-throughs are tracked. What makes the server different from a traditional ad-server is how the ads are created and the target market for the business, which, although very interesting, isn’t really important for this discussion.
Building an ad-server is pretty challenging. The primary constraints on the architecture are performance and scalability. The server is going to get hit pretty hard and if performance degrades on the server cluster then client sites displaying those ads will take longer to load, which is never a Good Thing. The goal of the server has to be to serve ads almost as fast as the equivalent static content.