电子商务网站(淘宝网)的系统架构解析
淘宝网, 是一个在线商品数量突破一亿, 日均成交额超过两亿元人民币,注册用户接近八 千
万的大型电子商务网站,是亚洲最大的购物网站。那么对于淘宝网这样大规模的一个网站,
我猜想大家一定会非常关心整个网站都采用了什么样的技术、 产品和架构, 也会很想了解 在
淘宝网中是否采用了开源的软件或者是完全采用的商业软件。 那么下面我就简单的介绍一 下
淘宝网中应用的开源软件。
对于规模稍大的网站来说, 其 IT 必然是一个服务器集群来提供网站服务, 数据库也必 然
要和应用服务分开,有单独的数据库服务器。 对于像淘宝网这样规模的网站而言, 就是应 用
也分成很多组。那么下面,我就从应用服务器操作系统、应用服务器软件、
Web
Server 、 数
据库、开发框架等几个方面来介绍一下淘宝网中开源软件的应用。
操作系统
我们首先就从应用服务器的操作系统说起。 一个应用服务器, 从软件的角度来说他的 最
底层首先是操作系统。 要先选择操作系统, 然后才是操作系统基础上的应用软件。 在淘宝
网,
我们的应用服务器上采用的是 Linux 操作系统。 Linux 操作系统从 1991 年第一次正式被公布 到
现在已 ¾¬ 走过了十七个年头,在 PC Server 上有广泛的应用。硬件上我们选择 PC Server 而不
是小型机,那么 Server 的操作系统供我们选择的一般也就是 Linux , FreeBSD, windows 2000
Server 或者 Windows Serv er 2003 。如果不准备采用微软的一系列产品构建应用,并且有能力
维护 Linux 或者 FreeBSD ,再加上成本的考虑,那么还是应该在 Linux 和 FreeBSD 之间进行选
择。可以说,现在 Linux 和 FreeBSD 这两个系统难分伯仲,很难说哪个一定比另外一个要优
秀很多、 能够全面的超越对手, 应该是各有所长。那么在选择的时候有一个因素就是企业 的
技术人员对于哪种系统更加的熟悉, 这个熟悉一方面是系统管理方面, 另外一方面是对于 内
核的熟悉, 对内核的熟悉对于性能调优和对操作系统进行定制剪裁会有很大的帮助。 而应 用
全面的优化、 提升性能也是从操作系统的优化开始的。
应用服务器
在确定了服务器的硬件、 服务器的操作系统之后, 下面我们来说说业务系统的构建。 淘
宝网有很多业务系统应用是基于 JEE 规范的系统。还有一些是 C C++ 构建的应用或者是 Java
构建的 Standalone 的应用。 那么我们要选择一款实现了 JEE 规范的应用服务器。 我们的选择 是
JBoss Applcation Server 。 JBoss AS 是 RedHat 的一个开源的支持 JEE 规范的应用服务器。在几
年前,如果采用 Java 技术构建互联网应用或者企业级应用,在开源软件中的选择一般也就 是
Apache 组织的 Tomcat 、 JBos s 的 JBoss AS 和 Resin 。严格意义上讲, Tomcat 和 Resin 并不能算
是一个应用服务器,他们是实现了部分 J2EE 规范的一个容器。而商业软件的选择就是 IBM
的 WebSphere 和 BEA 的 WebLogic 。到了现在,除了 JBoss AS 外, Apache 的 Geronimo , Sun 的
Glassfish 也都是很优秀的 JEE 应用服务器。也给现在的开发人员提供了更多的选择。具体对
于目前 JEE 应用服务器的比较。这边就不在赘述。
在应用服务器前端,我们采用了
Web
Server 做了一次转发,我们选择的 Web 服务器是大