说到高并发,首先,要明白什么是高并发。高并发就是项目在某个时段有很多用户访问,而造成的系统负载很大。如何解决高并发的问题呢?首先,要优化JDBC的连接问题,就需要使用连接池。使用了连接池之后,项目的性能会有很大的提高。接着,就需要使用缓存技术,将一些不重要的信息,比如论坛访问量等作为缓存放到内存里。这样的话,用户可以不通过数据库就可以访问到缓存里的信息,极大的节省开销,可以大量减少与数据库的交互,提高性能。因为HTTP是请求与响应模式,所以,HTTP请求功能并不会造成多大的负载,主要的负载体现在HTTP发出的请求需要连接数据库,这样的话,当很多HTTP请求过来,就需要有很多与数据库交互的操作,这一系列的动作加起来就会造成极大的系统开销了,也就是我们说的高并发的问题。
接着,进行代码级别的优化,用jprofiler等工具找出性能瓶颈,减少额外的开销。
接着,使用静态页面,减少与服务器的交互。
接着,使用服务器集群来解决单台的瓶颈问题。
通过服务器集群,使用N台服务器构成一个松耦合的多处理器系统(对外来说,他们就是一个服务器),它们之间通过网络实现通信。让N台服务器之间相互协作,共同承载一个网站的请求压力。这样,可以实现负载均衡,在互联网高速发展的时代,大数据量、高并发等是互联网网站提及最多的。如何处理高并发带来的系统性能问题,最终大家都会使用负载均衡机制。它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求。
公司比较有钱的,可以购买专门负责负载均衡的硬件,效果肯定会很好。对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力。