小白进阶第七篇(Splash负载均衡)

2017-12-06 19:51:00
六月
来源:
http://cuiqingcai.com/4826.html
转贴 1290

对于Scrapy处理Ajax 处理方式当然是同家兄弟Splash比较靠谱!

但是Splash有个很坑爹的毛病就是负载承受相对较小·· 一不留神就GG了·········· 然后也就没有然后了~~!

所以准备给Splash做一个负载均衡;后端放一大堆的Splash这样总不会GG了吧。

就算其中一个GG了还有其它的可替代不是?

废话不多少开整··

环境是基于:

CentOS 7.3

Docker 17.06.2-ce

Splash 3.0

HAproxy 1.7.9

(CentOS大家可以将yum切换为阿里云的yum源  Docker同理)

阿里yum源: http://mirrors.aliyun.com/help/centos  照葫芦画瓢做一遍(你是CentOS7啊!!!!不要选成其他版本了)

注意以下只需要在你需要运行splash的机器上安装即可

阿里Docker源:

安装Docker加速器:

重启Docker:

这样可以极快的速度拉取镜像。

获取splash最新的docker镜像:

关闭所有机器防火墙firewalld(网络安全的环境关闭,不安全的环境请放行端口,自行百度):

创建Splash配置文件目录:

启动Splash:

docker run  启动一个容器

-d 后台启动

-p 8050:8050  将容器的8050端口和物理机的8050端口绑定(可以从8050端口访问容器服务应用)

–memory=5.0G 容器最大使用内存为5.0GB,超出这个限制会被主进程杀死(使用free -mg  查看并酌情设置你的内存使用)

–restart=always 容器退出后无条件重启(满了5GB被杀死,然后重启 释放内存)

–name splash  容器的名字叫splash(可以忽略)

-v ******  三个-v参数是将宿主机的目录挂载进容器,便于容器能够直接访问挂载目录中的内容

scrapinghub/splash:master  用于启动容器的镜像

–maxrss 4500 Splash最大内存使用为4500MB

查看容器是否启动:

访问Splash是否正常工作:

请注意:以上操作只需要在你需要运行splash的机器上安装即可

 

安装HAproxy实现负载均衡:

 

安装zlib-devel(HAproxy使用gzip功能):

 

安装HAproxy:

 

配置HAproxy Conf:

写入以下内容:

发表评论
评论通过审核后显示。