脸家系统设计,web crawler, 机器之间不能通信。 (转载)# Joke - 肚皮舞运动
c*n
1 楼
【 以下文字转载自 JobHunting 讨论区 】
发信人: ravichouhan (ravi!), 信区: JobHunting
标 题: 脸家系统设计,web crawler, 机器之间不能通信。
发信站: BBS 未名空间站 (Thu Jun 29 02:17:19 2017, 美东)
被问了这个crawler的问题,大概就是给你10K个机器,每个机器有seed url,然
后要爬1B的url,机器之间不能通信,问你怎么样每个机器才能平均的分任务。同时保
证每个网站只能被crawler一次。
奇怪的设计题,完全没有master,就是很多事情都不好做了
纠缠了十几分钟后突然意识到这完全是个brain teaser式的system design,然后想到
了类似UUID hashing,对拿到的url做hash,事先规定好每台机器都只做那些hash
value的job,如果hash的值跟当前机器的预定值不一样就skip,一样才继续crawl
算是蒙混过关,又问了两个follow up问题,第二个没想好时间就到了
1. 如何判断crawling结束
2. 如果一半机器比另一半快怎样分配
请问大家什么思路?
发信人: ravichouhan (ravi!), 信区: JobHunting
标 题: 脸家系统设计,web crawler, 机器之间不能通信。
发信站: BBS 未名空间站 (Thu Jun 29 02:17:19 2017, 美东)
被问了这个crawler的问题,大概就是给你10K个机器,每个机器有seed url,然
后要爬1B的url,机器之间不能通信,问你怎么样每个机器才能平均的分任务。同时保
证每个网站只能被crawler一次。
奇怪的设计题,完全没有master,就是很多事情都不好做了
纠缠了十几分钟后突然意识到这完全是个brain teaser式的system design,然后想到
了类似UUID hashing,对拿到的url做hash,事先规定好每台机器都只做那些hash
value的job,如果hash的值跟当前机器的预定值不一样就skip,一样才继续crawl
算是蒙混过关,又问了两个follow up问题,第二个没想好时间就到了
1. 如何判断crawling结束
2. 如果一半机器比另一半快怎样分配
请问大家什么思路?