淘宝(taobao)架构发展历程及Web框架设计

一、淘宝系统架构    

     2008年,淘宝每天增加800G的数据,高峰期超过30G/s,处理超过1000G的日志,处理40亿次用户请求信息。淘宝架构发展经历了三个阶段。

     第一阶段(V1.0)

     采用经典的LAMP结构,mySQL采用M-S模式,实现了读写分离。后期采用了SQLrelay中间件技术。

     第二阶段(V2.0):

     这一阶段,用java替换了php,引入了MVC框架,使用Antx管理项目,使用了搜索引擎ISearch。在后期,逐渐引入了SPring框架,抛弃了EJB;对数据库实现分库存储;使用了分布式存储和分布式缓存,对搜索引擎升级。

     第三阶段(V3.0):

     在现有框架下增加了应用透明性和数据透明伸缩性的尝试。在应用透明性方面,有了session框架,高性能服务框架HSF,消息系统Notify,建立了业务中心;在数据库透明伸缩性方面,引入分布式数据层TDDL。

 

二、WEB架构设计

    WEB应用一般采用分层结构,服务器端主要包括展现层、业务逻辑层和持久层。

    1.展现层要实现可扩展,关键是session的处理。

    2.业务逻辑层要实现透明可扩展

  •  建立领域模型
  •  统一、隔离
  •  无状态业务层
  •  负载均衡

    3.持久层透明可扩展

  •   数据库按功能垂直分割,按规则水平分割
  •   时间换空间或空间换时间
  •   牺牲一定的一致性
  •   二八原则

 

三、关键技术

    1.session处理方式

  • 粘性session
  • session复制
  • 集中式session
  • 不是有session

    2.分布式存储

      分布式存储是相对于集中式存储的一种处理方式,把数据存在在不同的节点上,通过查询位置服务器找到数据所在的节点。提高数据存储的可扩展性和查询效率。

    3.分布式缓存

    见http://rdc.taobao.com/blog/qa/?p=5299,关于Tail的介绍

你可能感兴趣的:(架构(J2EE,Design,Pattern))