一、淘宝系统架构
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.持久层透明可扩展