zoukankan      html  css  js  c++  java
  • 高并发解决方案

    海量数据常用优化方案:

      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

  • 相关阅读:
    LeetCode 31 Next Permutation / 60 Permutation Sequence [Permutation]
    LeetCode 15 3Sum [sort] <c++>
    LeetCode 81 Search in Rotated Sorted Array II [binary search] <c++>
    LeetCode 33 Search in Rotated Sorted Array [binary search] <c++>
    LeetCode 80 Remove Duplicates from Sorted Array II [Array/auto] <c++>
    将博客搬至CSDN
    leetcode
    (转载) 图像领域常用资源
    Unity3D 之 C# 脚本
    Kinect 人机交互开发实践
  • 原文地址:https://www.cnblogs.com/ngy0217/p/8996052.html
Copyright © 2011-2022 走看看