多点部署的基本步骤与单点部署相同,主要是物理配置、启动方式有所不同
配置要求、压力测试
最低配置要求:Linux服务器:≥3 台,CentOs系统,2核4G;Mysql数据库:≥1 台,2核4G,硬盘≥100G。
压力测试:2核CPU(3.8GH), 4G内存,单点部署,最高峰支持2.8万/分钟的日志并发量。超过3万/分钟后,会出现日志丢失的情况(此压力值测试供参考)
第一步、下载(clone)最新部署包,初始化
第二步、配置数据库(Mysql)连接
第三步、配置IP和端口号(使用域名,请看下一步)
第四步、配置代理、域名
以上四步均可参考 单点部署
第五步、启动服务
启动命令:npm run prd 。启动后,程序将自动选举主服务,其他节点为从服务。
主服务完成数据分析,从服务不参与数据分析计算。
多点部署,一般配置1主多从,最少两个节点。如下图:
第六步、配置负载均衡
方式一(推荐):让运维同学配置云服务器的负载均衡(SLB),将你的上报域名平均分配到多台从服务器上。
方式二(自己配置):使用Nginx配置负载均衡,用Nginx来分发这些日志上报请求,配置如下:
注:分发只配置从服务器的IP即可
http {
# 分发
upstream myApps {
server 111.222.96.101:8011 weight=1; # weight 是权重,代表分发的比例
server 111.222.96.102:8011 weight=1; # weight 是权重,代表分发的比例
}
# 代理
server {
location /wfManage/{
proxy_pass http://myApps/wfManage/;
proxy_connect_timeout 3000;
proxy_send_timeout 3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /server/{
proxy_pass http://myApps/server/;
proxy_connect_timeout 3000;
proxy_send_timeout 3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /tracker/{
proxy_pass http://myApps/tracker/;
proxy_connect_timeout 3000;
proxy_send_timeout 3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
如此,webfunny监控系统的多点部署就完成了。
注:主服务器可以使用内网域名。