互联网公司技术架构资料.淘宝.技术架构介绍.pdf

  • 文件大小: 3.18MB
  • 文件类型: pdf
  • 上传日期: 2025-08-17
  • 下载次数: 0

概要信息:

淘宝系统架构介绍
黄裳
2009.10

淘宝发展历程
0
500
1000
1500
2000
2500
2003 2004 2005 2006 2007 2008 2009
PV
全网成交
V2.2
V1.1V1.0 V2.0 V2.1
V3.0
2008年:
交易额999.6亿
注册用户9800万
卖出1.4亿件服饰
卖出1366万部手机
卖出3130万张充值卡
2008年每天:
增加800G的数据
高峰期流量超过30G/S
处理超过1000G的日志
处理40亿次的用户信息访问
缓存处理60亿次的请求
V1.0 2003.5 – 2004.1
z 非典时期
z 马云住宅
z LAMP
z MySQL读写分离
Slave1 Slave2MySQL
Master
复制 复制
ReadRead Read/Write
Apache
mod_php4
pear DB
Function 
Apache
mod_php4
pear DB
Function 3
Apache
mod_php4
pear DB
Function 2
Apache
mod_php4
pear DB
Function 1
V1.1 2004.1 – 2004.5
zMySQL迁移至Oracle
z引入SQL Relay中间件
Oracle
Apache
mod_php4
pear DB
Function 4
SQL Relay
Apache
mod_php4
pear DB
Function 3
SQL Relay
Apache
mod_php4
pear DB
Function 2
SQL Relay
Apache
mod_php4
pear DB
Function 1
SQL Relay
V2.0 2004.2-2005.03
z php迁移至java
zMVC框架WebX
z项目管理工具AntX
z引入搜索引擎ISearch
Oracle
Read/Write
dump
Search
Node
1
Node
2
Node
n……
Weblogic
淘宝MVC
EJB
Function 4
OR-Mapping
Weblogic
淘宝MVC
EJB
Function 3
OR-Mapping
Weblogic
淘宝MVC
EJB
Function 2
OR-Mapping
Weblogic
淘宝MVC
EJB
Function 1
OR-Mapping
V2.1 2004.10 – 2007.01
z weblogic迁移至jboss
z 支持分库的数据访问框架
z 抛弃EJB
z 引入Spring
z 基于BDB的缓存
z 建立CDN
cache
Read/Write
Read/Writedump Search
Node
1
Node
2
Node
n……
Oracle
Oracle
Oracle
Oracle
JBoss
淘宝MVC
Spring
……
OR-Mapping
JBoss
淘宝MVC
Spring
Function 3
OR-Mapping
JBoss
淘宝MVC
Spring
Function 2
OR-Mapping
JBoss
淘宝MVC
Spring
Function 1
OR-Mapping
V2.2 2006.10 – 2007.12
z分布式存储TFS
z分布式缓存Tair
z搜索引擎升级
Oracle
Oracle
Oracle
Oracle
Read/Write
Search
Node
1
Node
2
Node
n
……
Node
1
Node
2
Node
n
JBoss
淘宝MVC
Spring
……
Ibatis
JBoss
淘宝MVC
Spring
Function 3
Ibatis
JBoss
淘宝MVC
Spring
Function 2
Ibatis
JBoss
淘宝MVC
Spring
Function 1
OR-Mapping
cache
分布式存储
Node
1
Node
2
Node
n
需求
z高稳定性
z高数据安全
z高可用性
z高容量,高性能
z高并发处理能力
z高存储容量
z低响应时间
z低成本
z硬件
z人力
处理策略
z高稳定性
z备份
z隔离
z高容量,高性能
z“人”多力量大
z分割
z异步
z成本
z提高效率
z自动化
整体策略:三角原则(CAP)
可用性
扩展性
一致性
效果 = 周长
周长和三个边长为线性关系
成本 = 面积
面积和三个边长成指数关系
当边长小于某阀值
效果 = 最小边长度
成本
V3.0 2007.12 --
z 应用透明伸缩
z Session框架
z 高性能服务框架HSF
z 消息系统Notify
z 业务中心建立
z数据透明伸缩
z 分布式数据层TDDL
z 稳定性
z 容灾
z 成本
z 自动化
z 数据迁移到MySQL
服务/消息
V3.0 应用透明伸缩
z展现层-会话处理很重要
z粘性session
zsession复制
z集中式session
z不用session
V3.0 应用透明伸缩
z业务层
服务 1 服务2
Node1
Node2
Node 
n
……
功能分组1
Node1
Node2
Node 
n
……
功能分组2
Node
1
Node
2
Node 
n
……
Node
1
Node
2
Node 
n
……
功能分组2
Node
1
Node
2
Node 
n
……
功能分组3功能分组1
APPPPAPP APPPPAPP
V3.0 应用透明伸缩
z业务处理
z统一和隔离
z负载均衡
z一片私有的“云”
V3.0 数据透明伸缩
z容量和性能的扩展
z垂直分割
z按功能
z水平分割
z按规则
z路由
z透明化
z复制
z空间换时间
核心
业务
数据
……
业务1
……
业务2
……
V3.0 数据分割策略
z复杂结构的水平分割处理方案
zn策略
z2n策略
zn+1策略
z读写分离策略
好友动态
订单
帖子
数据优化策略:时空原则+28原则
z老生常谈
z空间换时间
z时间换空间
z效果和成本的平衡
V3.0 消息系统
z集群Topic方式
z发送事务 APPPP后续
处理1
APPPP后续
处理2
APPPP……
APPPP业务
系统
APPPP消息
系统
消息操作
V3.0 可用性
z同城分流
z异地容灾
zn+1原则
主机房一 主机房二 异地主机
房
数据同步
主业务
边缘业务
可切换
V3.0 自动化
A:I wanna the fried chicken!
B:Sir, we will be arriving at 
the nearest KFC soon.
总结
z适当放弃一致性
z备份和隔离解决稳定性问题
z分割和异步解决性能问题
z自动化降低人力成本
z产品化管理
Questions?

缩略图:

  • 缩略图1
  • 缩略图2
  • 缩略图3
  • 缩略图4
  • 缩略图5
当前页面二维码

广告: