请问4.2.3Scale 中提到,可以按地域或域名分配worker ,如果这样的话对front queue和back queue的结构有影响吗? 比如负责域名A的worker 来取url,但是heap里最早可以爬取的几个都是其他域名下的,这个时候怎么办呢?
另外还有个问题:render是在fetch以后同步执行的,这个理解对吗?
- 你提的这个情况是 Worker 工作量不平均的问题,如果严格规定某一些域名属于单一worker, 它可能 idle。如果要避免这个情况,就需要允许这些 worker 在空闲时处理一些其他域名的爬取任务。
- Render 是一个可选的步骤,如果 Fetch 可以爬到网站主题,那么就不需要 render。对于需要 render 的情况,会有另一组机器来专门出里 render 的任务然后把 render 好的 HTML 存入 DB。
1 个赞