标签:
引言
? ?
这本书的作者是子柳先生,子柳本名赵超,2004年加入淘宝网。历任开发工程师、项目经理、产品经理、测试经理,2009年随着淘宝系统的大规模重构和人才的迅速扩张,创办了"淘宝技术大学",因培养内外部工程师众多,人称"校长"。
? ?
之所以读这本书,主要想了解淘宝的技术/业务发展过程中遇到过哪些问题,以及他们怎么解决的。在阅读的过程中有很多不懂的地方,主要是知识面确实涵盖的太广,就当拓展视野吧。
? ?
第一章
? ?
淘宝架构初版
? ?
淘宝的第一版源代码是直接从国外买来,架构为LAMP(Linux+Apache+MySQL+PHP)。买来之后又对架构做了些本地化的修改,主要是对数据库进行了读写分离,原来的架构师从一个数据库进行所有的读写操作,现在把它拆分成一个主库,主库可以写也可以读,两个从库,从库就只读,主库写进的数据在两个从库中实现备份
? ?
之所以要这样读写分离,主要是写要比读更加消耗资源,分开后互不干涉,架构如下。
? ?
? ?
? ?
? ?
其中,pearDB是一个PHP模块,负责数据访问层。
? ?
PS.淘宝和支付宝的名字都是阿玲取的,真想认识一下这个人
PS.倒立文化是当时淘宝开发时期产生的,创意来自于虚竹
? ?
淘宝架构优化——增加Email服务器
? ?
最初上线的淘宝只有一台服务器,随着访问量的增加,将数据库服务器独立出来,同时,增加一台Email服务器;
? ?
淘宝架构优化——优化商品检索功能
? ?
商品检索功能最初的实现就是使用sql中的like搜索,对数据库资源消耗严重,后来使用阿里巴巴的iSearch模块替换like方式;
? ?
另外还有一些改变:MVC框架-WebX,控制层-EJB,持久层-ibatis,搜索引擎iSearch(把数据库中的数据dump成结构化的文本文件后,放在硬盘上,提供Web应用以约定的参数和语法来查询这些数据)
? ?
第二章
? ?
淘宝架构优化——更换数据库
? ?
在 2003 年底,MySQL 已经撑不住了,换成 Oracle。使用数据库时一个需要考虑的问题就是分库分表,淘宝的数据库路由框架采用DBRoute,DBRoute统一处理了数据的合并、排序、分页等操作,让程序员像使用一个数据库一样操作多个数据库里的数据。
? ?
另外淘宝还一步一步把IOE(IBM小型机、Oracle、EMC存储)去掉,用Spring替换EJB(05-06年)以及从ChinaChahe改用搭建自己的CDN网络(这里不得不提及LVS的创始人章文嵩博士)
? ?
于是架构变成以下形式
? ?
? ?
? ?
旺旺之父和旺旺之母
? ?
最早开始做旺旺开发的人只有一个——无崖子,旺旺之父
? ?
奇灵开发出一套旺旺表情,被称为旺旺之母
? ?
? ?
? ?
? ?
标签:
原文地址:http://www.cnblogs.com/keedor/p/4483035.html