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

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

 
阅读更多

转自:http://developer.51cto.com/art/201204/327050.htm
引言

光棍节的狂欢

“时间到,开抢!”坐在电脑前早已等待多时的小美一看时间已到2011年11月11日零时,便迫不及待地投身于淘宝商城一年一度的大型网购促销活动——“淘宝双11购物狂欢节”。小美打开早已收藏好的宝贝——某品牌的雪地靴,飞快的点击购买,付款,一回头发现3000双靴子已被抢购一空。

小美跳起来,大叫一声“欧耶!”

小美不知道,就在11日零点过后的这一分钟内,全国有342万人和她一起涌入淘宝商城。当然,她更不知道,此时此刻,在淘宝杭州的一间办公室里,灯火通明,这里是“战时指挥部”,淘宝技术部的一群工程师,正在紧盯着网站的流量和交易数据。白板上是他们刚刚下的注,赌谁能最准确地猜中流量峰值和全天的交易总额。他们的手边放着充足的食物和各类提神的饮料。

一阵急促的电话声响起来,是前线部门询问数据的,工程师大声报着:“第1分钟,进入淘宝商城的会员有342万”。过一会工程师主动拿起电话:“交易额超过1亿了,现在是第8分钟。”接下来,“第21分钟,刚突破2亿”。“第32分钟,3亿了”。“第1个小时,4.39亿”。这些数据随后出现在微博上,引起一片惊呼。

“完蛋了!”突然有人大喝一声,所有的眼睛都紧张的盯着他,只见他挠挠头,嘿嘿的笑道“我赌的少了,20亿轻松就能过了,我再加5亿”,他跑去白板边上把自己的赌注擦去,写上25,接下来有人写上28,有人写上30,有人跑到微博上开下盘口,同事们纷纷转载下注。接下来的这24个小时,战时指挥部的工程师们都不能休息,他们盯着网站的各种监控指标,适时的调整机器和增减功能。顶住第一波高峰之后,这些人开始忙里偷闲的给自己买东西,大家互相交流着哪家买的移动硬盘靠谱,哪家衣服适合自己的女朋友,不时的有人哀嚎宝贝被人抢了、信用卡额度不够了。同时,旁边白板上的赌注越下越大。

11月11日,这个棍子最多的日子被网民自我调侃的变成了一个节日——“光棍节”。而淘宝网又用疯狂的折扣促销给它赋予了另外一个意义——“购物狂欢节”。2011年11月11日这一天,淘宝商城与淘宝网交易额之和突破52亿,这个数字是“购物天堂”香港一天零售总额8.5亿的6倍。

网民感受到的是疯抢的喜悦,而网站的技术人员感受到的却是“压力山大”。就如同你家办酒席,宴请左邻右舍,这个办起来容易。倘若宴请十里八乡所有的人,吃饭的人自然开心,但却不是一般人家能够办得起来的。能办得起来如此盛宴者,需要强大的财力物力、组织能力、技术实力(例如做这么多菜,你的炒锅一定要是“分布式的”、“可复制的”、“可扩展的”,洗菜切菜要有“工作流引擎”,上菜的路径要用图论来计算出来,甚至连厨房的下水道都要重新设计)。

淘宝能够举办如此盛宴,网站的技术实力可见一斑。淘宝网拥有全国最大的hadoop分布式计算集群之一,日新增数据50TB,有40PB海量数据存储。分布在全国各地80多个节点的CDN网络,支持的流量超过800Gbps。淘宝的搜索引擎能够对数十亿的商品数据进行实时搜索,另外还拥有自主研发的文件存储系统和缓存系统,以及java中间件和消息中间件系统,这一切组成了一个庞大的电子商务操作系统。另外从商业数据上来看,AMAZON的财报显示2011年完成了大约 480亿美金的交易额,EBAY2011年财报全年完成了大约600亿美金的交易额(不包括其独立的汽车交易平台)。不管从交易额、商品数量、同比增速等指标上看,淘宝网均远超于此,是目前全球最大的电子商务平台。(由于淘宝非上市公司,未公布2011年业绩,以上内容来自淘宝网技术副总裁@_行癫 的微博)

