写在开始
最近有在看一点分布式爬虫的一点东西,然后找到了一点关于分布式爬虫的架构的设计,这里收藏一下.
架构
其实很简单的说,这个架构是从知乎里面一个人的回答的一个问题里面扒出来的.
这个架构把一个爬虫拆成了三部分:
- 下载网页的部分
- 抓取数据的部分
- 持久化的部分
如果我没记错的话.
然后这里面又有一些其他的细节.
- 下载网页的部分和抓取数据的部分是通过一个消息中间件来连接起来的.
- 抓取数据的部分和持久化的部分也是通过一个消息中间件来连接的.
- 持久化部分持久化的数据如果还可以继续爬那么就通过消息中间件来发送到下载网页那部分,实现循环爬取
- 这个爬虫的下载网页的部分和抓取数据的部分和持久化的部分都是有多个的,而且可以分布在多台机器上.
写在最后
这个架构看起来还是不错,但是可能实现起来个人感觉有些地方可能不是很好弄,所以这个架构仅供收藏了.