This guide provides some insights about Load balancing Linux application including architectures or choices between load balancers and scaling apps with Load Balancing.
From the article:
Originally, the Web was mostly static contents, quickly delivered to a few users which spent most of their time reading between rare clicks. Now, we see real applications which hold users for tens of minutes or hours, with little content to read between clicks and a lot of work performed on the servers. The users often visit the same sites, which they know perfectly and don't spend much time reading. They expect immediate delivery while they inconsciously inflict huge loads on the servers at every single click. This new dynamics has developped a new need for high performance and permanent availability. I hope to complete this article soon with a deeper HTTP analysis and with architecture examples.