高性能系统的常用开发手段

  1. 提高硬件能力、增加系统服务器(当服务器增加到某个程度的时候,系统所能提供的并发访问量几乎不变,所以不能从根本上解决问题)

  2. 使用缓存(本地缓存:可以使用 JDK 自带的 Map、Guava Cache;分布式缓存如:Redis、Memcache。本地缓存并不适用于提高系统并发量,如 Spring 是把已经初始过的变量放在一个 Map 中,下次再要使用这个变量的时候,先判断 Map 中有没有,这也是系统中常见的单例模式实现)

  3. 消息队列 (解耦+削峰+异步)

  4. 采用分布式开发 (不同的服务部署在不同的机器节点上,且同一个服务也可以部署在多台机器上,然后利用 Nginx 负载均衡访问,这样就解决了单点部署 (All In) 的缺点,大大提高了系统的并发量)

  5. 数据库分库(读写分离)、分表(水平分表、垂直分表)

  6. 采用集群 (多台机器提供相同的服务)

  7. CDN 加速 (将一些静态资源比如图片、视频等等缓存到离用户最近的网络节点)

  8. 浏览器缓存

  9. 使用合适的连接池(数据库连接池、线程池等等)

  10. 适当使用多线程进行开发

你可能感兴趣的:(高性能系统的常用开发手段)