• 高并发解决方案


    海量数据常用优化方案:

      1.使用缓存技术;

        把经常访问的数据缓存到内存,通过使用Map或CurrentHashMap,缺点:内存有限

        或者是用缓存框架:redis、memcache

        涉及到缓存失效策略,这个要好好研究下。

      2.页面静态化;

        将静态公共资源文件 ,如html,css,js等单独部署。

      3.数据库优化;

        数据库表结构设计优化,SQL语句优化、分区、分表、索引优化等。

      4.分离数据库中活跃的数据;

      5.批量读取和延迟修改;

        减少与数据库打交道。

        批量读取:将多次读取合并;

        延迟修改:将修改的数据保存到缓存,而不是立即修改数据库,然后定时将缓存中的数据保存到数据库中,程序读取数据时可以同时读取数据中和缓存中的数据。

      6.读写分离;

        对数据库的读写操作分散到多个数据库服务器上,降低单台数据库的访问压力。

        一般是M-M-S模式,2个主,多个从,2个主只有一个是active,主库负责写【增加、修改、删除】,多个从库负责读【select查】。

      7.使用Hadoop生态圈大数据技术;

      8.数据库主从备份,分布式部署;

      9.根据业务拆分,做成一个个微服务;

    高并发常用方案:

      1.将程序和静态资源文件分离;

        应该程序只提供数据,静态资源用Nginx,减轻后端服务器压力

      2.搭建单独的文件服务器(专门存放图片的);

      3.页面缓存;

        很少发生数据变化的页面缓存起来,不需要每次请求都去后台生成,节省大量CPU资源。Nginx提供了缓存功能,也可以使用专门的页面缓存服务器Squid

      4.集群nginx

  • 相关阅读:
    笔试面试过程中常考的简单题目
    MySQL字符串函数:字符串截取总结
    克隆到新的datatale中
    C#后台调用js代码和其他页面(弹窗)
    asp.net中如何使一个button先执行后台的Click再执行javascript的onclick?
    table按某列进行分组
    table里有两个input,选中只选中一个
    ts和js的区别
    es6-es7-es10
    ECMAScript 6(简称:ES6) 和 JavaScript 到底是什么关系?
  • 原文地址:https://www.cnblogs.com/ngy0217/p/8996052.html
Copyright © 2020-2023  润新知