返回介绍

Webfunny 前端监控系统

Webfunny 埋点系统

高并发部署(监控系统)

发布于 2023-08-08 23:14:10 字数 2845 浏览 0 评论 0 收藏 0

我们提供了高并发的部署教程,用以支持流量大,和并发高的使用场景。

配置要求、压力测试

最低配置要求:

Linux服务器:≥3 台,CentOs系统,2核4G;

Mysql数据库:≥2 台,2核4G,硬盘≥100G;

消息队列:≥2 台,2核4G;(如果要求不高,可以和计算服务器共用)

Webfunny高并发架构图:

第一步、下载(clone)最新部署包,初始化

第二步、配置数据库(Mysql)连接

第三步、配置IP和端口号(使用域名,请看下一步)

第四步、配置代理、域名

以上四步均可参考 单点部署教程

第五步、多点部署  参考 多点部署教程

第六步、增加消息队列

使用消息队列(RabbitMq),主要是为了缓解流量高峰的压力,削峰填谷。目前只能够支持RabbitMq,后续将会暴露出消息接口,以支持多种消息队列。

1. 我们需要多个消息队列服务,一台服务器对应一个消息队列。

2. 进入monitor/config_variable/config.json文件中,调整参数:messageQueue: true

3. 进入monitor/lib/RabbitMq.js文件中配置消息队列的连接信息

constructor() {
    // 消息队列配置如下
    this.mqConfig = {
      protocol: 'amqp',
      hostname: 'localhost',
      port: 5672,
      username: 'webfunny',
      password: '123456',
      locale: 'en_US',
      frameMax: 0,
      heartbeat: 0,
      vhost: '/',
    };
    this.open = amqp.connect(this.mqConfig);
}

配置完成后,重启即可。

如果想要自己安装RabbitMq,可以参考文档第三条 消息队列安装

第七步、提升mysql最大连接数

正常情况下,如果我们的日志并发量比较高,我们遇到的第一个并发问题,应该是数据库的最大连接数。

如果给mysql设置一个合理的最大连接数,应该就能够支持一定量的并发了。

1. 如何设置mysql连接数,请参考我的这篇博客:Mysql连接数设置

2. 如何设置连接池数量,默认设置500,如果并发量高的用户,可以提高连接池数量,配置文件: config/db_local.js

  pool: {
    max: 500,  // 此处可提升
    min: 0,
    acquire: 30000,
    idle: 10000
  }, 

第八步、增加读写分离

为了提升mysql数据库的抗压能力,需要将读写拆分开,webfunny可以使用读写分离的配置。

进入monitor/config_variable/config.json文件中配置主数据库、从数据库的连接信息:

"mysqlConfig": {
     "write": {
        "ip": "xxx.xxx.xxx.xxx",         // 远程ip地址
        "port": "3306",                  // 端口号
        "dataBaseName": "webfunny_db",   // 数据库名
        "userName": "root",              // 用户名
        "password": "123456"     
     },
     "read": [
         {
           "ip": "xxx.xxx.xxx.xxx",         // 从库远程ip地址
           "port": "3306",                  // 从库端口号
           "dataBaseName": "webfunny_db",   // 从库数据库名
           "userName": "root",              // 从库用户名
           "password": "123456"     
         }
     ]
}

注意:mysql的主从同步需要用户自己来完成,webfunny无法进行主从数据同步

好了,到此,webfunny的高并发配置就完成了。物理配置越高,支持的数据量越大。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文