Skip to:Content
|
Bottom
Cover image for Scalable internet architecture
Title:
Scalable internet architecture
Personal Author:
Publication Information:
Indianapolis, IN : Developers Library/Sams, 2007
ISBN:
9780672326998

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010139859 TK5105.52 S34 2007 Open Access Book Book
Searching...
Searching...
33000000018347 TK5105.52 S34 2007 Open Access Book Gift Book
Searching...

On Order

Summary

Summary

As a developer, you are aware of the increasing concern amongst developers and site architects that websites be able to handle the vast number of visitors that flood the Internet on a daily basis. Scalable Internet Architectures addresses these concerns by teaching you both good and bad design methodologies for building new sites and how to scale existing websites to robust, high-availability websites. Primarily example-based, the book discusses major topics in web architectural design, presenting existing solutions and how they work. Technology budget tight? This book will work for you, too, as it introduces new and innovative concepts to solving traditionally expensive problems without a large technology budget. Using open source and proprietary examples, you will be engaged in best practice design methodologies for building new sites, as well as appropriately scaling both growing and shrinking sites. Website development help has arrived in the form of Scalable Internet Architectures .


Author Notes

Theo Schlossnagle is a principal at OmniTI Computer Consulting


Table of Contents

Introductionp. 1
1 Scaling Up (and Down)p. 5
Defining Scalabilityp. 5
Why Do We Need to Scale?p. 6
Scaling Up Gone Wrongp. 6
What Goes Up Should Go Downp. 7
Real-World Considerationsp. 8
Being a Good Architectp. 9
2 Principles for Avoiding Failurep. 11
Working in Production Environmentsp. 12
The Dot Bomb and Its Effect on Building Large Systemsp. 13
Stability and Controlp. 14
Rapid Developmentp. 15
Unit Testingp. 16
Version Controlp. 18
Version Control in Actionp. 20
A Different Approach to Disaster Recoveryp. 22
Good Designp. 23
3 Mission-Critical Environmentsp. 25
High Availabilityp. 26
Monitoringp. 27
Monitoring Implementationsp. 27
Criteria for a Capable Monitoring Systemp. 29
Coping with Release Cyclesp. 30
Internal Release Cyclesp. 31
External Release Cyclesp. 33
The Cost of Complexity Shackled to Large Architecturesp. 34
Looking for Speedp. 34
It's Not a One-Man Missionp. 36
4 High Availability. HA! No Downtime?!p. 37
Why High Availability and Load Balancing Are Differentp. 41
Load Balancing Is Not High Availabilityp. 42
High Availability Is Not Load Balancingp. 42
Traditional High Availability-The Whitepaper Approachp. 43
Surveying the Sitep. 45
Pouring Concrete-Foundry ServerIronp. 45
High Availability Rethought (Peer-Based)p. 49
Peer-Based High Availability in the Real Worldp. 52
Growing Seamlesslyp. 55
Diverging from the Web: High Availability for Email, DNS, and So Onp. 55
Pouring Concretep. 56
5 Load Balancing and the Utter Confusion Surrounding Itp. 61
Load Balancing Basicsp. 61
IP-Friendly Servicesp. 63
Web Switchesp. 65
IP Virtual Serversp. 67
Application Layer Load Balancersp. 67
A Real Usep. 69
Abusing the Termp. 71
The Web and Beyondp. 72
Session Stickiness: A Fatal Misconceptionp. 73
So, Which One Is the Best?p. 74
6 Static Content Serving for Speed and Gloryp. 75
What's So Tricky?p. 76
Context Switchingp. 77
Resource Utilizationp. 78
The Goalp. 81
Building the Clusterp. 82
Setting Goalsp. 83
Tackling Content Distributionp. 83
A Priori Placementp. 84
Cache-on-Demandp. 86
Choosing a Web Serving Platformp. 88
Examining Our Availability Requirementsp. 90
Choosing an OSp. 90
Wackamolep. 91
Reasoningp. 91
Installationp. 91
Testing the High Availabilityp. 94
Serving Contentp. 98
World Dominationp. 99
DNS Round-Trip Timesp. 101
Anycast-Shared IPp. 102
A Final Reviewp. 104
Was It Worth It?p. 104
7 Static Meets Dynamic Adding Caches to Reduce Costsp. 105
Types of Cachesp. 107
Layered/Transparent Cachep. 107
Integrated (Look-Aside) Cachep. 109
Data Cachep. 112
Write-Thru and Write-Back Cachesp. 113
Distributed Cachep. 114
Deploying Cachesp. 117
Serving a News Sitep. 117
Simple Implementationp. 119
Introducing Integrated Cachingp. 122
Tackling User Datap. 127
Two-Tier Executionp. 130
Caching Is Powerfulp. 134
8 Distributed Databases Are Easy, Just Read the Fine Printp. 137
What Is a Distributed Database?p. 137
Data Resiliencyp. 137
Operational Failoverp. 138
Increased Query Performancep. 138
Complete Reliabilityp. 138
Geographically Distributed Operationp. 139
Why Is Replication So Hard?p. 139
Multimaster Replicationp. 140
Two-Phase Commit (2PC)p. 141
EVS Enginep. 142
Master-Master Replicationp. 144
Master-Slave Replicationp. 144
Changing the Scope of the Problemp. 144
Operation and Changeset Replicationp. 145
News Site Revisitedp. 148
Choosing Technologies and Methodsp. 148
Implementing Cross-Vendor Database Replicationp. 151
Same Vendor Database Replication Is Easyp. 166
9 Juggling Logs and Other Circus Tricksp. 169
Why Is Logging a Challenge?p. 169
Classic Solutionsp. 171
Periodic "Batch" Aggregationp. 171
Real-time Unicast Aggregationp. 172
Passive "Sniffing" Log Aggregationp. 173
Logging Done Rightp. 175
The Architecture (Servers, Software, and Roles)p. 176
Building Itp. 177
Subscribers-spreadlogdp. 178
Publishers-mod_log_spreadp. 179
Understanding the Beauty of the Beastp. 180
Real-time Analysisp. 181
Real-time Monitoringp. 183
Passive Log Aggregation for Metricsp. 187
Visualizing Data with RRDtoolp. 188
A Bit About RRDtoolp. 189
Setting Up Our Databasesp. 189
Collecting Metricsp. 191
Visualizing Data Through RRDtoolp. 194
Being Hit in the Face with Datap. 196
Generic Usesp. 197
10 The Right Tool for the Jobp. 199
Who's Online?p. 200
Technical Setupp. 200
Defining Scopep. 206
Stepping Backp. 207
Thinking Outside the Boxp. 208
Testing the Solutionp. 223
Who's Online Reviewedp. 226
Appendix A Spreadp. 227
Group Communicationp. 227
Introducing...Spreadp. 229
Installation and Configurationp. 231
Getting Startedp. 232
A Practical Examplep. 241
Indexp. 247
Go to:Top of Page