系统设计系列讲解 Design a Web Crawler

欢迎给视频点赞和订阅YouTube频道 :innocent:

第一个视频里面提及robot.txt不对,应该是robots.txt啦

嗯嗯,谢谢指正

thank U! 看你的视频收益良多!

求问楼主,url dedup和document decup怎么处理concurrent issue呀,如果两个process同时处理url ABC,process A准备写入到url set,但是此时,process B去查,会发现还不存在,那这两个process是否就会同时处理同一个url

这里的workflow都是sequential的,写到 url set 之前需要调用 dedup 然后才能放进去
应该不存在parallel 的情况

谢谢楼主回复,那如果是sequential的,是否这个就不是分布式的呀,也就是TPS可能会有比较低的上限

一定要concurrent的话,你可以partition,每个process管一部分url prefix

明白了~谢谢楼主!

我觉得blooming filter 那个部分非常的confusing。 我可以理解作为一个快速查重的方法。但问题是你如何处理refresh web page的情况,就是你一周前已经查过一次,然后你现在又得重查了?你无法从blooming filter得知url的时间状态?

然后是data partition 那部分该怎么做,比如你有多个fetcher,每个有独立的IP,你会希望每个fetcher比较平均地fetch同一个网站,而不是单独有同一个fetcher handle,这个时候该如何进行partition?