1、应用与静态资源分离:
将静态资源放到相应的服务器中与应用服务器分离。
这样做可以在访问,图片,视频等的时候可以直接通过相关的域名进行访问。
2、页面缓存:
页面缓存是将应用生成的页面缓存起来,这样就不需要每次都请求服务器,可以节省大量CPU,如果将缓存的页面放在内存中就更快。
那一些经常变动的数据怎么办呢?
可以通过AJAX来读取修改相应数据。
3、集群分布式
集群和分布式都是使用多台服务器进行处理;
集群:
每台服务器都具有相同的功能,处理请求调用哪台服务器都可以,主要起到分流的作用。
集群有两种方式:一种是静态资源集群。另一种是应用程序集群。
应用程序集群中 最重要的是Session,session同步是集群的一个非常核心的问题。Session同步用两种处理方式:一种是在session发生变化后自动同步到其他服务器,另一种是通过统一程序管理session。所有集群都使用同一个session。tomcat默认使用第一种。集群中还有一个核心问题就是负载均衡,即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
集群系统(Cluster)主要解决下面几个问题:
高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。
分布式:
将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,这样可以提高一个请求的处理速度。
当然,集群和分布式是可以同时使用的。
4、反向代理:
反向代理指的是客户端访问的服务器并非真正提供服务,而是从其他服务器获取资源返回给客户。
5、CDN:
CDN是一个特殊的集群页面缓存服务器。CDN分布在全国各地,当接受用户请求时分配最合适的CDN服务器获取数据。