版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自制分布式爬虫系统北京数人科技有限公司单机的All-In-One爬虫架构控制模块抓取模块抽取模块HA
Proxy各地代理URLHTML模板结果JSONXML递归URL有状态解析JS、地区代理、调速登陆利用JavaEE容器的线程池、共享状态做最坏的打算,祈祷最好的结果上云的Check
List服务单元功能越单一越好计算模块要做到无状态(不依赖本地I/O)任何服务都不能有单点,必须做集群可能的话,模块间接口尽量异步分布式的配置管理,RollingUpdate/Restart各个层面的集中式监控和日志方案设计时做最坏打算——每个模块都可能失效,而且无法及时报警……Step
1.拆服务,建集群控制服务抓取服务抽取服务结果聚合服务HA
Proxy获取结果控制服务抓取服务抽取服务结果聚合服务最终结果中间结果尽量利用Docker本身多实例,避免复杂的多线程编程因为任务并行运行,所以需要保存中间结果,最后进行归并Step
2.接口异步化控制服务抓取服务抽取服务结果聚合服务HA
Proxy获取结果控制服务抓取服务抽取服务结果聚合服务URLCookieHTMLRabbitMQ:异步、服务发现、中间结果存储JSON
Step4集群化—服务发现、负载均衡HTTP接口ZooKeeper/etcd使用Marathon+Bamboo+HAProxy进行服务发现RabbitMQ接口通过监听MQ实现服务发现MongoDB如果不考虑自动扩展,使用既有的集群方案Reddis可以采用Codis方案Step5离线和在线服务混合部署离线服务吞吐很高,爬取模块队列经常破百万在线服务要求实时性-
MQ集群化-队列设置优先级Step6全局配置热更新问题:如何全局改变常用小参数的配置(变化少,使用频繁)如何全局改变体量较大的全局共享数据(体积大、变化较多)写代码的时候提前做好热读取参数的机制PUSH使用ZooKeeper/etcd来同步小参数PULL使用Reddis之类配置服务器来存储较大的共享数据Step8日志和监控使用ELK或者MongoDB来收集应用和stdout/Err的日志Elasticsearch+Logstash/Fluentd+Kibana日志要添加应用名称/Docker
ID/SessionID等等便于筛查的信息使用Graphite来监控吞吐量等性能指标使用ELK来进行应用层的被动监控和报警使用轮询health
check服务来监控关键组件的状态使用监控宝等等来进行端到端的黑盒监控使用Zabbix来进行物理层报警云上的操作系统—分布式操作系统LinuxMesos(DCOS)GoogleAWS资源管理KernelMesosBorg进程KernelDockerLXCEC2进程调度init.d,CronMarathon,chronosBorgCloudFormation进程间通信SocketXXXMQSQS存储EXT4Ceph、HDFSGFS,ColossusEFS,S3,EBS应用编程语言Docker、Spark、MR容器、MREMR等等服务发现N/ABambooBorgNameSystem数据存储N/ARedis、MongoBT、Spanner、MegastoreDynamo,EC,RDS分布式一致性N/AZK,etcdchubby日志Stdout,stderrELKBorglogserver,ecatcher,sawmillEMR配置ZK+RedisBorgCOnfig监控Zabbix等等Dapper,CPICloudwatch云计算时代的技术栈将完全变化硬件Dell
HP
CISCO操作系统Microsoft
Redhat软件Oracle
IBM应用IBM
SAP
ISV传统IT
时代渠道资源型线下集成商公有云私有云SaaSSalesforce
Zendesk分布式OS
+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品设计方案构思案例分析(2篇)
- 会计信息系统(山东联盟)-知到答案、智慧树答案
- 化学与健康(十中先修课)-知到答案、智慧树答案
- 护理礼仪与人际沟通(山东联盟)-知到答案、智慧树答案
- 2023年修理与维护服务资金需求报告
- 2024年环境监测设备项目投资申请报告代可行性研究报告
- 2024年助剂项目资金申请报告代可行性研究报告
- 2023年锥虫焦虫病防治药投资申请报告
- 2024年刮墨刀项目资金申请报告
- 2023年棉、化纤纺织及印染产品资金需求报告
- 常用电梯限速器动作速度范围(仅供参考)
- 供应商年度审核计划及现场审核表
- 围墙设计说明书
- 本科护理学毕业论文-护理学专业专科毕业论文
- 国家电网公司电力安全工作规程(配电部分)(试行)
- 部分国家、地区草药重金属和农药残留限量标准汇总
- 一种应用于自动控制系统中调制器设计
- 推荐液晶材料基本知识
- 基于PLC控制三层饭店送饭系统
- 中国少年朗诵稿
- 大模体系外墙施工缝处理与支模
评论
0/150
提交评论