淘宝网拥有全国最大的Hadoop分布式计算集群之一(2000多个节点,CPU:24000 core,Memory:48000GB,Disk:
24000块),日新增数据50TB,有40PB海量数据存储,分布在全国各地80多个节点的CDN网络,支撑的流量超过800Gbps。淘宝的搜索引擎能够对数十亿的商品数据进行实时搜索,另外,还拥有自主研发的文件存储系统和缓存系统,以及Java中间件和消息中间件系统,这一切组成了一个庞大的电子商务操作系统
PV Page View 页面访问量 点击量 PV之于网站,就像收视率之于电视
淘宝网全网在平日(非促销期间)的PV大概是16~25亿个之间
UV Unique Visitor 用户访问 访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
TB PB
好的架构是进化来的,不是设计来的好的功能也是进化来的,不是设计来的
MVC框架是阿里的WebX,控制层用了Spring,持久层是ibatis。
IOE IBM的小型机、Oracle的数据库、EMC的存储 日均4千多万个PV
除了搜索引擎、分库分表,还有什么办法能提升系统的性能?一定还有
招数可以用,这就是缓存和CDN(内容分发网络)
ChinaCache是中国第一的专业CDN服务提供商,向客户提供全方位网络内容快速分布解决方案。作为首家获信产部许可的CDN服务提供商,目前ChinaCache在全国50多个大中城市拥有近300个节点,全网处理能力超过500Gbps,其
CDN网络覆盖中国电信、中国网通、中国移动、中国联通、中国铁通和中国教育科研网等各大运营商
又在研究低功耗的服务器
我们对数据分库、放弃EJB、引入Spring、加入缓存、加入CDN等工作
Google走在了前面,2007年,他们公布了GFS(Google FileSystem)的设计论文,这给我们带来了很多借鉴的思路。随后我们开发出了适合淘宝使用的图片存储系统(TaoBao File System,TFS)
2007年6月,TFS正式上线运营。在生产环境中应用的集群规模达到了200台PC Server(146GB×6 SAS 15KB Raid5),文件数量达到上亿级别;系统部署存储容量为140TB;实际使用存储容量为50TB;单台支持随机IOPS 200+,流量为3MB/s。
Nginx是目前性能最高的HTTP服务器(用户空间)
memcached 分布式缓存
TFS
Tair支撑了淘宝几乎所有系统的缓存信息。Tair已开
源,地址为code.taobao.org。
把淘宝所有的业务都模块化,这是继2004年从LAMP架构到Java架构之后的第二次脱胎换骨。我们对这个项目取了一个很霸气的名字——“五彩石”(女娲炼石补天用的石头)。这个系统重构的工作非常惊险,有人称为“给一架高速飞行的飞机换发动机”。
拆分之后的系统如何通信?这里需要两种中间件系统,一种是实时调用的中间件(淘宝的HSF,高性能服务框架),一种是异步消息通知的中间件(淘宝的Notify)。另外,一个需要解决的问题是用户在A系统登录后,到B系统的时候,用户的登录信息怎么保存?这又涉及一个Session框架。再者,还有一个软件工程方面的问题,这么多层的一套系统,怎么去测试它?
集群、分工、负载均衡、根据QoS分配资源等。
集群:所有的收银员提供的都是收银功能,无论顾客到哪一个收银员面前,都可完成付款,可以认为所有的收银员
就构成了一个集群,都希望能做到顾客增加的时候只需增加收银员就行。在现实生活中有场地的限制,而在互联网
应用中,能否集群化还受限于应用在水平伸缩上的支撑程度,而集群的规模通常会受限于调度、数据库、机房等。
分工:收银员和打扫卫生的人分开,这种分工容易解决,而这种分工在互联网中是一项重要而复杂的技术,没有现
实生活中这么简单,涉及的主要有按功能和数据库的不同拆分系统等,如何拆分以及拆分后如何交互是需要面临的
两个挑战。因此,会有高性能通信框架、SOA平台、消息中间件、分布式数据层等基础产品的诞生。
负载均衡:让每个收银台排队差不多长,设立小件通道、团购通道、VIP通道等,这些可以认为都是集群带来的负载均衡的问题,从技术层面上说,实现起来自然比生活中复杂很多。
根据QoS分配资源:部分员工仅在晚上上班的机制要在现实生活中做到不难,而对互联网应用而言,就是一件复杂而且极具挑战的事。
HSF系统
Notify
Session框架
解决集群Session共享的问题,通常有以下两种办法。
1> 硬件负载,将用户请求分发到特定的服务器。
2> Session复制,就是将用户的Session复制到集群内所有的服务器。
这两种方法的弊端也很明显:
1> 成本较高。
2> 性能差。当访问量增大的时候,带宽增大,而且随着机器数量的增加,网络负担成指数级上升,不具备高度可扩展
性,性能随着服务器数量的增加急剧下降,而且容易引起广播风暴。
简单地说,就是要么用客户端Cookie来解决问题,要不用服务端的集中缓存区(Tair)的Session来解决登录问题。Tair已在前文介绍过,Session对它的使用就不再描述了。
为什么这里还要提到用Cookie这种比较“落伍”的方式呢?
其实是因为在淘宝3.0版本以前,我们一直都用Cookie来识别用户,Cookie是放在客户端的,每一次HTTP请求都要提交到服务端,在访问量比较小的时候,采用Cookie避免了Session复制、硬件负载等高成本的情况。但随着用户访问规模的提高,我们可以折算一下,一个Cookie大概是2KB的数据,也就是说,一次请求要提交到服务器的数据是网页请求数据,再加上2KB的Cookie,当有上亿个请求的时候,Cookie所带来的流量已经非常可观了,
而且网络流量的成本也越来越高。于是在3.0版本中,我们采用了集中式的缓存区的Session方式。
开放平台
普通工程师跟着业务跑,来啥需求做啥事;文艺工程师专注于自己的领域,研究得非常精深;2B工程师跳来跳去,啥都干,啥都浅尝辄止;还有一种工程师叫牛B工程师,啥都能干,啥都精通(这种人在工程师心中叫“神”)
分享到:
相关推荐
淘宝技术这十年积分最低 《淘宝技术这十年》是电子工业出版社2013年5月出版的图书,由子柳编著。本书从工程师的角度讲述淘宝这个超大规模互联网系统的成长历程,及其所有主动和被动的技术变革的前因后果。书中有幕后...
淘宝技术这十年这本书,有助于了解淘宝的技术发展,适用于开发人员以及有兴趣人员阅读。
淘宝技术这10年PDF高清完整版 淘宝技术这10年PDF高清完整版
《淘宝技术那十年》这本书详述了淘宝在技术领域中长达十年的发展历程,这是一部由一位资深技术人亲历并讲述的故事。通过书中的五个章节,我们可以深入理解淘宝如何从一个初创电商平台逐步成长为国内乃至全球的电商...
《淘宝技术这十年》内容简介:任何网站的发展都不是一蹴而就的。它在发展过程中会遇到各种各样的问题和业务带来的压力。正是这些问题和压力推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。如今...
《阿里图册-手册-技术十年》集合了阿里巴巴集团过去十年在信息技术领域的探索与实践,是深入了解阿里技术生态的重要参考资料。这份压缩包包含了四份关键文档,分别关注研发、算法、淘宝技术历程以及Java开发规范。 ...
### 淘宝技术十年发展史 #### 一、引言:从光棍节到购物狂欢节 2011年11月11日,一个由网民自嘲的“光棍节”演变而成的“购物狂欢节”。这一天,淘宝商城与淘宝网的总交易额突破52亿元人民币,相当于香港一天零售...
淘宝网是亚太地区较大的网络零售、商圈,由阿里巴巴集团在2003年5月创立。淘宝网是中国深受欢迎的网购零售平台,拥有近5亿的注册用户数,每天有超过6000万的固定访客,同时每天的在线商品数已经超过了8亿件,平均每...
2. **淘宝技术这十年** - 这部分内容可能讲述了淘宝作为一个大型电商平台在技术上的演进历程,包括系统架构的变迁、面对的挑战以及解决之道。可能会涉及高并发处理、数据存储、缓存策略、微服务化等关键话题。 3. *...
从2011年的“淘宝双11购物狂欢节”中,我们可以看到淘宝在技术实力上的卓越表现。面对短时间内激增的流量,淘宝的技术团队能够有效地应对,确保系统的稳定运行,这背后涉及到一系列先进的技术和策略。 首先,淘宝...
【标签】"淘宝 技术类 10年"进一步明确了这是淘宝公司在十年前的技术招聘考试,反映了当时互联网行业对技术人才的需求和技术热点。10年前,电子商务正处于快速发展阶段,因此,可能涉及到的技术点可能包括Web开发...
从2011年的“双11购物狂欢节”可以看出,淘宝面对的流量压力巨大,一分钟内就有342万人同时在线,这对其技术架构提出了极高的要求。淘宝的技术团队需要在短时间内处理大量并发请求,保证交易的稳定性和系统的可用性...
《尽在双11:阿里巴巴技术演进与超越.pdf》和《淘宝技术这十年.pdf》是阿里巴巴集团的技术发展历程,其中很可能深入探讨了Java在支撑每年双十一购物节等高并发场景下的关键角色,以及技术团队如何不断优化和升级Java...
淘宝,这个在中国电子商务领域具有里程碑意义的名字,自2021年成立以来,经历了十年风雨,逐渐从一个小型C2C平台发展成一个涵盖B2C、C2C、搜索引擎等多种业务的综合网络零售商圈。这十年间,淘宝见证了中国电商行业...
在2011年的“双十一”购物狂欢节中,淘宝技术部承受了巨大的压力,应对了海量用户的涌入和交易高峰。这个事件展示了淘宝在技术上的强大实力。 一、Java时代的脱胎换骨 淘宝早期的技术架构主要依赖Oracle数据库、...