Introduction to Architecting Systems for Scale - Irrational Exuberance
Few computer science or software development programs attempt to teach the building blocks of scalable systems. Instead, system architecture is usually picked up on the job by working through the pain of a growing product or by working with engineers who have already learned through that suffering process. In this post I'll attempt to document some of the scalability architecture lessons I've learned while working on systems at Yahoo! and Digg . I've attempted to maintain a color convention for diagrams in this post: green represents an external request from an external client (an HTTP request from a browser, etc), blue represents your code running in some container (a Django app running on mod_wsgi , a Python script listening to RabbitMQ , etc), and red represents a piece of infrastructure (MySQL, Redis , RabbitMQ, etc). Load Balancing: Scalability & Redundancy The ideal system increases capacity linearly with adding hardware. In such a system, if you have one machine and add another,Read full article from Introduction to Architecting Systems for Scale - Irrational Exuberance
No comments:
Post a Comment