Google network architecture
I am aware that this question might be closed as "not a real question", "subjective" or even "argumentative". If this is a mistake, I am sorry.
I am not good at all at networking but I'm trying to get better and learn more. (you might know the saying : "the first step to intelligence is acknowledging that you are stupid" :P).
Network-wise what happens after I type www.google.com in my browser and press enter?
Here's what I know so far :
- The browser application makes a DNS request to find the IP of www.google.com. It might find 209.85.148.105 (that's what has just been resolved for me now).
- Then it connects via TCP/IP to that host on port 80 (default port for HTTP) and sends an HTTP request like GET /
- Receives HTML data and displays it (along with loading additional resources such as .css, images files etc.)
What I want to find out is how it connects, step by step, to a Google server. After the request goes out of my computer and my ISP it finally hits google hardware at some point.
- Is there a load balancer?
- How many of them?
- Are there multiple levels of load balancers? i.e.: a load balancer of load balancers of load balancers...
- How powerful is an end web server? Could it be a lousy 500 MHz CPU machine with 512MB RAM and 10 GB HDD? Or maybe an 8-core, 16GB, RAID-0 SSD beast?
- What kind of redundancy do they use at network level?
- What happens if load balancer(s) fail?
- What does it take to make www.google.com unavailable? (No, I don't want to sabotage or sth..)
Solution 1:
Try out http://highscalability.com/display/Search?searchQuery=google it's full of resources.
Solution 2:
Regarding Google's hardware, this is a great place to start.
There's also some stuff on topology/load balancing there.