Facebook | System Design | Web Crawler
6820

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
Comments (11)