`
mizhihua
  • 浏览: 54785 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从个人网站到淘宝网 仰观Java时代淘宝的技术发展(4)

 
阅读更多

我的师父黄裳@岳旭强曾经说过,“好的架构图充满美感”,一个架构好不好,从审美的角度就能看得出来。后来我看了很多系统的架构,发现这个言论基本成立。那么反观淘宝前面的两个版本的架构,你看哪个比较美?

显然第一个比较好看,后面那个显得头重脚轻,这也注定了它不是一个稳定的版本,只存活了不到半年的时间。2004年初,SQL Relay的问题解决不了,数据库必须要用Oracle,那从哪里动刀?只有换开发语言了。换什么语言好呢?Java。Java是当时最成熟的网站开发语 言,它有比较良好的企业开发框架,被世界上主流的大规模网站普遍采用,另外有Java开发经验的人才也比较多,后续维护成本会比较低。

到2004年上半年,淘宝网已经运行了一年的时间,这一年积累了大量的用户,也快速的开发了很多功能,当时这个网站已经很庞大了,而且新的需求还在 源源不断的过来。把一个庞大的网站的开发语言换掉,无异于脱胎换骨,在换的过程中还不能拖慢业务的发展,这无异于边换边跑,对时间和技术能力的要求都非常 高。做这样的手术,需要请第一流的专家来主刀。现在再考一下读者,如果你在这个创业团队里面,请什么样的人来做这事?我们的答案是请Sun的人。没错,就 是创造Java语言的那家公司,世界上没有比他们更懂Java的了。除此之外,还有一个不为人知的原因,……(此处和谐掉200字,完整版见 aliway)

这帮Sun的工程师的确很强大,在笔者2004年底来淘宝的时候,他们还在,有幸跟他们共事了几个月。现在摆在他们面前的问题是用什么办法把一个庞 大的网站从PHP语言迁移到Java?而且要求在迁移的过程中,不停止服务,原来系统的bugfix和功能改进不受影响。亲,你要是架构师,你怎么做?有 人的答案是写一个翻译器,如同把中文翻译成英文一样,自动翻译。我只能说你这个想法太超前了,换个说法就是“too simple, sometimes naive”。当时没有,现在也没有人能做到。他们的大致方案是给业务分模块,一个模块一个模块的替换。如用户模块,老的 member.taobao.com继续维护,不添加新功能,新的功能先在新的模块上开发,跟老的共用一个数据库,开发完毕之后放到不同的应用集群上,另 开个域名member1.taobao.com,同时替换老的功能,替换一个把老的模块上的功能关闭一个,逐渐的把用户引导到 member1.taobao.com,等所有功能都替换完毕之后,关闭member.taobao.com。后来很长时间里面都是在用member1这 样奇怪的域名,两年后有另外一家互联网公司开始做电子商务了,我们发现他们的域名也叫member1.xx.com、auction1.xx.com……

说了开发模式,再说说用到的Java MVC框架,当时的struts1.x是用的比较多的框架,但是用过webwork和struts2的同学可能知道,struts1.x在多人协作方面有 很多致命的弱点,由于没有一个轻量框架作为基础,因此很难扩展,这样架构师对于基础功能和全局功能的控制就很难做到。而阿里巴巴的18个创始人之中,有个 架构师,在Jakarta Turbine的基础上,做了很多扩展,打造了一个阿里巴巴自己用的MVC框架WebX ( http://www.openwebx.org/docs/Webx3_Guide_Book.html ),这个框架易于扩展,方便组件化开发,它的页面模板支持JSP和velocity等、持久层支持ibatis和hibernate等、控制层可以用 EJB和Spring(Spring是后来才有的)。项目组选择了这个强大的框架,这个框架如果当时开源了,也许就没有webwork和struts2什 么事了。另外,当时Sun在全世界大力推广他们的EJB,虽然淘宝的架构师认为这个东东用不到,但他们还是极力坚持。在经历了很多次的技术讨论、争论和争 吵之后,这个系统的架构就变成了下图的样子:

 

Java应用服务器是Weblogic,MVC框架是WebX、控制层用了EJB、持久层是ibatis,另外为了缓解数据库的压力,商品查询和店铺查询放在搜索引擎上面。这个架构图是不是好看了一点了,亲?

这帮Sun的工程师开发完淘宝的网站之后,又做了一个很牛的网站,叫“支付宝”。

其实在任何时候,开发语言本身都不是系统的瓶颈,业务带来的压力更多的是压到了数据和存储上。上面一篇也说到,MySQL撑不住了之后换 Oracle,Oracle的存储一开始在本机上,后来在NAS上,NAS撑不住了用EMC的SAN存储,再然后Oracle的RAC撑不住了,数据的存 储方面就不得不考虑使用小型机了。在2004年的夏天,DBA七公、测试工程师郭芙和架构师行癫,踏上了去北京测试小型机的道路。他们带着小型机回来的时 候,我们像欢迎领袖一样的欢迎他们,因为那个是我们最值钱的设备了,价格表上的数字吓死人。小型机买回来之后我们争相合影,然后Oracle就跑在了小型 机上,存储方面从EMC低端cx存储到Sun oem hds高端存储,再到EMC dmx高端存储,一级一级的往上跳。

到现在为止,我们已经用上了IBM的小型机、Oracle的数据库、EMC的存储,这些东西都是很贵的,那些年可以说是花钱如流水啊。有人说过“钱 能解决的问题,就不是问题”,但随着淘宝网的发展,在不久以后,钱已经解决不了我们的问题了。花钱买豪华的配置,也许能支持1亿PV的网站,但淘宝网的发 展实在是太快了,到了10亿怎么办?到了百亿怎么办?在N年以后,我们不得不创造技术,解决这些只有世界顶尖的网站才会遇到的问题。后来我们在开源软件的 基础上进行自主研发,一步一步的把IOE(IBM小型机、Oracle、EMC存储)这几个“神器”都去掉了。这就如同在《西游记》里面,妖怪们拿到神仙 的兵器会非常厉害,连猴子都能够打败,但最牛的神仙是不用这些神器的,他们挥一挥衣袖、翻一下手掌就威力无比。去IOE这一部分会在最后一个章节里面讲, 这里先埋个千里伏笔。

欲知后事如何,且听下回分解。

 

 

分享到:
评论

相关推荐

    行业景气度研究系列报告之三:资源型行业,仰观俯察,链串周期-0414-光大证券-22页.pdf

    在当今经济全球化的背景下,资源型行业作为支撑全球经济发展的基础行业,其景气度的波动牵动着全球经济的神经。光大证券所发布的《行业景气度研究系列报告之三:资源型行业,仰观俯察,链串周期》深入分析了资源型...

    形容观察的名言警句.doc

    观察是人类智慧的重要组成部分,它不仅关乎我们对周围世界的认知,更是推动科技进步、个人成长和社会发展的关键因素。从这些名言警句中,我们可以提炼出关于观察的几个核心知识点: 1. 观察的态度:观察并不仅仅是...

    现代中国旅游景观的欣赏.pptx

    【现代中国旅游景观欣赏与技术应用】 旅游景观的欣赏是一门综合艺术,它涉及地理、美学、文化等多个领域。在现代中国,丰富的自然与人文景观为游客提供了多种观赏体验。以下将详细介绍几个关键的旅游景观欣赏知识点...

    福建省福州文博中学2020届高三语文上学期第三次月考试题(无答案)新人教版.doc

    从《诗经》到唐诗,再到宋词元曲,试题覆盖了中国文学史上的重要篇章,这不仅要求学生有扎实的文学知识储备,还要求他们具备良好的文学鉴赏能力。 白居易的《琵琶行》、张养浩的《山坡羊·潼关怀古》、陆游的《游...

    空乘面试的自我介绍合集三篇.docx

    总结来说,成功的空乘面试自我介绍需要涵盖个人特质、职业热情、专业技能和未来发展愿景,同时展现良好的人际交往能力和积极的工作态度。通过这样的自我介绍,面试者能够有效地向面试官展示自己为何适合这个角色,...

    兰亭集序(课文原文及课下注释).docx

    《兰亭集序》是一篇记录王羲之与众多名士在兰亭集会的散文,它不仅是王羲之个人的文学巅峰之作,也反映出那个时代文人士大夫的生活情趣与哲学思考。 文中的“修禊事”是魏晋时期盛行的一种民俗活动,人们在农历三月...

    2018年八年级语文上册第三单元写作小专题学习描写景物练习新人教版20180601121

    比如从高到低、从远到近、从局部到整体的顺序,都可以为读者呈现出一个立体的景物世界。 情感融入是写景练习中的又一重要环节。景物描写不仅是对客观事物的记录,它更是作者情感的抒发。通过将个人情感融入到景物之...

    经典例题1.doc

    随着社会经济的发展和人们生活水平的提高,旅游已成为越来越多人们的休闲活动方式。旅游不仅让人们能够享受自然美景、体验不同文化,同时也是推动地区经济发展的重要力量。本文将通过分析四个经典例题,深入探讨旅游...

    重庆市铜梁高三语文9月份月考试题.doc

    从甲骨文到金文,再到后来的篆、隶、楷书等,汉字的发展历程,正是尚象精神在文字中不断强化的过程。尤其在诗歌等文学作品中,汉字的象形性与意象的结合,为文学创作提供了无限的想象空间和表达深度。 在审美创造的...

    高中语文第三单元第8课兰亭集序课时作业6含解析新人教版必修2

    语言是随着时代变迁而发展的,许多词汇的含义也随之发生了变化。在古文中,“怀抱”指的是人的胸怀和抱负,“俯仰”意味着时间的短暂,“其次”指的是旁边的事物,而“期限”则古今一致,均指限定的时间。理解这些...

    美学原理考试答案.pdf

    美学原理涵盖了广泛的领域,从古代哲学到现代艺术理论,它探讨了美的本质、美的感知以及艺术与人类生活的关系。在这些题目中,我们可以提炼出以下几个关键知识点: 1. **中国古代诗歌美学**:杜甫的诗歌被提及,他...

    天津市汉沽区第六中学高中地理 旅游地理练习3 中图版选修3

    瀑布则需适当距离仰观;大江河湖海等适合在高处俯览远望;小湖沼池塘适合低临水面近观。 2. **观赏时机的把握**:有些景观的欣赏需要考虑季节和时间因素,如春季赏花、秋季观叶,特定的天气条件下观赏日出、落霞、...

    河南淮阳太昊陵导游词5篇精选.doc

    伏羲氏被誉为“太吴”,寓意其贡献如日月般辉煌,他带领部落在黄淮平原定居,并在人类社会发展中起到了关键作用,包括制定了八卦、教授捕鱼狩猎等。 太昊陵的历史可以追溯到春秋时期,最早的陵墓和祠堂建于那时。...

    高中语文第三单元第8课兰亭集序课时作业4含解析新人教版必修2

    4. 特殊句式的识别,如“当其欣于所遇”、“仰观宇宙之大”、“不能喻之于怀”和“亦将有感于斯文”分别涉及到状语后置句和定语后置句,这体现了古汉语的语法特点。 5. 文化常识的考查,如《兰亭集序》的性质,它...

    高一语文兰亭集序随堂练习4[精选].doc

    10. ⑤ 正确,表达了虽然时代变迁,但人们对生死感慨的情致不变。 第2段的议论主要围绕生死观展开,讨论人生短暂,感慨系之。这与前段叙事中描述的兰亭集会欢乐场景形成对比,强调了尽管人们在欢聚时忘却忧愁,但...

    人教版高一年级语文下学期五单元兰亭集序知识点.pdf

    最终,学生不仅能够领略到古代文人的风雅,还能从文中汲取关于人生哲理的智慧,为自身的文化素养和审美能力的提高打下坚实基础。 总之,《兰亭集序》作为中国古典文化的精华,是培养学生综合文化素养的重要资源。它...

    2019_2020学年高中语文第四单元第19课兰亭集序学案含解析粤教版必修220200502130

    4. **诗文欣赏** - 王羲之在诗作中表达了对自然的热爱和对人生哲理的感悟,认为万物虽各不相同,但在自然面前都是平等的,体现出对生命平等和顺应自然的思考。 5. **名句解析** - 课文中提到的“仰观宇宙之大,俯察...

    二十四节气之冬至介绍PPT课件.pptx

    古人仰观天象,俯察地理,通过土圭测影法精确地测定了冬至这一节气。在古代中国,冬至不仅是宇宙自然的节律标志,也蕴含着丰富的文化内涵。人们视冬至为阳气初生的起点,万物开始复苏的象征,因此在这一天举行祭祀...

    山东省滨州市北镇中学2020学年高二语文6月月考试题(含解析).doc

    文章提到了王羲之的《兰亭集序》中的观点,强调通过仰观俯察的方式,人们可以体验到审美的愉悦。在古代的器物和艺术创造中,观物取象和立象尽意是重要的审美方法。例如,《周易·系辞上》和《左传·宣公三年》中提到...

    朱志荣《论中华美学的尚象精神》阅读训练.pdf

    在中国悠久的历史长河中,美学精神不断丰富和发展,塑造出独特的文化审美观。其中,“尚象精神”作为中国古代美学的核心,源自远古时期的《周易》及其衍生的易象,深深影响了后世的艺术创作和审美理念。朱志荣教授在...

Global site tag (gtag.js) - Google Analytics