阿里研究员蒋江伟:双十一背后的分布式技术

2016阿里技术论坛于4月15日在清华大学举办,主旨是阐述阿里对世界创新做出的贡献。阿里巴巴集团技术委员会主席王坚,阿里巴巴集团首席技术官(CTO)张建锋(花名:行癫),阿里巴巴集团首席风险官(CRO)刘振飞(花名:振飞),蚂蚁金服首席技术官(CTO)程立(花名:鲁肃)以及来自阿里巴巴集团各部门多位技术大咖齐聚一堂,与莘莘学子分享阿里的技术梦想。

在下午的《电商技术:零到三万亿,从未停止的技术创新》分论坛上,阿里巴巴研究员蒋江伟(花名:小邪)发表了题为《零点之战,双十一背后的分布式技术》的演讲。

以下为演讲实录:

我的分享有两个部分,一是阿里技术部的发展过程,二是跟“双十一”技术相关的情况。

2008年,当时淘宝跟淘宝商城的体系是分开的,包括商品、交易、营销以及店铺等。那时候我们在维护一个庞大的系统,代码以及各种各样的问题严重制约了整个技术的发展。在这个背景情况下,我们做了分布式化的改造。

这对于技术有非常明显的帮助。举个例子,我们数据库,小到做变更,大到数据库重新选型,都可以做到比较透明。如果没有抽离出共享服务层,那这个事情的变更是难以想象的,现在我们在基础技术上去做大量的创新工作,但是上层的业务系统根本不需要去修改任何的代码。所以一个是技术上面的创新,一个是业务上面效率带来了非常正向的变化。

整个架构就变化了。原来是一个应用,它从应用到数据做完之后就变成这样了(如图),这个只是0.1版本,是用来教学用的。但是到现在已经没有办法学了,已经超过几千个系统,已经画不下的这么一个场景。

那么做一个比较大的分布式的架构需要哪些技术?第一个阿里巴巴,还要下APS,还要下筛选,还有服务框架,还有做数据的治理,另外还有我们的应用软件,还有我们的开发框架,最下面可能就是一个存储,非常重要的就是存储,很多的数据都是加入到了缓和里面。比如现在访问淘宝,经常被访问的会员的数据和商品的数据都是放在缓存的。还有文件系统,这些图片存在在系统里面,这个规模也是非常大,在全国也是非常大的一个文件系统。还有阿里的关系数据库,我们通过TDDL对数据做了分库分表,还有我们利用消息中间件解决异步流程,解决数据最终一致性的问题。通过这7个中间件的产品,构成了整个阿里技术体系的分布式架构。使得我们的工程师在开发我们系统的时候,开发一个单机版的程序一样简单。

刚才讲到的是分布式技术上的呈现,其实使用了分布式技术之后,直接带来的影响就是让我们整个扩展性得到了非常大的提升,同时,从原来的商用的体系里面变成了分布式体系之后,成本下降也非常明显。

哪些技术在“双十一”诞生的?“双十一”它是一个对于工程师来说,就像是面临高考,在座的可能就考过一次高考,我们工程师每年都要做高考,考砸了跟各位是一样的,都是非常严重。

总共7年的“双十一”下来,没有出过大的问题。差不多2年的时间整个技术体系有一些沉淀。2009年—2010年,还是懵懵懂懂的过程,基本没有出现什么问题,工程师都没有特别的感知。

但是也有一些小问题,我了解到当时最大的问题就是图片,图片由于CDN的容量到了,我们做了一件事情就是把淘宝上部分商品的最后一些图片不做显示。第二个事情,因为刚才前面讲到2008年中后期做了改造之后,整个系统全部分布式之后,系统的规模速度增加,一个是系统的数量增加,导致了整个系统的逻辑,或者说整个依赖关系已经没法用工程师的视角归置和梳理出来, 做了一个工具用来治理系统之间依赖的关系,流量,强弱。

2011年、2012年的时候192亿、370几亿,这个时候对整个交易系统的挑战非常大了。所以主要是做了整个扩容,整个容量扩大的非常快。在这之前,我们讲“双十一”最大的挑战有两个。第一个是怎么评估容量,系统能支撑多少容量,这个容量的评估那时候开始做了。第二个,一代治理,容量规划,就是说做了这些事情,其实表现得并不好,在2011年、2012年的时候前面30分钟还是出现了不少问题,突然间购物车商品被删除掉了,或者说下单的时候红包没有用,各种各样的问题。出现这些问题之后,引进了下一代技术,比如说我们做了自动化数据订正系统。

