管理平台可以实现在多个节点上跑爬虫任务的需求,也就是在分布式节点上管理爬虫。例如有多台服务器,需要在这些服务器集群上运行、监控、操作相关爬虫脚本,并集中统一查看和管理,这种应用场景就非常适合天生支持分布式管理的爬虫管理平台Crawlab。要让各个节点运行的Crawlab服务协同工作在同一个网络,只需要让这些服务连接到MongoDB和Redis数据库,而不需要暴露自己的IP和端口。
下图是一个多节点部署的示意图,展示了Crawlab分布式集群是如何工作的。
每一个Crawlab服务都在一台服务器上,而处于中心位置的MongoDB和Redis数据库作为它们的通信媒介,连接着主节点(Master)和各个工作节点(Worker)。目前来说主节点只能有一个。这样的一个Crawlab分布式节点网络,形成一个多节点的集群,可以让爬虫在任意个节点上运行;运行的数据可以通过Redis传输回主节点,再呈现给前端界面;主节点也可以通过Redis对工作节点“发号施令”;而MongoDB也储存着各个节点的相关信息,供前端界面使用。
1.准备工作:部署MongoDB和Redis
在生产环境中分布式节点部署,