使用 redis 操作简单,能承受的并发大,写入和读取都很快。
想问问各位 V 友还有什么其他的类似技术、工具有在爬虫中使用的吗?
欢迎交流学习~
使用 redis 操作简单,能承受的并发大,写入和读取都很快。
想问问各位 V 友还有什么其他的类似技术、工具有在爬虫中使用的吗?
欢迎交流学习~
|
gabonMay 17, 2018 via Android
1
用 netty 写一个调度器。
|
|
golmicMay 17, 2018
2
kafka
|
|
sunwei0325May 17, 2018
3
scrapy 官方开源的分布式爬虫 frontera 了解一下
https://github.com/scrapinghub/frontera |
|
wzwwzwMay 17, 2018
4
rabbitmq
|
|
whatsmyipMay 17, 2018
5
消息队列 +1
redis 速度很快,但是容量太小了 |
|
feverzsjMay 17, 2018
6
redis 或者数据库做任务队列的最大优势是支持事务性,如果不需要事务性,那用 nats 之类的消息队列更简单
|
|
woscaiziMay 17, 2018 via iPhone
7
消息队列
|
|
galaxyyaoMay 18, 2018 via iPhone
8
@whatsmyip 爬虫任务队列每条最多也就几 k 了吧。按一条 10k 来算,就算是只有 8G 内存的服务器,至少也可以存 60w 条任务,一秒爬 1 条都可以爬足足 7 天了
|
|
kimownMay 18, 2018 via Android
9
redis 他爸写了个 disque,会合并到 redis4.2 里面
|
|
whatsmyipMay 18, 2018
10
@galaxyyao 爬不了 7 天。我用 100 并发,千兆带宽爬教育网内数据,基本一两天就写满了 6G 的内存。而且 redis 一旦达到一定的内存使用量,就会开始不停的进行写入磁盘操作,CPU 占满,读写速度骤减。要控制队列的量也不是一个简单的事情
|
|
11
@whatsmyip 另开一个线程定时定量把 redis 中的数据取出来持久化到其他硬盘数据库(如 MySQL ),减轻 Redis 压力
|
|
julyclydeMay 18, 2018
12
用 kafka 的基本上属于分不清 pubsub 和 messaging 模式
|