以上这些技术数据可能已经让一些同学产生不适的感觉,为了让更多的人读懂这本书,我们从技术的角度来看,小美访问淘宝网的时候,网站上发生了什么事情。下参考资料:《你刚才在淘宝上买了一件东西【技术普及帖】》,来自南京邮电大学孙放同学

为了有个更直观的对比,我们说一个同行,他在2011年光棍节之前做促销,流量上去之后,达到12Gbps(他们有这么大的流量,老板很高兴,在微 博上面说了这个数据),这时候流量达到了极限,网站几乎挂掉,用户无法下订单。而淘宝网光棍节当天网络的流量最高达到800多Gbps,带给各家银行和快 递公司的流量也让他们压力山大,如临大敌(后来,他们以能够撑住淘宝带来的流量为荣而到处宣传)。另外如果你在网上购买过火车票的话,更能体会到网站能支 持多大的流量有多重要。但这不是一朝一夕做出来的,也不是有钱就能办到的。

以上对比的这些网站,也许读者很容易就猜到是哪一家,这里拿出来作对比,绝对没有嘲笑人家的意思,采用通常的网站技术方案,能做到这种程度已经不错 了。任何网站的发展都不是一蹴而就的,在什么样的阶段采用什么样的技术。在发展的过程中网站会遇到各种各样的问题和业务带来的压力,正是这些原因才推动着 技术的进步和发展,而技术的发展又会反过来促进业务的更大提升。二者互为因果,相互促进。如今淘宝网的流量已经是全球排名第12、国内排名第3(美国的 ebay全球排名23,国内前两名是百度和腾讯)。淘宝网的系统也从使用一台服务器,到采用万台以上的服务器。本书就为大家描述淘宝网在整个发展过程中, 所有的主动和被动的技术变革的前因后果,这由很多有趣的故事组成。

正如同很多人或组织成功了以后,就会为自己的出身编造一个美丽的传说。淘宝网的出身,网上也有非常多的传说,下面我们就从它的出生开始讲起。

分享到:
评论

