学习了慕课网 golang爬虫。爬取珍爱网,从单机版–>并发版–>分布式版
本文对此过程做个总结
架构图演进
单机版爬虫
并发版爬虫(简单版调度器)
- 把fetcher和parser封装成worker,输入request,输出requestresult.
- 新增scheduler,engine拿到request扔给scheduler。worker的输入输出都是channel
- 所有的worker共用一个输入。致命缺点!会产生循环等待
并发版爬虫(并发版调度器)
- engine把request送给scheduler,scheduler给每个request启动一个groutine