In this presentation filmed during QCon SF 2008, Aditya Agarwal discusses Facebook’s architecture, more exactly the software stack used, presenting the advantages and disadvantages of its major components: LAMP (PHP, MySQL), Memcache, Thrift, Scribe.
An interesting post regarding the 10 most important topics an architect should know about. Quickly, here is the top ten:
- Cloud Computing
- Non-relational databases
- Next-generation distributed computing
- Web-Oriented Architecture (WOA)
- Open Supply Chains via APIs
- Dynamic Languages
- Social computing
- Crowdsourcing and peer production architectures
- New Application Models
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: