您的位置:首页 > 运维架构 > 网站架构

淘宝网技术架构介绍

2015-12-03 21:48 302 查看
淘宝网技术架构介绍

学习目标:

1.了解淘宝架构的需求;

2.了解淘宝技术的演变;

3.了解架构的一些基本准则。

淘宝相关的一些数据





淘宝架构的版本演变



V1.0架构2003.05-2004.01





V1.0架构-问题

•数据库容量限制


•数据稳定性


•数据库性能问题

V1.1架构2004.01-2004.05



V1.1架构-问题




•开发效率


•无技术积累沉淀


•无法满足团队并行开发


•不能满足长期持续维护


•难以支撑高速业务发展


•难以支撑系统可伸缩性


•数据库连接达到上限 (每个Oracle数据库大约提供5000个链接)

V2.0架构 2004.02-2005.03




V2.0架构-以EJB为核心





V
2.0架构-WebX MVC框架

•基于Apache Turbine框架改造


•模块化(car)


•基于管道流(pipeline)的架构


•页面布局(Screen Layout Control)


•基于模板的页面渲染(JSP,Velocity,Freemarker)


V2.0架构-项目管理工具AntX


•类似Maven

•Ant ++


•AutoConfig


•页面布局(Screen Layout Control)


•基于模板的页面渲染(JSP,Velocity,Freemarker)


V2.0架构-问题


•性能


•提高开发效率


•AutoConfig


•降低成本

V2.1架构-2004.10-2007.01






V2.1逻辑架构-以Spring为核心



V2.1架构-TBStore


•基于Key-Value的高速缓存


•中心化缓存存储

•多种缓存策略


V2.1架构-TaobaoCDN

•静态内容:图片,描述,js,css,静态页面


•全国20余个站点


•高峰30G/秒


V2.1架构-session框架


•集中存储


•对代码透明


V2.2架构-需求2006.6-2007.12


•提高系统性能


•降低存储成本


•支持海量数据搜索

•分布式存储TFS

•分布式缓存Tair


•页面缓存ESI


•搜索引擎升级




V2.2架构分布式文件存储[b]TFS
[/b]




•类似GFS


•数据压缩


•数据去重

•每天增长300G





V2.2架构-TDBM/Tair


•基于一致性hash算法


•类似memcached


•多种缓存策略


•容灾




V2.2架构-搜索引擎


切分




V2.2架构-问题


•多个业务系统中1/3核心业务代码重复


•所有数据库都需要关注拆分原则


•数据库连接达到上限


V3.0架构-2007.12-?


•数据访问层TDDL


•面向服务框架HSF


•消息系统Notify


•Oracle->mysql


•监控-哈勃




V3.0架构-逻辑
结构






V3.0架构-数据透明收缩-数据库层



V3.0架构-服务化HSF


•服务导向框架


•中心化/产品化管理


•70亿/天的请求量


V3.0架构-消息系统Notify


•Topic方式


•发送事务


•2亿消息/天


•送达率99.99%



V3.0架构-可用性


•同城容灾


•异地容灾





V3.0架构-哈勃监控系统






V3.0架构-哈勃监控系统-特征


•超轻量级HubAgent

HubAgent是一个基于揑件模式轻量级HTTP服务,可以通过增加揑件的方式进行扩展,目前已提供“增量日志获取”,“外部程序(脚本)调用”,“进程&线程探测”,“端口探测”等多种服务。系统使用Python开发,不依赖第三方系统,可以安装在仸何linux服务器上。


•分布式的分析系统

分析系统使用MapReduce的编程模型,对大量的监控数据进行幵行处理。系统将采用松耦合的Master-Slave模式,Master处于被劢状态,只负责仸务的生成和合幵,不需要关心仸务分派。系统设计更加简单、灵活,通过增加Slave即可得到水平扩展能力


•Cassandra数据存储


系统使用Cassandra来实现大量监控数据的分布式存储,Cassandra具有模式灵活,扩展性强,具有多维数据。




V3.0架构-哈勃监控系统-使用情况



•应用情况

目前以接入包括主站和广告在内的350多个应用,配置了超过1500个仸务和3000多张监控报表。能为应用的集群指标提供30天的明细数据,单机提供7天的明细数据;每小时的统计数据保存1年和每天的统计数据永久保存。


•系统情况

HubAgent已经安装超过3500台,基本覆盖了主站的应用服务器。


目前有1台Master服务器和7台Slave服务器用于数据分析。 master的流量在5Mbps,Slave合计的平均网络

流量60Mbps(峰值120Mbps),平均每天处理约4T的原始数据。


目前有5台Cassandra服务器,350G左右的数据存储量,每天的数据增量在25G左右;



淘宝架构-回顾




架构遵循的基本原则


•上可依赖下


•下不可依赖上


•平级间可以相互依赖(不推荐),禁止循环依赖


•使用消息对系统间依赖解耦


•简单就是美


服务化/中心化的业务系统架构




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: