没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
网络爬虫服务化方案建议书
一 引言
网络爬虫作为一种强有力的数据获取手段,迄今为止被运用到各个方面。
本团队需要相关行业数据作为支撑,广泛收集互联网数据势在必行。如何提高
收集效率和有效管理是团队需要面临的问题。本篇旨在提出一种网络爬虫微服
务架构,有效管理各个组件功能,利用各个组件相互协调有效完成数据收集。
二 网络爬虫分层架构
按照分层模型,主要基于各个层次提供的功能和服务划分:
最底层是硬件设备:相关软件和网络带宽作为支撑,这部分作为网络爬
虫的基本设施,主要提供强有力的硬件,资源支撑。提供足够的内存,
硬盘,cpu,带宽和 IP 资源。
组件和服务层 :主要提供爬虫相关的中间件:IP 动态资源池,url 资源
池,任务调度,定时任务配置管理,应用监控,配置中心,服务注册中
心,消息队列等基础组件服务。
(1)配置中心主要承担分布式上层应用中的全局配置,基础属性配置。
(2)服务注册中心系统组件服务注册,有效管理服务可用性。
(3)应用监控中心主要管理上层应用的运行情况,是否发生相关异常,
资源使用情况是否达到系统极限等。
(4)消息队列可以像不同服务下发订阅相关实时消息,如服务之间的部
分数据传输。
(5)任务调度管理主要涉及分布式环境下个服务器资源有效利用,根据
服务器状况合理分配任务,相关定时任务可以在任务调度中进行管理。
爬虫应用解析和网关层: 该层提供爬虫解析的具体逻辑,相关 url 和
属性可以在服务层中调用获取。网关主要提供各种服务管理可视化界
面展示,url 管理,配置管理。
存储层:结构化,半结构化数据在分布式数据库 HBase 中存储,非结
构化数据如(咨询,图片)使用 HDFS 文件系统存储和 ES 等。部分热点
数据添加文本索引,利于快速检索。有关存储规则,表设计,索引设
计等如何应对大批量写入和读出等策略设计。
服务层提供基础组件和相关服务,主要涉及网络爬虫中的初始化,任
务,资源,配置和任务管理。合理将其服务化可利于后期功能扩展和降低
系统耦合性。
三 爬虫组件服务层设计
硬件,网络配置
(1) 硬件资源:
网络爬虫需要部署在稳定的服务器之上运行,涉及到启动爬虫进程占用一
定的内存和 CPU 资源,按照爬虫分布式部署和存储的原则,拟规划 4 台虚拟服
务器部署爬虫服务和存储检索服务。相关配置如下:
机器编号 配置项
内存
CPU
硬盘
B1 64GB
8 核
1T*4
B2 64GB
8 核
1T*4
B3 64GB
8 核
1T*4
B4 64GB
8 核
1T*4
(2) 网络资源:
网络爬虫如果涉及到长时间大规模抓取,涉及到相关政策法规,是否需要
专
网或者专门的网络出口。
(3) 代理 IP
在抓取目标网站数据时,时常会有 IP 地址或者域名被封的情况,这是一种
常见的反爬虫手段,用于处理大量非正常请求。目前网络上主要采用动态切换
IP,来伪装防止被封,互联网上有很多厂商提供 IP 资源服务,优质的 IP 资源循
环使用率高,可作为内部资源循环利用。
IP 资源池组件
IP 资源获取的两种方式:一种是通过网络上抓取免费 IP 资源。这种方
式获取的 IP 资源质量低,有效率不到 10%,IP 时效短;另一种是通过相关
厂商购买,购买后按照接口方式获取 IP。这种方式获取的 IP 量非常大,可
用率高。
(1) IP 资源的统筹方式:
大量 IP 获取后需要按照有效的方式管理,作为一种服务,微服务是一个很
好的解决方案,IP 资源的增删改查可以独立作为一个服务运行。稳定有效的 IP
资源,快速有效的存取,IP 资源池服务作为微服务注册到服务注册中心,由服
务注册中心负责 IP 资源服务的有效管理。
IP 池采用 Redis 队列存储,可动态添加,取出,同时设置备用队列,解决
主队列中的 IP 资源取出后不能复用的问题。
该微服务框架拟采用 springboot 结构,按照微服务的方式构建,项目提
供两方面功能,一方面可以对外抓取国内网免费代理网站的 IP 资源,另一方面
提供相关厂商购买提供的 IP 资源。
剩余36页未读,继续阅读
马修马
- 粉丝: 3
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0