想做一个分布式的爬虫,但是只有一台笔记本。
请问这种硬件条件能完成一个分布式的项目的开发么?
项目不大用来做本科毕设的。
可以用什么技术来虚拟多台主机么?或者用云服务之类的其他人的服务器来完成这个。
Thanks!
人生最曼妙的风景,竟是内心的淡定与从容!
对于毕设一个分布式爬虫来讲,相信你主要的东西还是在爬虫代码上,只是将其中的内容拆分成多个小服务,你只要开始的时候设计成可扩展的,或者简单讲就是加一个 ip port就可以添加一个节点的话,单机多机也没什么差别,完全可以一开始就在单机上搞,等初期demo完成了,比如假设完成了可以爬一个页面,然后把里面的子资源分发到不同的节点(一开始就跑在单机的其他进程)去加载,这才找个多机来跑跑就行了。机器的话aws,ali云都ok,或者你爱折腾,可以了解下树莓派。
如果你的笔记本有8 GB内存的话,跑4、5个服务器版(无GUI)Liunx虚拟机没什么大问题免费的VirtualBox,付费的VMWare,Windows自带的Hyper-V都可以用。
云服务可以考虑用亚马逊AWS,本地写好代码,然后到亚马逊上开机器,找比较小的就成,按时间计费的,做完实验关掉就可以了。
vagrant,基于virtualbox的虚拟开发环境,可以在一台机器上起多个虚拟机,并且可以配置ip组网官网http://www.vagrantup.com/简单使用方法:http://segmentfault.com/a/1190000000264347
重量级解决方式:虚拟机,可以用virtualbox,vmware或者基于api的vagrant轻量级解决方式:docker
常用虚拟机软件都可以 virtualbox之类的linux128M内存也能跑起来数据库要快会比较费内存
对于毕设一个分布式爬虫来讲,相信你主要的东西还是在爬虫代码上,只是将其中的内容拆分成多个小服务,你只要开始的时候设计成可扩展的,或者简单讲就是加一个 ip port就可以添加一个节点的话,单机多机也没什么差别,完全可以一开始就在单机上搞,等初期demo完成了,比如假设完成了可以爬一个页面,然后把里面的子资源分发到不同的节点(一开始就跑在单机的其他进程)去加载,这才找个多机来跑跑就行了。机器的话aws,ali云都ok,或者你爱折腾,可以了解下树莓派。
如果你的笔记本有8 GB内存的话,跑4、5个服务器版(无GUI)Liunx虚拟机没什么大问题
免费的VirtualBox,付费的VMWare,Windows自带的Hyper-V都可以用。
云服务可以考虑用亚马逊AWS,本地写好代码,然后到亚马逊上开机器,找比较小的就成,按时间计费的,做完实验关掉就可以了。
vagrant,基于virtualbox的虚拟开发环境,可以在一台机器上起多个虚拟机,并且可以配置ip组网
官网http://www.vagrantup.com/
简单使用方法:http://segmentfault.com/a/1190000000264347
重量级解决方式:虚拟机,可以用virtualbox,vmware或者基于api的vagrant
轻量级解决方式:docker
常用虚拟机软件都可以 virtualbox之类的
linux128M内存也能跑起来
数据库要快会比较费内存