Chinaunix首页 | 论坛 | 博客
  • 博客访问: 430439
  • 博文数量: 113
  • 博客积分: 2228
  • 博客等级: 大尉
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-24 15:07
文章分类

全部博文(113)

文章存档

2013年(52)

2012年(61)

我的朋友

分类: 项目管理

2012-12-10 16:07:25

看淘宝大牛们晒一晒淘宝网技术内幕

 

淘宝网是一个在线商品数量突破一亿,日均成交额超过两亿元人民币,注册用户接近八千万的大型电子商务网站,是亚洲最大的购物网站。那么对于淘宝网这样大规模的一个网站,我猜想大家一定会非常关心整个网站都采用了什么样的技术?前端设计和后台架构有哪些内幕?淘宝所依赖的数据库到底是什么?它用到了哪些存储技术?淘宝网的应用服务器上采用的是Linux操作系统。在应用服务器前端,淘宝采用了Web Server做了一次转发,选择的Web服务器是大名鼎鼎的Apache。想知道淘宝的技术大牛们在淘宝技术上有哪些看点?本文将揭晓谜底,重点晒一晒淘宝大牛们在淘宝数据库、前端设计、后台架构以及存储方面的见解。

 

淘宝数据库篇

在淘宝网的应用中,采用了两种关系型数据库管理系统。一个是 Oracle公司的Oracle 10g,另外一个是Sun MySQL的MySQL。Oracle是一款优秀的、广泛采用的商业数据库管理软件。有很强大的功能和安全性,可以处理相对海量的数据。而MySQL是一 款非常优秀的开源数据库管理软件,非常适合用多台PC Server组成多点的存储节点阵列(这里我所指的不是MySQL自身提供的集群功能),每单位的数据存储成本也非常的低廉。用多台PC Server安装MySQL组成一个存储节点阵列,通过MySQL自身的Replication或者应用自身的处理,可以很好的保证容错(允许部分节点失 效),保证应用的健壮性和可靠性。可以这么说,在关系数据库管理系统的选择上,可以考虑应用本身的情况来决定。

 

 

淘宝前端设计篇

淘宝网的Web展现层的框架用的不是struts,不是webwork,不是spring mvc等等。淘宝网的Web展现层的框架用的是集团内部自主开发的一套Web框架。这个框架能够解决一些其他Web框架不能解决的、在淘宝的应用中又会出 现并需要解决的问题。在淘宝的多个应用中,也采用了一些开源的框架,比如Spring、iBatis、jBPM、Hessian、Mina等等。这些开源 软件的采用为我们构建应用系统提供了很大的帮助。

 

 

淘宝后台架构篇

2003年5月至2004年5月,小而快的简单架构,基于LAMP,符合当时的需求。

2004年2月至2008年3月,一个懵懂的阶段,开始分为多个层次。这个阶段需要一个能够支撑百万到千万用户级的架构,必须容易扩展;系统从WebLogic迁移至了JBoss;开发了大量软件,例如TFS、iSearch、TDBM和CDN。

2007年10月至2009年11月,开始有前瞻性,走向产品化及服务化。非核心的数据由Oracle迁移到了MySQL上,构建起了消息系统和服务框架,淘宝开放平台(TOP)正式上线。

2009年8月至今的淘宝则更系统化、智能化及专业化,这是发展的必然方向。知识经验慢慢融入工具之中,降低了门槛,减少误操作几率;操作从人工处理逐步转为系统自主决策;在稳定性和性能方面有长足发展。

 

 

淘宝存储篇

淘宝图片系统在整个网站中的重要性和发展历史;存储淘宝图片的分布式文件系统,以及它的架构、性能指标和现有的部署规模;基于Nginx的Image Server和Cache系统;淘宝CDN系统的总体结构,一级Cache和二级Cache的规划和基于开源的系统实现;低功耗服务器在 CDN上的试验规划;总结了淘宝图片存储和发送系统设计的原则和经验。

 

阅读(1290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~