闫宏飞却只是摇了摇头。
他当然愿意相信余江只是随便翻了一下。
但随便翻的状态,和认真的、快速看的状态,又怎会一样?
他又联想到这家夥恐怖的分数————
沉默了几秒,他又想到昨天喻林的话。
「师弟,你对爬虫了解多少?」
余江回头:「了解了一点点,怎麽?」
「就是即便加了节点,并行抓取也是重复,而且很慢。」闫宏飞望着余江:「有思路没?」
余江微微皱眉。
这位师兄好像是博一————
「嗯————师兄肯定去重没问题————」余江一边说着一边观察闫宏飞的表情,「要不我看看日志?」
闫宏飞点头,随即打开日志。
余江从旁边拉过凳子,迅速查看日志。
爬虫这玩意谁没玩过啊—一他当初写的验i123连结网站的小工具,如果加一道分析,就可以算爬虫了。
「师兄用的文件列表?」
「也试过hashset去重,但很快就爆内存。」
「url队列问题确实难搞。」余江点头,安静地思索了片刻。
闫宏飞也耐心地等待,只是眼神略有闪烁。
「hashset在url总量过高的时候确实会占用大量内存,文件列表吃i/0。
"1
闫宏飞就叹了口气,他的办法是平均负载,但终归治标不治本。
余江转头望着闫宏飞。
「要不试试全局去重?」
闫宏飞一怔:「怎麽全局,什麽架构?」
「引入一个轻量master节点,专门维护一个全局bloomfilter做去重。」
「位数组大小按我们当前几千万网页规模留足余量,用几个独立哈希函数,误判率控制在千分之五以内就够用。
worker节点本地先快速过滤,新提取的url再批量通过tcp发给master确认。」
「关键是per—hostbackqueues:master按主机名hash分桶,每个主机维护一个fifo队列和一个下次可抓时间————」
「————master本身用轻量内存结构,也没什麽瓶颈。」
余江一边思索,一边慢慢地给出方案。
本章未完,请翻下一页继续阅读.........