: .
自制分布式爬虫系统
essionID
SessionID SessionID
控制服务控制服务 抓取服务抓取服务 抽取服务抽取服务
SessionID
结果聚合结果聚合
Reddis Cluster 服务服务
问题:
1. 异步抓取的时候链接去重 SessionID
2. 某次同步请求是否抓全
Pages
(JSON)
SessionID 获取结果Step 4 集群化 — 服务发现、负载均衡
HTTP接口
ZooKeeper/etcd
使用Marathon + Bamboo + HAProxy 进行服务发现
RabbitMQ接口
通过监听MQ实现服务发现
MongoDB 如果不考虑自动扩展,使用既有的集群方案
Reddis 可以采用Codis方案Step 5 离线和在线服务混合部署
离线服务吞吐很高,爬取模块队列经常破百万 ‐ MQ 集群化
在线服务要求实时性 ‐ 队列设置优先级Step 6 全局配置热更新
问题:
如何全局改变常用小参数的配置(变化少,使用频繁)
如何全局改变体量较大的全局共享数据(体积大、变化较多)
写代码的时候提前做好热读取参数的机制
PUSH PULL
使用ZooKeeper/etcd来同步小 使用Reddis之类配置服务器
参数 来存储较大的共享数据 : .
自制分布式爬虫系统
北京数人科技有限公司 : .
自制分布式爬虫系统
北京数人科技有限公司 : .
单机的 All-In-One 爬虫架构
HA Proxy 利用JavaEE容
器的线程池、
微服务实例-自制分布式爬虫系统-数人科技 来自淘豆网m.daumloan.com转载请标明出处.