淘宝技术发展(Oracle/支付宝/旺旺)

Oracle/支付宝/旺旺

  淘宝网作为个人网站发展的时间其实并不长,由于它太引人注目了,马云在 2003 年 7 月就宣布了这个是阿里巴巴旗下的网站,随后在市场上展开了很成功的运作。最著名的就是利用中小网站来做广告,突围 eBay 在门户网站上对淘宝的广告封锁。上网比较早的人应该还记得那些在右下角的弹窗和网站腰封上一闪一闪的广告。市场部那位到处花钱买广告的家伙,太能花钱了,一出手就是几百万,他被我们称为“大少爷”。

  “大少爷”们做的广告,带来的就是迅速上涨的流量和交易量。在 2003 年底,MySQL 已经撑不住了,技术的替代方案非常简单,就是换成 Oracle。换 Oracle 的原因除了它容量大、稳定、安全、性能高之外,还有人才方面的原因。在 2003 年的时候,阿里巴巴已经有一支很强大的 DBA 团队了,有冯春培、汪海(七公)这样的人物,后来还有冯大辉(@fenng)、陈吉平(拖雷)。这样的人物牛到什么程度呢?Oracle 给全球的技术专家颁发一些头衔,其中最高级别的叫 ACE(就是扑克牌的“尖儿”,够大的吧),被授予这个头衔的人目前全球也只有 300 多名(名单在这里: http://apex.oracle.com/pls/otn/f?p=19297:3 ),当年全球只有十几名。有如此强大的技术后盾,把 MySQL 换成 Oracle 是顺理成章的事情。

  但更换数据库不是只换个库就可以的,访问方式,SQL 语法都要跟着变,最重要的一点是,Oracle 并发访问能力之所以如此强大,有一个关键性的设计——连接池。但对于 PHP 语言来说它是放在 Apache 上的,每一个请求都会对数据库产生一个连接,它没有连接池这种功能(Java 语言有 Servlet 容器,可以存放连接池)。那如何是好呢?这帮人打探到 eBay 在 PHP 下面用了一个连接池的工具,是 BEA 卖给他们的。我们知道 BEA 的东西都很贵,我们买不起,于是多隆在网上寻寻觅觅,找到一个开源的连接池代理服务 SQLRelay( http://sourceforge.jp/projects/freshmeat_sqlrelay ),这个东西能够提供连接池的功能,多隆对它进行了一些功能改进之后就拿来用了。这样系统的架构就变成了如下的样子:

  数据一开始是放在本地的,DBA 们对 Oracle 做调优的工作,也对 SQL 进行调优。后来数据量变大了,本地存储不行了。买了 NAS(NetworkAttached Storage:网络附属存储),NetApp 的 NAS 存储作为了数据库的存储设备,加上 Oracle RAC(Real Application Clusters,实时应用集群)来实现负载均衡。七公说这实际上是走了一段弯路,NAS 的 NFS(Network File System)协议传输的延迟很严重,但那时侯不懂。后来采购了 Dell 和 EMC 合作的 SAN 低端存储,性能一下子提升了 10 几倍,这才比较稳定了。再往后来数据量更大了,存储的节点一拆二、二拆四,RAC 又出问题了。这才踏上了购买小型机的道路。在那段不稳定的时间里,七公曾经在机房住了 5 天 5 夜。

  替换完数据库,时间到了 2004 年春天,俗话说“春宵一刻值千金”,但这些人的春宵却不太好过了。他们在把数据的连接放在 SQLRelay 之后就噩梦不断,这个代理服务经常会死锁,如同之前的 MySQL 死锁一样。虽然多隆做了很多修改,但当时那个版本内部处理的逻辑不对,问题很多,唯一解决的办法就是“重启”它的服务。这在白天还好,连接上机房的服务器,把进程杀掉,然后开启就可以了,但是最痛苦的是它在晚上也要死掉,于是工程师们不得不 24 小时开着手机,一旦收到“SQLRelay 进程挂起”的短信,就从春梦中醒来,打开电脑,连上机房,重启服务。后来干脆每天睡觉之前先重启一下。做这事最多的据说是三丰,他现在是淘宝网的总裁。现在我们知道,任何牛B的人物,都有一段苦B的经历。

  微博上有人说“好的架构是进化来的,不是设计来的”。的确如此,其实还可以再加上一句“好的功能也是进化来的,不是设计来的”。在架构的进化过程中,业务的进化也非常迅猛。最早的时候,买家打钱给卖家都是通过银行转账汇款,有些骗子收了钱却不发货,这是一个很严重的问题。然后这伙人研究了 PayPal 的支付方式,发现也不能解决问题。后来这几个聪明的脑袋又想到了“担保交易”这种第三方托管资金的办法。于是在 2003 年 10 月,淘宝网上面上线了一个功能,叫做“安全交易”,卖家选择支持这种功能的话,买家会把钱交给淘宝网,等他收到货之后,淘宝网再把钱给卖家。这就是现在的支付宝,在前两天(2012.2.21)年会上,支付宝公布 2011 年的交易笔数已经是 PayPal 的两倍。这个划时代的创新,其实就是在不断的思索过程中的一个灵光乍现。

  当时开发“安全交易”功能的是茅十八和他的徒弟苗人凤(茅十八开发到一半去上海读 MBA 去了,苗人凤现在是支付宝的首席业务架构师),开发跟银行网关对接的功能的是多隆。当时多数银行的网站已经支持在线支付了,但多隆告诉我,他们的网关五花八门,用什么技术的都有,必须一家一家去接。而且他们不保证用户付钱了就一定扣款成功、不保证扣款成功了就一定通知淘宝、不保证通知淘宝了就一定能通知到、不保证通知到了就不重复通知。这害苦了苗人凤,他必须每天手工核对账单,对不齐的话就一定是有人的钱找不到地方了,少一分钱都睡不着觉。另外他为了测试这些功能,去杭州所有的银行都办理了一张银行卡。一堆银行卡摆在桌子上,不知道的人还以为这个家伙一定很有钱,其实里面都只是十块八块的。现在我们再一次知道,任何牛B的人物,都必须有一段苦B的经历。

  有人说淘宝打败易趣(eBay 中国)是靠免费,其实这只是原因之一。如果说和易趣过招第一招是免费的话,这让用户没有门槛就愿意来,那第二招就是“安全支付”,这让用户放心付款,不必担心被骗。在武侠小说中真正的高手飞花摘叶即可伤人,他们不会局限于一招两招,一旦出手,连绵不绝。而淘宝的第三招就是“旺旺”,让用户在线沟通。其实淘宝旺旺也不是自己生出来的,是从阿里巴巴的“贸易通”复制过来的。从 2004 年 3 月开始,“叮咚、叮咚”这个经典的声音就回荡在所有淘宝买家和卖家的耳边,“亲,包邮不?”,“亲,把零头去掉行不?”,这亲切的砍价声造就了后来的“淘宝体”。有人说中国人就是爱砍价,虽然笔者体会不到砍价成功后有多少成就感,但每次我去菜市场,看到大妈们砍价砍得天昏地暗,那满足的劲头堪比捡到了钱,我就深刻的理解了淘宝旺旺在交易过程中的价值。我猜 eBay 也体会不到砍价的乐趣,他们一直不允许买卖双方在线聊天,收购了 skype 之后也没有用到电子商务中去。

  旺旺在推出来没多久,就惹了一个法律方面的麻烦。有个做雪饼的厂家找上门来,说我们侵权了,他们家的雪饼很好吃,牛奶也做得不错,我们都很喜欢。然后我们就在旺旺的前面加了两个字,叫做“淘宝旺旺”。在那个野蛮生长的阶段,其实很多产品都是想到什么就做什么,例如我们还搭建过一个聊天室,但似乎淘宝网不是一个闲聊的地方,这个聊天室门可罗雀,一段时间后就关闭掉了。

  SQLRelay 的问题搞得三丰他们很难睡个囫囵觉,那一年开半年会的时候,公司特地给三丰颁了一个奖项,对他表示深切的安慰。但不能总这样啊,于是,2004年的上半年开始,整个网站就开始了一个脱胎换骨的手术。

时间: 2024-09-20 08:00:24

淘宝技术发展(Oracle/支付宝/旺旺)的相关文章

淘宝技术发展 —— 前言

光棍节的狂欢 "时间到,开抢!"坐在电脑前早已等待多时的小美一看时间已到2011年11月11日零时,便迫不及待地投身于淘宝商城一年一度的大型网购促销活动-- "淘宝双11购物狂欢节".小美打开早已收藏好的宝贝--某品牌的雪地靴,飞快的点击购买,付款,一回头发现3000双靴子已被抢购一空. 小美跳起来,大叫一声"欧耶!" 小美不知道,就在11日零点过后的这一分钟内,全国有342万人和她一起涌入淘宝商城.当然,她更不知道,此时此刻,在淘宝杭州的一间办

淘宝技术发展:分布式时代 服务化

中介交易 SEO诊断 淘宝客 云主机 技术大厅 在系统发展的过程中,架构师的眼光至关重要,作为程序员,把功能实现即可,但作为架构师,要考虑系统的扩展性.重用性,这种敏锐的感觉,有人说是一种代码洁癖.淘宝早期有几个架构师具备了这种感觉.一指开发的Webx是一个扩展性很强的框架,行癫在这个框架上插入了数据分库路由的模块.session框架等等.在做淘宝后台系统的时候,同样需要这几个模块,行癫指导我把这些模块单独打成了jar包.另外在做淘宝机票.彩票系统的时候,页面端也有很多东西需要复用,最直观的是页

淘宝网技术发展回顾(三):Oracle/支付宝/旺旺

中介交易 SEO诊断 淘宝客 云主机 技术大厅 Oracle/支付宝/旺旺 淘宝网作为个人网站发展的时间其实并不长,由于它太引人注目了,马云在2003年7月就宣布了这个是阿里巴巴旗下的网站,随后在市场上展开了很成功的运作.最著名的就是利用中小网站来做广告,突围eBay在门户网站上对淘宝的广告封锁.上网比较早的人应该还记得那些在右下角的弹窗和网站腰封上一闪一闪的广告.市场部那位到处花钱买广告的家伙,太能花钱了,一出手就是几百万,他被我们称为"大少爷". "大少爷"们做

《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件

        前面两篇文章介绍了淘宝的发展历程.Java时代的变迁和淘宝开始创新技术:            <淘宝技术这十年>读书笔记 (一).淘宝网技术简介及来源            <淘宝技术这十年>读书笔记 (二).Java时代的脱胎换骨和坚若磐石            <淘宝技术这十年>读书笔记 (三).创造技术TFS和Tair        这篇文章主要讲述分布式时代和中间件相关知识,包括服务化.HSF.Notify和TDDL.同时里面有我们经常遇见的编

《淘宝技术这十年》读书笔记 (三). 创造技术TFS和Tair

        前面两篇文章介绍了淘宝的发展历程和Java时代的变迁:             <淘宝技术这十年>读书笔记 (一).淘宝网技术简介及来源             <淘宝技术这十年>读书笔记 (二).Java时代的脱胎换骨和坚若磐石         马云说过"创新不是为了与对手竞争,而是跟明天竞争",所以这篇文章讲述淘宝的创新技术TFS和Tair及创新的产品.         该篇文章不仅仅对在读大学生非常有所帮助,因为你能从文章中看到很多你需要学

《淘宝技术这十年》读书笔记 (二).Java时代的脱胎换骨和坚若磐石

        马云说过"一个好的东西往往是是说不清楚的",姑且不论这句话的对与错.但我真的很佩服<淘宝技术这十年>这本书的作者子柳,能够通过淘宝的一些故事,按照时间顺序和IT发展的各种技术描述清楚,而且过程中读起来非常有意思.         该读书笔记中参杂了很多原文的知识,因为我实在无法割舍,都挺有意思的:同时记录一些有用的知识,通过这本书能介绍些学过的知识或面试中可能出现的题目及作者所思,文章还是非常有趣的,希望对大家有所帮助! 一. Java时代 脱胎换骨    

OneSDK与手机淘宝技术能力开放

该文章来自阿里巴巴技术协会(ATA)精选集  7月16日,阿里巴巴集团在杭州召开阿里百川无线开放大会,来自阿里巴巴的技术专家向与会观众介绍了百川无线开放背后的技术细节. 阿里百川阿里巴巴集团无线开放平台,为移动开发者(涵盖移动创业者)提供快速搭建APP.加速APP商业化.提升用户体验的解决方案.在阿里百川无线开放大会的技术专场,阿里技术专家分享了关于TAE 2.0.OpenIM.移动安全等方面的技术细节,InfoQ之前已对TAE和OpenIM的技术负责人做过采访,今天就让我们来了解一下阿里百川无

淘宝进村了!支付宝可以“赚钱”了!

摘要: 淘宝进村了!支付宝可以赚钱了! 前者暗示淘宝版图深入布局村级市场,后者则被传统金融业视为搅局者.看似风马牛不相及的业务,却在阿里集团得到和谐的统一. 事实上,从交易 淘宝进村了!支付宝可以"赚钱"了! 前者暗示淘宝版图深入布局村级市场,后者则被传统金融业视为"搅局者".看似"风马牛不相及"的业务,却在阿里集团得到和谐的统一. 事实上,从交易平台到支付平台,再到信用平台.金融平台,推崇太极文化的 马云 早年落下多枚棋子,当大数据时代来临,落

手机淘宝如能够加入"公众旺旺"功能,商业价值将提升数倍

创事记 作者:许维 手机淘宝如能够加入"公众旺旺"功能,商业价值将提升数倍.i天下网商主编 许维(原文有删减) 除了微信以外,还有没有哪款移动互联网产品具有和微信同等的商业价值呢?我觉得是手机淘宝.手机淘宝如果能够加入类似于微信公众帐号的"公众旺旺"功能,它的商业价值将会提升数倍. 什么是"公众旺旺"呢?简单的说,就是模仿微信的公众帐号,在手机淘宝里也做一个一模一样的公众号体系.每个卖家都可以开通一个公众旺旺,这个公众旺旺只能被添加,不能去添加消