淘宝系统架构介绍

### 淘宝系统架构演进历程 #### 一、淘宝发展历程与早期架构 - **初期阶段**(2003.5-2004.1):淘宝诞生于非典时期,最初的架构非常简单,主要采用了LAMP(Linux + Apache + MySQL + PHP)堆栈,以及MySQL的读写分离技术来支撑业务。 - **特点**:单机部署,通过简单的读写分离提升数据库性能。 - **架构示例**: - **数据库层**:MySQL Master负责写操作,Slave1和Slave2进行读取操作。 - **应用层**:多个Apache服务器配合mod_php4模块,通过pearDB函数实现数据库访问。 - **发展阶段**(2004.1-2004.5):随着业务规模的扩大,淘宝开始对架构进行了第一次重大调整,将数据库从MySQL迁移至Oracle,并引入了SQLRelay作为中间件,以解决原有架构在处理大规模数据时遇到的问题。 - **特点**:数据库升级,引入中间件优化性能。 - **架构示例**: - **数据库层**:Oracle负责数据存储。 - **应用层**:多个Apache服务器配合mod_php4模块,通过SQLRelay连接Oracle。 #### 二、中期架构调整与优化 - **中期阶段**(2004.2-2005.03):随着业务的进一步发展,淘宝开始逐步采用Java语言替代PHP,同时引入了一系列新的技术和框架,如WebX MVC框架、项目管理工具AntX等。 - **特点**:语言升级,引入MVC框架。 - **架构示例**: - **数据库层**:Oracle提供读写操作。 - **搜索层**:引入ISearch进行商品检索。 - **应用层**:使用Weblogic作为容器,配合淘宝MVC框架、EJB组件实现业务逻辑处理。 - **中期后期**(2004.10-2007.01):为了进一步提升系统的稳定性和性能,淘宝开始采用JBOSS作为容器,并引入Spring框架,以及基于Berkeley DB的缓存技术。 - **特点**:容器替换,引入Spring框架优化代码结构。 - **架构示例**: - **数据库层**:多个Oracle实例进行数据存储。 - **缓存层**:基于BDB的缓存服务。 - **应用层**:使用JBoss容器配合Spring框架、淘宝MVC框架进行业务逻辑处理。 - **优化阶段**(2006.10-2007.12):淘宝继续对架构进行优化,引入了分布式存储TFS、分布式缓存Tair,并对搜索引擎进行了升级。 - **特点**:引入分布式存储和缓存,增强系统的扩展性和可靠性。 - **架构示例**: - **存储层**:分布式存储TFS。 - **缓存层**:分布式缓存Tair。 - **搜索层**:升级后的搜索引擎。 #### 三、成熟期架构设计 - **成熟阶段**(2007.12-至今):随着业务量的持续增长,淘宝在架构层面实现了更多的技术创新,包括应用透明伸缩、Session框架、高性能服务框架HSF、消息系统Notify等。 - **特点**:高度可扩展、高性能的服务框架,支持灵活的业务扩展。 - **架构示例**: - **服务层**:基于HSF的服务框架。 - **消息层**:Notify消息系统。 - **业务层**:业务中心支持灵活的业务扩展。 - **数据层**:淘宝采用了分布式数据层TDDL来实现数据的透明伸缩,提升了系统的稳定性和容灾能力。 - **特点**:支持数据的自动分片、路由等功能,提高了系统的数据处理能力和灵活性。 - **架构示例**: - **数据层**:分布式数据层TDDL。 - **存储层**:MySQL作为数据存储。 #### 四、关键需求与处理策略 - **关键需求**:高稳定性、高数据安全性、高可用性、高容量及高性能、高并发处理能力、高存储容量、低响应时间、低成本(硬件和人力成本)。 - **处理策略**: - **高稳定性**:通过备份和隔离策略实现。 - **高容量与高性能**:“人多力量大”的分割策略,以及异步处理方式。 - **降低成本**:提高效率和自动化水平。 #### 五、三角原则(CAP理论) - **CAP理论**:强调在分布式系统设计中需要权衡可用性、扩展性和一致性之间的关系。 - **可用性**:系统在任何情况下都能返回一个结果。 - **扩展性**:系统能适应不断增长的数据量和用户量。 - **一致性**:系统在所有节点上都具有相同的数据视图。 - **效果与成本**:在不同阶段,系统的效果与成本之间存在着线性或指数的关系。当系统的某些部分达到某个阈值后,系统的整体表现会受到最弱部分的影响。 ### 总结 淘宝系统的架构设计经历了从简单到复杂、从单一到分布式的发展过程。随着业务量的增长和技术的进步,淘宝不断地对架构进行优化和调整,以满足更高的性能要求和更复杂的业务场景。这些技术实践不仅推动了淘宝自身的发展,也为整个互联网行业提供了宝贵的经验和参考。






















剩余21页未读,继续阅读

- 小狼2016-05-27不值3分这个价,基本没有什么内容,一般般,不推荐下载。
- JevonCode2015-03-24good,很好的资料,也很清晰,大家可以下载

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 数据库实验2:表的创建与管理.docx
- 专起本《工程项目管理》C试卷.doc
- 国家开放大学电大《桥梁工程技术》《会计学概论》网络课形考网考作业(合集)答案.docx
- 字形字体处理C语言课程设计范文.doc
- 网络游戏市场分析及媒体投放分析报告.pptx
- 最新毕业论文基于PLC的自动卷帘门控制系统.doc
- 制冷系统安全技术操作规程.doc
- 机械自动化设备优化策略分析获奖科研报告论文.docx
- 基于PLC与触摸屏的恒压供水电气系统设计.doc
- 告别网络游戏PPT课件.ppt
- 计算机体系结构实验报告二.doc
- 小程序如何运营?.docx
- 综合布线工程竣工验收报告样本.doc
- 2023年职称计算机试题及答案.doc
- 选煤工艺流程软件开发平台的选择.doc
- 综合楼综合布线系统方案.doc


