大型网站架构技术总结
转自:http://www.pcsky.wang/archives/2267.html
1).前端架构:
1.前端指用户请求到网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。
2.浏览器技术优化技术。
并不是优惠浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存,合并http减少请求次数,使用页面压缩等。
3.CDN:
内容分发网络 ,部署在网络运营机房,通过将静态页面内容分发到离用户最近的cdn服务器,使用户通过最短路径获取内容
4,动静分离,静态资源独立部署。
静态资源,如js,css,等文件部署在专门的服务器集群上,和web应用动态内容服务分离,并使用专门的(二级)域名。
5,图片服务
图片是指上面提到的静态资源,应该和js,css部署在一起,这里的图片只用户上传的图片,如产品图片,用户头像等,图片服务同样使用独立部署的图片服务器集群,并使用独立(二级)域名。
6.反向代理:
部署在网站机房,在应用服务器,静态资源服务器,图片服务器之前,提供页面缓存服务。
2)应用层架构
1.应用层是处理网站主要业务逻辑的地方。
2.负载均衡
将多台应用服务器组成一个集群,通过负载均衡技术将用户请求分别分布到不同的服务器上,以应对大量用户同时访问时产生的高并发负载压力。
3.Session管理
保存网站会话信息,共享session,建立session集群。
4.动态页面静态化:
对于访问量特别大而更新不频繁的动态页面,可以将其静态化,生成一个静态页面,利用静态页面的优化手段加速用户访问,如反向代理,cdn,浏览器缓存等。
5.业务拆分
将复杂而又庞大的业务拆分开来,形成多个规模较小的产品,独立开发,部署,维护,除了降低系统耦合度,也便于数据库业务的拆分,按照业务对应关系进行数据库拆分,技术难度相对较小,而且效果较好。
6.虚拟化服务器
将一台物理服务器虚拟化成多台虚拟服务器,对于并发访问较低的业务,更容易用较少的资源构建高可用的应用服务器集群。
3)服务层架构
1.提供基础服务,供应用层调用,完成网站业务。
2.分布式消息:
利用消息队列机制,实现业务和业务,业务和服务之间的异步消息发送及低耦合业务关系。
2.分布式服务
提供高性能,低耦合,易复用,易管理的分布式服务,在网站实现面向服务架构。(SOA)
3.分布式缓存
通过可伸缩的服务器集群提供大规模热点数据的缓存服务,是网站性能优化的重要手段。