1
hand515 2017-05-04 08:23:42 +08:00 1
如果请求不需要同步返回的话,扔到消息队列处理就好了。简单点就用 redis 可以实现。
消费进程用 BLPOP/BRPOP 进行阻塞等待。 需要同步返回的话,阻塞等待的时候,通过 pub/sub 订阅也可以实现不用轮询 |
2
troycheng 2017-05-04 09:39:44 +08:00 1
可以考虑队列,生产者消费者的方式,将要抓取的 url 扔进队列(可以多队列,也可以单队列里去重),抓取的事情交给消费者做。具体实现,简单处理的话,同楼上,redis 订阅发布机制就可以搞。
多阶段协同性质的任务很多时候不需要用锁的机制,合理解耦任务,用队列的方式进行异步处理,是非常高效且容易实现的方式 |