实际业务中,爬虫和正常的流量的比例能达到5比1,甚至更高。而一些系统是因为爬虫访问量太大而导致服务不可用。一种解决办法是通过限流解决,另一种解决办法是在负载均衡层面把爬虫路由到单独集群,从而保证正常流量可用,爬虫流量尽量可用
最简单的方法是使用Nginx,配置如下
set $flag = 0;
if($http_user_agent ~* "spider"){
set $flag "1";
}
if($flag = "0"){
//代理到正常集群
}
if($flag = "1"){
//代理到爬虫集群
}