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