Design a distributed web crawler to crawl 1 billion url's as a hacker avoiding detection
Restrictions/questions/comments
- For crawling a hacker has about 10,000 personal computers available all over the world
- You can deploy a software to each computer to run the system
- For each url, download and save html content
- Desing should be such that traffic between particular nodes should be minimal to avoid detection
- It should start with a root url and eventually crawl all 1 billion url's
- Load should be distributed evenly across all computers
- How would you prevent crawling of duplicate url's?
- How you would store data?
- How would you distribute url's across all remote computers
- There should not be a central authority which all remote computers connect to as that will go against the rule of avoiding detection