网络爬虫之Splash负载均衡配置

2020-05-25 00:00:00 服务器 请求 服务 配置 负载均衡

Splash负载均衡配置

如果我们用 Splash 来做 JavaScript 动态渲染的页面的抓取的话,如果爬取的量非常大,任务非常多,如果我们用一个 Splash 服务来处理的话未免压力太大了,所以我们可以考虑搭建一个负载均衡器来把压力分散到各个服务器上,这样相当于多台机器多个服务共同参与任务的处理,可以减小单个 Splash 服务的压力。

1. 配置Splash服务

要搭建 Splash 负载均衡首先我们需要有多个 Splash 服务,假如在这里我在四台远程主机的 8050 端口上都开启了 Splash 服务,它们的服务地址分别为:41.159.27.223:8050、41.159.27.221:8050、41.159.27.9:8050、41.159.117.119:8050,四个服务完全一致,都是通过 Docker 的 Splash 镜像开启的,访问任何一个服务都可以使用 Splash 服务。

2. 配置负载均衡

接下来我们可以选用任意一台带有公网 IP 的主机来配置负载均衡,首先需要在这台主机上装好 Nginx,然后修改 Nginx 的配置文件 nginx.conf,添加如下内容:

http {
    upstream splash {
        least_conn;
        server 41.159.27.223:8050;
        server 41.159.27.221:8050;
        server 41.159.27.9:8050;
        server 41.159.117.119:8050;
    }
    server {
        listen 8050;
        location / {
            proxy_pass http://splash;
        }
    }
}

相关文章