google search engine architecture- how do so many concurrent users do a search on it
One element, DNS load balancing.
There are plenty of resources on google architecture, this site has a nice list:
- http://highscalability.com/google-architecture
DNS Load Balancing is correct, but it is not really the full answer to the question. Google uses a multitude of techniques, including but not limited to the following:
- DNS Load Balancing (suggested)
- Clustering - as suggested, but note the following
- clustered databases (the database storage and retrieval is spread over many machines)
- clustered web services (analogous to DNSLB here)
- An internally developed clustered/distributed filing system
- Highly optimised search indices and algorithms, making storage efficient and retrieval fast across the cluster
- Caching of requests (squid), responses (squid), databases (in memory, see shards in the above article)
I've gone searching for information about this topic recently and Wikipedia's Google Platform article was the best all around source of information on how Google does it. However, the High Scalability blog has outstanding articles on scalability nearly every day. Be sure to check it out their Google architecture article too.