前言
对于一家资讯媒体公司而言,爬虫可以说是第一道,也是最重要的补给线与产品线。爬虫聚焦于开发与维护各类网络信息抓取工具,通过获取到数量大、质量高的数据,为运营、算法、大数据等各个部门提供数据支持,保证公司的业务良好运行,而调度则是许多抓取程序中比较重要的一环。
一 、任务调度系统设计的重要性
分布式系统中比如Hadoop、MapReduce编程模型、还有其它大数据系统都会设计到任务调度。搜索引擎爬虫、新闻聚合公司爬虫面对的抓取url种子都是几十万、上百万甚至更多,这么多网页种子需要去抓取资源如果没有一个较好的调度系统,整个系统将会一片混乱。调度系统可以解决以下问题:
试想想如果一会一大堆种子要抓取,一会很长时间没有任务这就导致,闲的时候机器是空闲的,忙的时候特别忙网络请求非常频繁。
好的任务调度,能够更有效的利用机器资源,达到负载均衡 ,同时提高抓取效率,也能保证数据的平均。
二、设计思路
图2-1