基于Java构建的淘宝

阅读更多
基于Java构建的淘宝基于Java构建的淘宝
2009.3

淘宝发展历程
1200
800
1000
600
800
200
400
xx部手机/天
0
2003 2004 2005 2006 2007 2008 2009
V1.0 V2.0 V2.1
V3.0
V2.2

V1.0 2003.5 – 2004.10
..2003年非典时期
马云住宅..马云住宅
..LAMP
..基于phpAuction
b / ti /li t/ i..member/auction/list/misc

V1.0问题
..连接池性能问题
不利于团队开发..不利于团队开发
..不利于长期持续发展
..无技术积累

V2 需求
..支撑高速业务发展
支撑团队并行开发..支撑团队并行开发
..支撑系统的可伸缩

V2.0 2004.5-2005.03
..三层结构
自主的MVC框架..自主的MVC框架
..自主的项目管理工具
..延伸Ant
..自主的搜索引擎..自主的搜索引擎
..php迁移至java
..mysql迁移至Oracle

V2.0 淘宝MVC框架
..基于规则
模块化(car)..模块化(car)
..pipelinepp
..页面布局
统的ll t l支持..统一的pull tool支持
..支持多模板引擎

V2.0 淘宝项目管理工具
..类似maven
脚本编程语言..脚本编程语言
..AutoConfigg
..依赖管理,支持冲突检测

V2.0 搜索引擎
..基于内存索引
支持复杂条件支持统计..支持复杂条件,支持统计
..非实时
..有数据量限制

V2.1 的需求
..降低成本
提高性能
..提高性能

V2.1 2005.03 – 2007.01
..weblogic迁移至jboss
抛弃ejb..抛弃ejb
..支持分库的数据访问框架
..session框架重构
基于BDB的缓存..基于BDB的缓存
..Taobao自己的CDN

V2.1 数据可伸缩
..水平
..用户..用户
..商品
..交易
..垂直..垂直
..评价
论坛..论坛
..其他

V2.1 session框架
..支持集中式、复制方式、cookie方式
对代码透明..对代码透明

V2.2 需求
..提高系统性能
降低存储成本..降低存储成本
..支撑海量数据的搜索

V2.2 2006.10 – 2007.12
..分布式文件系统
分布式缓存..分布式缓存
..前端页面缓存
..搜索引擎升级

V2.2 淘宝分布式文件系统
..类似GFS
支持数据紧缩..支持数据紧缩
..支持数据去重

V2.2 淘宝分布式缓存
..基于动态哈希算法
性能超越memcache..性能超越memcache

V2.2 搜索引擎升级
..水平垂直伸缩

V2 问题
..上百人一起维护一个代码近百万行的核心
工程
工程
..多个业务系统中的超过1/3的核心代码重复
..数据库连接达到上限
..
停电..停电

V3.0 需求
..支撑大型团队,丰富业务的并行开发
提高重用性..提高重用性
..透明的数据库伸缩
..可用性
开放
..开放

V3.0 2007.12 --
..数据和应用透明伸缩
淘宝消息系统..淘宝消息系统
..服务化
..产品化
实时搜索
服务/消息
..实时搜索
..可用性
..TOP(淘宝开放平台)

V3.0 数据透明伸缩
..垂直(按功能)
..交易用户商品店铺评价收费社区..交易用户商品店铺评价收费社区
..水平(按规则)
..商品交易
..透明的数据访问层..透明的数据访问层

V3.0 应用透明伸缩
..按功能划分
..用户商品交易店铺评价收费社区..用户商品交易店铺评价收费社区
..无状态
..应用无需关心集群
..集群可调控..集群可调控
..软件负载均衡

V3.0 消息系统
..Topic方式
分组订阅..分组订阅
..发送事务
..送达率:99.99%
1亿消息/天..1亿消息/天

V3.0 服务化
..服务导向框架
按功能形成服务中心
..按功能形成服务中心
..用户商品交易店铺类目
..服务中心200台服务器承载了70亿/天的请



V3.0 实时搜索
..同步更新索引
补救机制..补救机制

V3.0 可用性
..同城分流
异地容灾
..异地容灾

V4.0 ~~

你可能感兴趣的:(Java,搜索引擎,框架,MVC,应用服务器)