Java架构-高并发的解决方案( 二 )

通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了 。 架构图如下:

2.页面缓存

页面缓存是将应用生成的页面缓存起来 , 这样就不需要每次都生成页面了 , 从而可以节省大量的CPU资源 , 如果将缓存的页面放到内存中速度就更快了 。 如果使用Nginx服务器就可以使用它自带的缓存功能 , 当然也可以使用专门的Squid 服务器 。 页面缓存的默认失效机制一班都是按缓存时间处理的 , 当然也可以在修改数据之后手动让相应的缓存失效 。

页面缓存主要是使用在数据很少发生变化的页面 , 但是很多页面是大部分数据都很少发生变化 , 而其中很少一部分数据变化频率却非常高 , 比如说一个显示文章的页面 , 正常来说完全可以静态化 , 但是如果文章后面有“顶”和“踩”的功能而且显示的有响应的数量 , 这个数据的变化频率就比较高了 , 这就会影响静态化 。 这个问题可以用先生成静态页面然后使用Ajax来读取并修改响应的数据 , 这样就可以一举两得来 , 既可以使用页面缓存也可以实时显示一些变化频率高的数据来 。

推荐阅读