[源码和报告分享] 基于JMS的分布式爬虫系统的设计与实现

随着互联网技术的飞速发展,网络信息以指数型趋势高速增长。对于一个要对数据进行统计分析的系统而言,搜集数据的过程是冗长枯燥的。基于这一现实,分布式爬虫系统获得了发展的契机。系统通过多台服务器的协调运行,成倍地提高了爬虫的效率。当然,分布式系统在获得效率提升的同时也大大增加了系统的复杂程度,开发人员需要考虑多方面因素以确保系统的正常运转。

本文对分布式爬虫系统的架构做了深入的讨论,给出了选择该架构的原因。项目使用了JMS消息队列技术在节点之间异步传递消息,起到应用解耦的效果。使用apache出品的activeMQ作为JMS服务器,能够跨语言跨平台传递消息,而且具有延迟接受的特性,一定程度上降低了网络延迟对系统性能的阻碍。中心节点的任务分配采用线程池技术,缓解了由于任务积累产生的效率瓶颈。

本文先介绍了项目研究背景,然后介绍了分布式爬虫相关知识和本项目所用技术,最后展示了项目的需求分析和体系结构。最终实现的分布式爬虫系统能够做到中心节点分配爬虫任务,任务节点执行爬虫程序并存储数据。同时系统针对一些分布式系统常用的性能需求做了设计,提高了系统的可扩展性和可靠性。

https://www.write-bug.com/upload/image/18/dad5e82cd9b3d3044729e752b82dd839.jpg https://www.write-bug.com/upload/image/18/fff4fd2a77a303334eee674c4c554d5b.jpg

 

详细的开发文档和程序源代码我都分享在了个人博客上了,感兴趣的可以去看看:

https://www.write-bug.com/article/23.html

 

 

 

 

猜你喜欢

转载自blog.csdn.net/demongwc/article/details/84561589