The main cause of application bottlenecks are external data such as RDBMS, Application Server, 3rd Party data feeds, etc. A service is said to be scalable if when we increase the resources in a system, it results in increased performance
in a manner proportional to resources added.
Here are presented several key principles learned from different sources
to scale the transactional throughput of a web-based system.
Why latency matters
Denormalization of data
Why denormalization is good:
- eBay’s Architectural Principles (video)
- Werner Vogels on scalability
- Dan Pritchett on You Scaled Your What?
- The Coming of the Shard
- Trading Consistency for Availability in Distributed Architectures
- Eric Brewer on the CAP Theorem
- SEDA: An Architecture for Well-Conditioned, Scalable Internet Services