设为首页 加入收藏

TOP

大型网站架构技术
2017-10-13 10:40:12 】 浏览:9482
Tags:大型 网站 架构 技术
  1. 网站架构层次如图:

 

1.前端架构

前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。

  1. 浏览器优化技术:并不是优化浏览器(那个我们做不到),而是 通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。
  2. 动静分离,静态资源独立部署:静态资源,如css,js等文件部署在专门的CDN服务器集群上,和web应用动态内容服务器分离(http://blog.brucefeng.info/post/static-backend-asolate)
  3. 图片服务:这里的图片不是指网站Logo、按钮图标等,它们是静态资源,应该和js、css部署一起,这里指用户上传的图片,如产品图片,用户头像等,图片服务同样使用独立部署的图片服务器集群。
  4. 反向代理:部署在网站机房,在应用服务器、静态资源服务器、图片服务器之前,提供页面缓存服务。

 

2.应用层架构

应用层是处理网站主要业务逻辑的地方。

  1. 开发框架:网站业务是多变的,网站大部分都是工程师在加班加点完成的,一个好的开发框架至关重要。一个好的开发框架应该使角色分离,美工、开发能够各司其职。
  2. 负载均衡:将多台应用服务器组成一个集群,通过负载均衡分发到不同的服务器上,以应对大量用户同时访问产生的高并发负载压力。
  3. session管理:通常应用服务器为无状态,不保存用户请求上下文信息,但是网站需要用户会话信息,需要专门的机制管理session,使集群内甚至跨集群的服务器都可以共享session
  4. 动态页面静态化:对于访问量大但又不频繁更新的动态页面,可以生成静态页面,利用静态页面的优化手段加速用户访问。
  5. 业务拆分:将复杂而又庞大的业务拆分开来,形成多个规模较小的产品。除了降低系统耦合度,也便于数据库业务分库。
  6. 虚拟化服务器:将一台物理服务器虚拟化成多台虚拟服务器,对于访问较低的业务,更容易用较少的资源构建高可用的应用服务器集群

 

3.服务层架构

提供基础服务,供业务层调用,完成网站业务。

  1. 分布式消息:利用消息队列机制,实现业务和业务、业务和服务之间的异步消息发送及低耦合的业务关系。
  2. 分布式服务:提供高性能、低耦合、高复用、易管理的分布式服务,在网站实现面向服务架构(SOA)
  3. 分布式缓存:通过可伸缩的服务器集群提供大规模热点数据的缓存服务,是网站性能优化的重要手段

 

4.存储层架构

提供数据、文件的持久化存储访问和管理服务

  1. 分布式文件:网站在线业务需要存储的文件大部分是图片、网页、视频等文件,但是这些文件的数量特别庞大,而且通常都是在持续增加,需要伸缩性设计比较好的分布式文件系统
  2. 关系数据库:大部分网站的主要业务都是基于关系数据库开发的。
  3. NoSQL数据库:目前各种非关系型数据库层出不穷,NoSQL也常被用作分布式缓存,从社区活跃性来看,HBase目前是最好的。
  4. 数据同步、读写分离。

 

5.后台架构

网站应用中,除了要处理用户的实时访问请求外,还有一些后台非实时数据分析要处理。

  1. 搜素引擎:即便是网站内部的搜索引擎,也需要进行数据更新、构建索引等。这些操作通过后台系统定时执行。
  2. 数据仓库:根据离线数据,提供数据分析和数据挖掘服务
  3. 推荐系统。

 

 

 

TO BE CONTINUED

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ASP.NET Zero--4.不使用谷歌字体.. 下一篇代理模式(6)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目