在做一个比价的小项目,希望每个用户可以设置自己关注的商品(对应一个后台请求地址,每一个地址又配置了多个平台的监控扫描地址,这个管理员配置),比如设置一个价格区间,系统能够自动扫描,当有商品进入价格区间时,自动给用户发消息提醒。
例如,有三个用户分别设置了对 a , b , c 商品的监控。将三条监控地址放入队列,定时 5 分钟一次的去查询,然后有信息就给用户推送信息提醒。但是,当用户量大的时候,比如有 10000 个以上监控列表,这时可能整个队列扫描完一次操作都将超过 5 分钟了。。。然而用户对这个时效性又是有要求的,
不能将扫描时间调的更大了,或者说扫描时间要缩短到一分钟一次甚至 30 秒(对于每个监控地址而言),这种情况应该用怎么解决好呢?
     1 
                    
                    c742435      2015-08-25 17:02:37 +08:00 
                    
                    分布式?多搞几台机器扫 
                 | 
            
     2 
                    
                    publicID001      2015-08-25 17:04:41 +08:00 
                    
                    阿里云 阿里云 阿里云 
                组集群 组集群 组集群 (重要的事情说三次  | 
            
     3 
                    
                    9hills      2015-08-25 17:13:55 +08:00 
                    
                    如果单机能搞定,就压 Queue ,多进程 /多线程去扫 
                单机搞不定,就压消息队列,多机器去扫。原理类似 Python 可以用 rq  | 
            
     4 
                    
                    Tianpu      2015-08-25 17:14:47 +08:00 via iPhone 
                    
                    监控很多,需要队列吧 
                然后分配权重,关注多的刷新频率高,少的低 设置最高,最低,根据权重分配抓取时间间隔? 觉得半小时甚至半天更新一次都可以吧,一分钟更新一次价格不是很合理需求吧  | 
            
     5 
                    
                    Comdex      2015-08-25 23:33:17 +08:00 
                    
                    我想我在做的股票价格监控的话 30 秒查一次也不为过 
                 | 
            
     9 
                    
                    dingyaguang117      2015-08-26 14:38:29 +08:00 via iPhone 
                    
                    我觉得楼主需要担心的是  购物平台会不会封你 
                代理应该是要的  |