zoukankan      html  css  js  c++  java
  • 关于各地区并发高的解决思路

    各位同仁,目前各地区云平台的因非冠病毒引发的学生大量使用,对云平台的并发能力要求极高。单台服务器应对教师用户是完全可以通过优化解决的,但如果再加上十几倍的学生用户,就不是一台服务器可以处理的事情了。经分析,我个人认为主要的矛盾点在于MYSQL数据库的压力太高,究其原因有两个:
    (1)研发人员没有很好的通过缓存对数据库进行保护,造成大量查询穿透。
    (2)数据库到目前为止,没有横向扩展的能力。

    第一个原因历史很久,短时间内无法根本解决,目前只能通过技术方案+堆硬件服务器(注意:最好是多台物理服务器,如果是虚拟服务器,在CPU运算和IO处理上可能还会存在瓶颈,需要向各地区明确提出要求,我司在实验时可能VM进行实验。)的方式对数据库进行平行扩展。

    思路如下:

    (1)将主库通过主从复制方法,改造成1拖N方式。参考资料如下:
        MariaDB 10.3 主从复制
        https://blog.51cto.com/aimax/2123440
            这个以前云平台有过相关的实验经历,实施起来难度不大。

    (2)现阶段需在要代码层面修改读写分离,不太现实,云平台的终端较多,比如Openresty+Lua,Jfinal,WinForm,Python等等,全面改造几乎不可能完成。可以考虑尝试使用mycat数据库中间件进行实验尝试,一旦OK,马上可以上线,成本低。
            参考资料:
            mysql之20分钟用mycat搞定mysql读写分离
            https://www.seoxiehui.cn/article-18669-1.html
            成本估算:搭建实验,预计需要一天的时间,对于云平台部署多套进行相应实验,预计两到三天的时间,即四天左右会有准确的答案,目前个人对于此方案保持乐观态度。特别需要指出的时,由于数据库平行扩展,对应的sphinx引擎也是每台mysql单独配置一个sphinx引擎,并且通过sphinxse的方法通过mysql协议进行调用。

  • 相关阅读:
    基于antlr的表达式解析器
    ANTLR语法层的选项及动作
    Understanding ANTLR Grammar Files
    写给Git初学者的7个建议
    Top 8 Diagrams for Understanding Java
    技术面不深入
    一个初级程序员学习新技术的策略
    SoftReference,WeakReference&WeakHashMap
    探索Antlr(Antlr 3.0更新版)
    Five minute introduction to ANTLR 3
  • 原文地址:https://www.cnblogs.com/littlehb/p/12271900.html
Copyright © 2011-2022 走看看