| | Copyright |
| | About the Author |
| | Acknowledgments |
| | We Want to Hear from You! |
| | Reader Services |
| | Introduction |
| | | What You'll Find Inside |
| | | The Challenge |
| | Chapter 1. Scaling Up (and Down) |
| | | Defining Scalability |
| | | Why Do We Need to Scale? |
| | | What Goes Up Should Go Down |
| | | Real-World Considerations |
| | | Being a Good Architect |
| | Chapter 2. Principles for Avoiding Failure |
| | | Working in Production Environments |
| | | The Dot Bomb and Its Effect on Building Large Systems |
| | | Stability and Control |
| | | Good Design |
| | Chapter 3. Mission-Critical Environments |
| | | High Availability |
| | | Monitoring |
| | | Coping with Release Cycles |
| | | The Cost of Complexity Shackled to Large Architectures |
| | | Looking for Speed |
| | | It's Not a One-Man Mission |
| | Chapter 4. High Availability. HA! No Downtime?! |
| | | Why High Availability and Load Balancing Are Different |
| | | Traditional High AvailabilityThe Whitepaper Approach |
| | | High Availability Rethought (Peer-Based) |
| | | Diverging from the Web: High Availability for Email, DNS, and So On |
| | Chapter 5. Load Balancing and the Utter Confusion Surrounding It |
| | | Load Balancing Basics |
| | | IP-Friendly Services |
| | | Web Switches |
| | | IP Virtual Servers |
| | | Application Layer Load Balancers |
| | | Abusing the Term |
| | | The Web and Beyond |
| | | Session Stickiness: A Fatal Misconception |
| | | So, Which One Is the Best? |
| | Chapter 6. Static Content Serving for Speed and Glory |
| | | What's So Tricky? |
| | | The Goal |
| | | Building the Cluster |
| | | Tackling Content Distribution |
| | | Choosing a Web Serving Platform |
| | | Examining Our Availability Requirements |
| | | Choosing an OS |
| | | Wackamole |
| | | Serving Content |
| | | World Domination |
| | | DNS Round-Trip Times |
| | | AnycastShared IP |
| | | A Final Review |
| | Chapter 7. Static Meets Dynamic Adding Caches to Reduce Costs |
| | | Types of Caches |
| | | Deploying Caches |
| | | Serving a News Site |
| | | Caching Is Powerful |
| | Chapter 8. Distributed Databases Are Easy, Just Read the Fine Print |
| | | What Is a Distributed Database? |
| | | Why Is Replication So Hard? |
| | | Multimaster Replication |
| | | Master-Master Replication |
| | | Master-Slave Replication |
| | | News Site Revisited |
| | | Same Vendor Database Replication Is Easy |
| | Chapter 9. Juggling Logs and Other Circus Tricks |
| | | Why Is Logging a Challenge? |
| | | Classic Solutions |
| | | Logging Done Right |
| | | The Architecture (Servers, Software, and Roles) |
| | | Building It |
| | | Understanding the Beauty of the Beast |
| | | Visualizing Data with RRDtool |
| | | Generic Uses |
| | Chapter 10. The Right Tool for the Job |
| | | Who's Online? |
| | | Who's Online Reviewed |
| | Appendix A. Appendix |
| | | Spread |
| | | Group Communication |
| | | Introducing...Spread |
| | | Installation and Configuration |
| | | Getting Started |
| | | A Practical Example |
| | Index |