在应用开发过程中,经常会碰到一个词高并发,那么什么才叫高并发呢?

百度百科解释:

高并发(High Concurrency),通常是指通过设计保证系统能够同时并行处理很多请求。术语介绍通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。

所以根据解释,我们会有如下应对方案

架构设计方面:

  1. 增加机器节点(水平扩展)
  2. 增加机器配置(垂直扩展)
  3. 服务拆分,微服务
  4. 异步处理,提高吞吐

数据库设计方面

  1. 数据库集群,读写分离,主从复制方向(如mysql binlog模式)
  2. 数据库垂直切割,根据业务切割,减小单一库压力
  3. 数据库水平切割,数据分片处理(如基因法等)
  4. 使用缓存

缓存方面

  1. 使用缓存,缓存热点数据(如Redis、Memcached)
  2. 页面缓存,静态资源,数据缓存,分布式缓存,以及缓存更新策略等

应用自身代码方面

  1. 并发编程
  2. 懒加载应用
  3. 资源重复使用,代码架构合理
  4. 代码层面的异步处理

然后就是压测,得出系统支持的最大并发,做好应用限流操作,防止系统崩溃。

在面对高并发问题时,需要综合考虑架构设计、数据库设计、缓存技术和代码优化等多个方面,并根据具体情况选择合适的解决方案。