2013年、2014年有了一个先进的技术,刚才我们在视频有提到,在“双十一”之前都是在做这个事情,它是一个容量规划的新的高度。原来我们在之前做容量评估的时候,我们评估每个系统的容量怎么评估呢?通过引流,当前用户,我们把用户的流量集中在一个上面,看一下应用,当你流量不断上涨的时候你的表现情况是什么样的,我们的CPU,还有我们的内存等等。当它出现拐点的时候,我们把这些值给记录下来,这样的话就知道系统的容量。这种办法非常准确,但是有一个问题,因为你系统的量非常大,即使参与整个“双十一”的系统,我预估,因为我搞不清楚到底有多少,预估有几百个系统,直接参与“双十一”交易,就是航天飞机的零件,如果一个零件发生问题,整个就会毁掉。

在“双十一”之前我们做了这么一个事情,它是按照正完全真实的场景,全部动用现在的服务器,然后去模拟“双十一”当天可能会产生的用户行为,系统、服务器,还有真实的逻辑去做压测。与原来的压测方式相比它有几个比较好的地方,第一个原来的方式是真实的流量,但是实际情况是促销的时候,“双十一”大促的时候,它的流量跟平时的模型是不一样的,平时的路径我们是通过搜索或者翻页,“双十一”肯定不是这样的,“双十一”肯定就是所有的东西都加到购物车里面了,这个时候我很少再去做搜索或者再去下单,甚至有一些借助浏览器工具怎么样更快的抢到一些东西,模型是不一样的,但是我们需要模拟出当时的场景。总结一下我们需要这样一个技术:第一是做了一些根据业务场景做模拟的能力,第二个它能够产生巨大的流量,这个巨大的流量能够把我们整个集群,超过几十万台的流量全部压满,然后我们给那个服务器加上新的服务器,然后我们再来做,把所有服务器的流量拉平。

还有一个事情我们做了BCP防资损对账,这个产品做完之,如果出现问题会被秒级发现。刚开始做BCP的时候,我自己觉得意义不是非常大,因为我觉得如果是所有的代码是工程师写的,我认为只要经过测试上线的系统,逻辑肯定是不会出问题。感觉意义不是非常大,但是没有拒绝做这件事情。 后来做出来之后发现这个事情还是非常有意义,原因是什么?我们系统出现异常的流程会导致我们的数据出现异常。比如说我讲“双十一”的时候,突然因为我的优惠券没有使用,这时候就会发现,所以在2013年2014年的时候,整个交易额到了570几亿,但是整个表现已经非常好了,就是这个表现跟我们行业内的其他公司不一样,无论从数据上,体验流畅上面都要远远超于同行。

2015年的时候,我们达到了912亿的交易额,整个体验也是非常不错,但是我们遇到了新的挑战,为了支撑这912亿之后我们大量的计算,但是过了这一天之后,本来非常繁忙的变成非常空闲,这个成本浪费是非常大的。不过不用担心,因为利用阿里云计算,所以可以非常好的解决弹性的问题。

后面介绍一个整个阿里的文化。我们是开源项目最多的,比如说2015年开源了65个项目,还有高含量的项目18个,还有一些在国内都是非常知名的一些开源项目,这些项目都是由阿里巴巴的工程师,可能是在工作中的一些沉淀,或者说业余的时间来贡献力量。在阿里直接参与开源操作有300多人,这是开源的文化。

欢迎扫码关注,更多技术分享。

时间: 2024-08-12 01:09:46

阿里研究员蒋江伟:双十一背后的分布式技术的相关文章

阿里中间件蒋江伟(小邪)谈RocketMQ开源:感恩社区

RocketMQ开源 昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache.孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样的: 然而事实上,群众的反应是这样的 今天,特别邀请到阿里巴巴中间件(Aliware)技术研究员蒋江伟(花名:小邪)跟大家分享一下RocketMQ开源的前世今生. Q:能否简单介绍下RocketMQ的历史 A:早在2007年,阿里巴巴中间件团队就自主研发了Notify消息中间件,

【干货】零点之战——双十一背后的分布式技术

技术分享视频一 技术分享视频二 零点之战:双十一背后的分布式技术 共享业务的价值 数千应用.亿行Java代码.数十万运行实例 数千Java工程师与专家 24*7 服务亿级用户.每天数千万笔交易 阿里电商分布式技术发展 阿里通过五彩石项目对淘宝和天猫进行了分布式化改造,将业务进行打通与拆分,形成共享服务. 如上图所示,分布式的共享服务支撑着集团大量的业务,保证业务能提供优良的用户体验. 上图复杂的业务场景只是阿里电商业务的冰山一角. 双11的意义与挑战 双11大促的意义 日交易额从09年的5.9亿

