Docker容器化多点部署

一只会飞的鱼儿 1年前 ⋅ 1557 阅读
ad

多点部署的基本步骤与单点部署相同,主要是物理配置、启动方式有所不同

配置要求、压力测试

最低配置要求:Linux服务器:≥3 台,CentOs系统,2核4G;Mysql数据库:≥1 台,2核4G。

压力测试:2核CPU(3.8GH), 4G内存,单点部署,最高峰支持2.8万/分钟的日志并发量。超过3万/分钟后,会出现日志丢失的情况(此压力值测试供参考)

第一步、拉取官网镜像

第二步、创建配置文件

第三步、填写基本配置

以上三步均可参考 单点部署

四、启动主服务,从服务

主服务:主要进行数据分析,数据展示,不接收上报日志; 启动命令:参考单点部署三种启动容器命令

从服务:主要接收上报日志,不进行数据分析,不展示数据;启动slave命令:

监控slave: npm run monitor_slave

埋点slave: npm run event_slave

多行命令如下:

docker run -it --rm -d --name webfunny \
       -p 8010:8010 \
       -p 8011:8011 \
       -v 映射目录:/app/webfunny.config/ \
       webfunny/webfunny_monitor:版本号 \
       npm run monitor_slave

多点部署,一般配置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 /server/upLog {
                proxy_pass http://myApps/server/upLog;
                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监控系统的Docker多点部署就完成了。

注:主服务器可以使用内网域名。

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • 一只会飞的鱼儿
    共发布53篇文章 获得8个收藏
全部评论: 0