分布式爬蟲(chóng)架構(gòu)并不是一開(kāi)始就出現(xiàn)的。而是一個(gè)逐步演化的過(guò)程。
最開(kāi)始入手寫(xiě)爬蟲(chóng)的時(shí)候,我們一般在個(gè)人計(jì)算機(jī)上完成爬蟲(chóng)的入門(mén)和開(kāi)發(fā),而在真實(shí)的生產(chǎn)環(huán)境,就不能用個(gè)人計(jì)算機(jī)來(lái)運(yùn)行爬蟲(chóng)程序了,而是將爬蟲(chóng)程序部署在服務(wù)器上。利用服務(wù)器不關(guān)機(jī)的特性,爬蟲(chóng)可以不間斷的24小時(shí)運(yùn)行。單機(jī)爬蟲(chóng)的結(jié)構(gòu)如下圖。
![](http://img.jbzj.com/file_images/article/201901/201919100438380.png?20190910451)
然而,由于爬蟲(chóng)在爬取數(shù)據(jù)時(shí),爬取頻次并不能太快,即使是爬蟲(chóng)在服務(wù)器上不間斷運(yùn)行,效率可能也無(wú)法滿足實(shí)際需求。這時(shí)候,就需要在多機(jī)上部署爬蟲(chóng)程序,用分布式爬蟲(chóng)架構(gòu),進(jìn)行數(shù)據(jù)爬取。分布式爬蟲(chóng)的架構(gòu)一般如下所示。
![](http://img.jbzj.com/file_images/article/201901/201919100503135.png?20190910514)
采用分布式爬蟲(chóng)架構(gòu)后,帶來(lái)了如下幾個(gè)好處。
- 1,爬蟲(chóng)效率提高。這一點(diǎn)顯而易見(jiàn),之前是單機(jī)運(yùn)行,現(xiàn)在是多機(jī)分布式運(yùn)行,效率顯著提高。
- 2,爬蟲(chóng)可靠性可用性提高。之前部署在一臺(tái)服務(wù)器上,當(dāng)服務(wù)器出現(xiàn)故障或爬蟲(chóng)程序出現(xiàn)故障時(shí),爬蟲(chóng)便不可用了。采用分布式爬蟲(chóng)架構(gòu)后,爬蟲(chóng)任務(wù)生產(chǎn)者,任務(wù)隊(duì)列,爬蟲(chóng)任務(wù)消費(fèi)者都采用分布式架構(gòu)部署,其中的某些機(jī)器出現(xiàn)故障,不影響整體的可用性,系統(tǒng)可靠性大大增強(qiáng)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
您可能感興趣的文章:- 使用Docker Swarm搭建分布式爬蟲(chóng)集群的方法示例
- Centos7.3 RabbitMQ分布式集群搭建示例
- PHP實(shí)現(xiàn)分布式memcache設(shè)置web集群session同步的方法
- Linux下Kafka分布式集群安裝教程
- Linux下ZooKeeper分布式集群安裝教程
- Linux集群/分布式環(huán)境下session處理的五種策略詳解
- 詳解CentOS 6.5搭建Redis3.2.8單機(jī)分布式集群
- 詳解使用docker搭建hadoop分布式集群
- java 分布式與集群的區(qū)別和聯(lián)系
- Hadoop單機(jī)版和全分布式(集群)安裝
- 分布式和集群的概述講解