Web Architecture technology that makes the world wide web possible
Before diving into details on load balancing, we need to take a step back to discuss horizontal vs. vertical application scaling. What are they and what’s the difference?
Any one of them should process the request the same way so it’s just a matter of distributing the requests across the set of servers so none of them are overloaded.
At a high level, web application servers are relatively simple to describe. They execute the core business logic that handles a user’s request and sends back HTML to the user’s browser.
Every modern web application leverages one or more databases to store information. Databases provide ways of defining your data structures, inserting new data, finding existing data, updating or deleting existing data, performing computations across the data, and more.
Applications typically leverage caching services to save the results of expensive computations so that it’s possible to retrieve the results from the cache instead of recomputing them the next time they’re needed. An application might cache results from a database query, calls to external services, HTML for a given URL, and many more.