历届双十一背后的技术合集大礼包(陆续更新ing)

双十一后,我们在不断收获惊喜的同时,小编也为大家准备了一份"历届双十一背后技术大起底"礼包!~ 2016年 2016阿里云数据库双11复盘-自动化备战,0干预 聊一聊双十一背后的技术 - 不一样的秒杀技术, 裸秒 聊一聊双十一背后的技术 - 物流, 动态路径规划 聊一聊双十一背后的技术 - 分词和搜索 聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度 道哥揭秘 | 双十一背后的安全战斗力 解密阿里云Redis助力双十一背后的技术 Weex:一个志在满足万物互联的移动端技术解

嘘,别声张!阿里研究员的书单被我“偷”来了

技术大牛会看哪些书,网上有不少推荐. 那,技术大牛中的大牛呢?他们关注什么领域?会看什么书?想必大家都很好奇. 上周五和今天,笔者把阿里的这些大牛都"骚扰"了一番.他们层级非常高,数量很少,均是阿里的研究员,负责各自领域的技术方向和决策. 这些技术领域的弄潮者,很罕有地给出了他们心中最有份量或近来手中在读的书单.书单有的文艺气息十足,有的很技术范:有的大牛推荐了十几本,而有的只推荐了一本. 然而,不管类型繁与简.书籍多与少,所呈现的均是一种视角.再加上,阅读是一件很私密的事情,通过书单

【揭秘】阿里资深专家:支撑双十一千万级流量的阿里技术到底有多牛

与阿里技术共同成长的八年 --专访阿里巴巴资深技术专家沈询 在阿里巴巴,源于崇尚武侠文化的传统,员工入职时都会选择一个武侠小说人物名字作为自己的花名.王晶昱选择了沈询.沈洵,在沧月的小说<剑歌>里,是名三十而立的剑客,身着一袭白衣,从容不迫,风度翩翩.今年正好是王晶昱三十岁,也是他入职阿里的第八年. 5月26日晚,沈公子主讲的<零点之战,双十一背后的分布式技术>在华南理工大学开讲,仅有一百个座位的会议室挤满了慕名而来的近四百名学生.在台下,他笑容和煦,耐心地解答同学的提问,与邻家大

聊一聊双十一背后的技术 - 分词和搜索

双十一背后的技术系列文章 <聊一聊双十一背后的技术 - 物流, 动态路径规划> <聊一聊双十一背后的技术 - 分词和搜索> <聊一聊双十一背后的技术 - 强奸式秒杀技术实现> <聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度> 云栖聚能聊 - 聊一聊双十一背后的数据库技术 标签 PostgreSQL , 分词 , 全文索引 , rum , 搜索引擎 , 双十一 , tsvector , tsquery 背景 2016双十一刚过,大伙还在忙着收快

聊一聊双十一背后的技术 - 物流, 动态路径规划

双十一背后的技术系列文章 <聊一聊双十一背后的技术 - 物流, 动态路径规划> <聊一聊双十一背后的技术 - 分词和搜索> <聊一聊双十一背后的技术 - 强奸式秒杀技术实现> <聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度> 云栖聚能聊 - 聊一聊双十一背后的数据库技术 标签 PostgreSQL , 物流 , 路径规划 , LBS , PostGIS , Greenplum , 最短路径 , 双十一 , 地理位置信息 , 快递 , 菜鸟物流

聊一聊双十一背后的技术 - 不一样的秒杀技术, 裸秒

聊一聊双十一背后的技术 - 不一样的秒杀技术, 裸秒 作者 digoal 日期 2016-11-17 标签 PostgreSQL , 秒杀 , 裸秒 , ad lock 双十一背后的技术系列文章 <聊一聊双十一背后的技术 - 物流, 动态路径规划> <聊一聊双十一背后的技术 - 分词和搜索> <聊一聊双十一背后的技术 - 强奸式秒杀技术实现> <聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度> 云栖聚能聊 - 聊一聊双十一背后的数据库技术 背景

聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度

聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度 作者 digoal 日期 2016-11-18 标签 PostgreSQL , 正则匹配 , 分词 , 双十一 , rum , trgm , 全文索引 , 搜索引擎 , tsvector , tsquery 双十一背后的技术系列文章 <聊一聊双十一背后的技术 - 物流, 动态路径规划> <聊一聊双十一背后的技术 - 分词和搜索> <聊一聊双十一背后的技术 - 强奸式秒杀技术实现> <聊一聊双十一背后的技