网站架构(二)高并发的解决方案

解决方案

1.页面和静态资源分离

当并发量足够大时需要将静态资源保存到专门的服务器中

静态资源主要包括图片,视频,js,css和一些资源文件。特诊这些文件没有状态分离简单,使用专有域名访问

百度采用的通过imgsrc.baidu.com二级域名访问,新浪保存在sinaimg.cn里


2.页面缓存

将生成的 页面缓存起来,从而节省大量的CPU

解决思路:可以使用Nginx自带的缓存功能,也可以使用专门的Squid服务器。


3.集群与分布式

集群多台服务器相同功能,主要起分流作用

分布式将不同业务放在不同的服务器中一个请求可能用到多台服务器,可以提高响应速度

两者可以搭配使用

集群分 静态资源集群  应用程序集群

针对应用程序集群复杂点 可能会使用到一些缓存的数据  存在同步问题

核心问题  Session同步

两种解决思路

一种在session变化后自动同步到其他服务器

另一种是用一个应用程序统一管理session。

第三种  将同一用户的请求分配到同一服务器不存在session同步问题  考虑稳定性可以建组

所有的集群服务器采用同一个session   Tomcat默认采用第一种

而第二种可以使用专门的服务器安装Memcached高效缓存程序管理session,然后在应用程序重写Request

对于集群的另一个问题是负载均衡问题  这个可以采用软件技术也可以采用专门的硬件F5来实现

还有一个问题就是就是分布式事物  后面再讲,待续.....


4.反向代理

反向代理是指直接访问的服务器并不直接

提供服务,而是从别的服务器获取资源并返回给客户端用户

反向代理服务器三个作用

1.可以作为前段服务器

2.可以用作负载均衡

3.可以按类别转发请求

这个可以在后面细讲..


5.CDN

后面再细讲   待续.....


6.底层的优化

比如可以改变协议   例如使用HTTP/2.0

GOOGLE指定了Quic  Spdy  并添加了一些新特性  

你可能感兴趣的:(网站基础知识)