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

news/2024/5/12 7:55:13/文章来源:https://blog.csdn.net/thinkscape/article/details/7483863

FROM:

http://developer.51cto.com/art/201204/327050_2.htm



从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢?在这篇文章里我们将找到淘宝网的发展历史以及所用到的技术。

AD:

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的东西都很贵,我们买不起,于是多隆在网上寻寻觅觅,找到一个开源的连接池代理服务SQL Relay( http://sourceforge.jp/projects/freshmeat_sqlrelay ),这个东西能够提供连接池的功能,多隆对它进行了一些功能改进之后就拿来用了。这样系统的架构就变成了如下的样子:

 

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

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


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

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

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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_852328.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

FROM: http://developer.51cto.com/art/201204/327050_3.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢?在这篇…

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

FROM: http://developer.51cto.com/art/201204/327050_4.htm?1334978897 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#…

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

FROM: http://developer.51cto.com/art/201204/327050_5.htm 从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长。那么在这段时间里,淘宝究竟是如何发展的呢&#x…

爬动漫网站数据_通过这三种动漫爱上数据科学和技术

爬动漫网站数据Yes, it might seem weird to mention anime, data science, and technology in the same breath. But you might be surprised to learn that there’s quite a deep connection across these domains. I am interested in all three (along with reading, list…

网站文件下载代码

效果图&#xff1a; 页面视图代码&#xff1a; <div style"float: right; padding-right: 5px;">Excel模板&#xff1a;Html.ActionLink("下载模版.xls", "GetFile") </div> 控制器代码&#xff1a; //下载模板public FileResult Ge…

【闲趣】CSDN RSS订阅:将你的博客订阅至个人网站

文章目录引言RSS是什么将CSDN博客订阅至我的网站将【知乎每日精选】订阅到我的网站我不是程序员&#xff0c;我怎么订阅RSS订阅地址RSS订阅器RSS实战&#xff1a;Outlook订阅CSDN引言 在翻阅个人文章的时候发现了个不起眼的东西&#xff0c;我好像在别的地方也见过这个标识。 …

英语老师不想让你知道的一些网站

1、练习听力美国国家公共广播电台NPR&#xff1a;http://www.npr.org/特点&#xff1a;标准美式英语。建议&#xff1a;每天花三十分钟左右&#xff0c;反复听英语广播&#xff0c;这是听力过关的必经之路。点击网页中左边“BROWSE TOPICS”下面的“News”选项。选择自己有兴趣…

Java开源建站工具

美国程序员Jon Scott Stevens&#xff0c;公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java&#xff0c;开发项目是一个网站&#xff08;还未上线&#xff09;。所用到的工具都是开源的&#xff0c;可以免费得到。 在目前的创业者之中&#xff0c;用Java作为网站…

如何利用云服务器搭建个人网站

你是否想要搭建一个网站&#xff0c;却苦苦找不到方法&#xff0c;你是否看到别人搭建的网站&#xff0c;自己羡慕不已&#xff0c;今天&#xff0c;就教大家来搭建一个简单的个人网站。 在这里&#xff0c;我采用的是腾讯云服务器搭建的。首先&#xff0c;需要注册腾讯云账号&…

微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题

做微信营销活动&#xff0c;域名没被封过&#xff0c;那你的营销人生肯定是不完整的。如果做到微信域名防封呢&#xff1f;这就要借助一些工具来实现有效的防封措施了。 第一步 你需要有一个微信域名检测接口&#xff0c;自己开发或是购买都可以。 第二步 配置你的程序&#xf…

【Vue项目心得笔记】电商网站的“面包屑”

标题说的“面包屑”是下图所示的小方块&#xff0c;可以方便的筛选用户需要的物品的各种属性。 利用vue设计出这种面包屑需要很多的请求 面包屑包括在主页全部商品分类点击的面包屑&#xff0c;输入关键字产生的面包屑&#xff0c;点击下方品牌产生的面包屑&#xff0c;还有点…

在阿里云服务器上使用Nginx部署https协议的网站

前写过一篇文章是在阿里云服务器上用Apache切换https协议&#xff1a;将博客迁移阿里云并且切换成https解析的过程 这一次&#xff0c;换成使用Nginx来部署&#xff0c;相比之下&#xff0c;比Apache的配置要简单一些 如何申请SSL证书就按下不表了&#xff0c;非常简单&#xf…

安卓如何将edittext获取到数子传到另一个页面处理_白杨SEO:网站聚合页面是什么、好处及怎么做?重复页怎么处理?【收藏】...

前言&#xff1a; 这是白杨SEO公众号原创第 118 篇。为什么想到写这个呢&#xff0c;在上周星期天&#xff08;12.22日&#xff09;白杨SEO年终线下交流沙龙中有嘉宾提到这个聚合页面&#xff0c;看很多新人不太懂&#xff0c;所以这篇就来写写哈~说明下&#xff0c;大家都知道…

jquery set长度_从零做网站开发:基于Flask和JQuery,实现表格管理平台

摘要&#xff1a;本文将为大家带来基于Flask框架和JQuery实现管理平台网站的开发功能。【写在前面】你要开发网站&#xff1f; 嗯。。会Flask吗&#xff1f; 什么东西&#xff0c;没听过。。。会JQuery吗&#xff1f; 是python的库吗 &#xff1f;那你会什么&#xff1f; 我会F…

如何让传统ASP.NET网站在Docker中运行

本文主要描述如何让传统ASP.NET网站在Docker中运行&#xff0c;侧重Docker image 搭建。 使用条件&#xff1a; Docker for windows 用户切换到Windows 容器模式Windows Server 2016 用户 开启 Windows Container 关于Docker for windows&#xff0c;nanoserver,Windows Cont…

Scrapy爬取图片网站——最详细的入门爬虫教程,新手入门干货,不进来看一下?

开始前准备 这次爬虫使用scrapy&#xff0c;所以用到的工具必然是python3.7&#xff0c;scrapy&#xff0c;pycharm这些东西&#xff0c; 目标网站&#xff1a;http://pic.netbian.com 彼岸图网&#xff0c;个人非常喜欢的图片网站&#xff0c;完全公开免费&#xff0c;几乎没…

天猫浏览型应用的CDN静态化架构演变(大型网站架构篇)(转)

转自&#xff1a;http://www.iteye.com/news/28732-CDN-Architecture-Tmall在天猫双11活动中&#xff0c;商品详情、店铺等浏览型系统&#xff0c;通常会承受超出日常数倍甚至数十倍的流量冲击。随着历年来双11流量的大幅增加&#xff0c;每年这些浏览型系统都要面临容量评估、…

大型网站架构演化(转)

《大型网站技术架构》读书笔记&#xff1a;1.1大型网站软件系统的特点与传统企业应用系统相比&#xff0c;大型互联网应用系统有以下特点。高并发&#xff0c;大流量高可用海量数据用户分布广泛&#xff0c;网络情况复杂安全环境恶劣需求快速变更&#xff0c;发布频繁渐进式发展…

高访问量高性能高可扩展性网站架构(概括性理论)(转)

转自&#xff1a;http://www.iteye.com/news/29730 摘要&#xff1a;随着数据暴增&#xff0c;单服务器开始疲于应对海量用户的访问。自本期《问底》&#xff0c;徐汉彬将带大家开启异地跨集群分布式系统打造&#xff0c;本次关注的重点则是架构从单机到分布式集群的转变。 Web…

第四天 网站、数据库、系统等基本知识

网站分类 根据所用编程语言分&#xff1a;asp网站、PHP网站、jsp网站、asp.net网站等 根据网站用途分&#xff1a;门户网站&#xff08;综合网站&#xff09;、行业网站、娱乐网站等 根据网站功能分&#xff1a;单一网站&#xff08;企业网站&#xff09;、多功能网站&#…