| | | 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 |