相关推荐

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

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

    opencart教程二

    不错的opencart学习资源,国内少有

    opencart教程

    opencart教程

    google地图的url参数

    这篇文档主要用来详细的说明谷歌地图调用的各种参数

    电影票房.csv

    电影票房

    ASP.NET技术在网站开发设计中的研究与开发(论文+源代码+开题报告)【ASP】.zip

    ASP.NET技术在网站开发设计中的研究与开发(论文+源代码+开题报告)【ASP】

    WebShell-Password.txt

    WebShell-Password

    基于 Unet++ 对自动驾驶车道线分割实战【包含数据集、完整代码、训练好的结果】

    基于 UnetPlusPlus 网络自动驾驶车道线分割实战 代码均为手写,全网无重复,训练自己数据很简单,只需要摆放好数据即可,具体参考README文件,小白均可使用 代码详细介绍:https://blog.csdn.net/qq_44886601/article/details/138858574 数据集:自动驾驶车道线分割(2类别,约3200张数据和标注图像) 网络仅仅测试30个epoch,全局像素点的准确度达到0.995,精确度为0.907,召回率为0.908,dice为0.91,训练epoch加大的话,性能还会更加优越! 代码介绍: 训练过程提供了多种优化器选择(Adam、SGD、RMSProp),损失函数采用BCE 逻辑损失,学习率的衰减提供了常规恒定lr、余弦退火算法、以及step学习率衰减。可以自行选择 【训练过程会生成最好和最后一个权重,以及数据预处理完的可视化效果图、dice、loss曲线、训练日志等等】

    asp.net某公司员工管理系统的设计与实现(源代码+论文)【ASP】.zip

    asp.net某公司员工管理系统的设计与实现(源代码+论文)【ASP】

    grpcio-1.16.0-cp36-cp36m-macosx_10_7_intel.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.20.0-cp34-cp34m-manylinux1_i686.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于Java的个人理财管理系统(源码+论文+需求分析+数据库文件+演示视频).zip

    随着社会的发展,人们的生活水平的不断提高,人们在理财投资方面,已经有着很高的认识度了。人们的管理生活已经离不开网络。未来社会人们的生活和管理将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。 本设计尝试用JSP在网络上架构一个投资理财管理系统,本文从理论和实践两个角度出发,对一个具有数据挖掘功能投资理财管理系统进行设计与实现分析。论文首先较为详尽地介绍了管理课程的有关概念与知识,特别介绍了相关延伸表现形式,本统系统是运用JSP技术来实现的。其主要功能有:系统用户管理,收入记录, 支出记录,财产查询,还贷助手,储蓄提醒等。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。

    毕设新项目-基于图像处理的喷码缺陷检测python源码+详细项目说明+模型+数据集.zip

    毕设新项目-基于图像处理的喷码缺陷检测python源码+详细项目说明+模型+数据集.zip 【项目介绍】 瑕疵 在喷码位置确定一视野范围,以正常喷码样品视野内黑色面积为标准 * 漏喷 黑色覆盖面积小于正常喷码 * 喷码偏移 喷码超视野范围,视野内覆盖面积达不到标准要求 * 喷码模糊 * 字符缺失 采用OCR(光学字符识别技术)对喷码内容进行提取,和预定字符进行对比 * 打花 基于目标检测方案(找到每一个字符的位置及其所属类别,然后判断字符是否存在缺陷) (1)两阶段算法——基于候选区域 R-CNN,Faster R-CNN,先利用某些候选区域方法产生目标候选框,再判断候选框是否包含要检测的目标(检测效果好,尤其在小目标检测方面,但是速度相比一阶算法慢很多) 更多见项目说明!!! 【优质项目推荐】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 2.项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。

    在准备618节日相关的IT资源的建议

    在准备618节日相关的IT资源的建议

    ASP+ACCESS订单管理系统设计(论文+源代码+任务书)【ASP】.zip

    ASP+ACCESS订单管理系统设计(论文+源代码+任务书)【ASP】

    asp+ACCESS酒店房间预约系统设计(源代码+论文)【ASP】.zip

    asp+ACCESS酒店房间预约系统设计(源代码+论文)【ASP】

    ASP.NET某店积分更新记录管理(源代码+论文)【ASP】.zip

    ASP.NET某店积分更新记录管理(源代码+论文)【ASP】

    静态链接器 vs. 动态链接器:选择合适的链接方式"

    链接器 二、链接器主要任务: GNU ld(链接器)是用于将多个目标文件(包括目标文件、共享库、目标文件的归档文件等)合并成一个可执行文件或共享库的重要工具。它的主要功能包括:符号解析和重定位:链接器识别并解析输入文件中的符号引用,然后执行重定位操作以确保这些引用指向正确的地址。这包括将模块中的符号引用与其定义进行匹配,以便在合并时连接它们。 合并输入文件:链接器将多个输入文件中的代码段、数据段等模块合并成一个单一的地址空间。这包括将不同模块中的代码和数据安排到正确的内存地址中。 生成输出文件:链接器将合并的模块和符号表等信息写入输出文件中,该输出文件可以是可执行文件、共享库、目标文件等,具体类型取决于链接器的参数和配置。 符号表处理:链接器生成输出文件的符号表,其中包含了可供调试和动态链接器使用的符号信息。 处理重定位信息:如果存在重定位信息,链接器将生成重定位表,用于在加载时修正代码和数据的地址。这使得程序可以在不同的内存地址上运行。 处理链接器脚本:链接器可以根据链接器脚本(linker script)中的规则和指令来组织和排列模块,以满足特定需求。链接器脚本可以

    操作系统实验三银行家算法.docx

    操作系统实验三银行家算法

    基于ASP网络办公OA系统设计(论文+源代码+开题报告+答辩PPT)【ASP】.zip

    基于ASP网络办公OA系统设计(论文+源代码+开题报告+答辩PPT)【ASP】

Global site tag (gtag.js) - Google Analytics