2016年天猫双十一单日成交记录,为1207亿。今年虽然尚未公布数据,但是今年电商流量最高峰已经结束,在这个疯狂地购物节上,人们再一次体现了中国人多力量大的特点,创造了又一个电商神话。
每年双十一电商IT系统架构都会面临巨大的流量冲击。电子商务网站的IT系统包括电子商务订单在线交易、后台管理,供应链管理、物流管理和产品数据库、客服系统等等,都需要有一个高可靠性、高性能并具有良好弹性扩展的IT系统的良好支撑。而这些并不容易,本文将主要讲述4个IT关键技术与其在系统中的重要性。
分发作业的“学委”:CDN
CDN的重要性有多大?它就像是一个快递员,负责将“数据包裹”从一个地方送到另一个地方,距离和速度直接影响了数据流的质量,影响了视频观看的流畅度和剁手是酸爽的痛感强度。
随着视频直播的流行,如今CDN正在进入黄金发展期。云计算、大数据、移动互联网等新兴技术的成熟正在为CDN提供强发展动力。有了CDN的帮助,从深圳下单剁手的流量请求,就不必千里迢迢的来到北京机房的服务器上,而只需要选择一个距离用户(深圳)最近的CDN边缘节点来响应用户请求。
中国联通CDN分发情况
事实上, 每年的双十一狂欢节都少不了CDN的助阵。分析CDN峰值,甚至可以直接但映出用户购买习惯。从之前的数据来看,11月10日早上8点起就启动“买买买”模式,而到了11月10日晚上10点,将迎来第一个高峰,之后流量数据不断攀升,直到11月11日0:30之后,数据开始下滑,凌晨5点跌入谷底,清晨8点后开始回升,直到11月11日的10:30会迎来年度最高峰。
从目前国内CDN市场现状来看,竞争越来越激烈。11月6日上午,工信部公布了最新获得CDN拍照的5家企业,至此,获得CDN拍照的企业已经达到39家。在阿里云完成对优酷CDN业务整合后,整体带宽史无前例的达到40TB,全球节点超过1000个,低价竞争开始,这进一步证明粗放经济时代已经彻底结束。
CDN就像是一个系统中的学习委员,它清楚地知道那个作业应该发给谁,怎么走是最近的道路,怎样才能同时保证效率与质量,还能节约成本(TCO)。
2会搞关系的“外联主席”:云计算
会搞关系的“外联主席”:云计算
业内有这样一种观点:双十一倒逼云计算走向成熟。笔者认为此言不虚,事实上不少IT技术的发展都是因为受到强大市场需求影响所致。
若要深追电商平台上云的历史,可能要从2008年王坚提出的“去IOE”(在IT建设过程中,去除IBM小型机、Oracle数据库及EMC存储设备)算起,毕竟x86平台造就了今天的公有云。这项具有深远意义“去IOE”大潮,为阿里带来了很多好处,也深远影响了国内IT发展路径。直至2013年5月17日,阿里集团最后一台IBM小机在支付宝下线,阿里的“去IOE”战略取得阶段性成果。
数据中心现多为X86架构服务器
但是,并不是每个企业都有阿里那样雄厚的资金支撑“去IOE”战略,对于中小型企业而言,最好的“去IOE”方式就是业务上云,用公有云的方式改变企业IT架构。
对于双十一这样一个流量请求高并发的节点,云计算的弹性与可扩展性优势得以充分发挥。公有云可以通过建立计算资源池和灵活的软件调控,做到资源充分利用,降低企业的TCO。
云计算增强IT弹性
为了保证双十一期间服务器不宕机,让消费者更好地享受剁手体验,电商平台的IT部门一般都会在双十一到来之前做现网压力测试,做出大量的系统预留。从近年的用户体验来讲, 双十一的IT保障确实做的越来越好了。
一个人的力量总是有限的,对于IT系统而言同样如此,云计算就像是IT系统中的外联主席,总是能够帮助解决小集体容量不足的问题,提高了IT系统的弹性和可扩展性。
3分清主次的“班长”:分布式数据库
分清主次的“班长”:分布式数据库
从2015年已经公布的数据来看,双十一当天阿里巴巴自主研发的OceanBase分布式数据库看承载了双十一100%的交易流量,每秒创建14万订单,完成8.59万笔支付(2014年为4.73万笔)。仅以交易系统为例,在双十一当天写进数据库的数据量达到了10TB。
正如前面提到的,原来固有的数据库一般是甲骨文的Oracle数据库,而在“去IOE”之后,阿里研发了自己的OceanBase数据库,这也是中国首个具有知识产权的数据库,也是首个应用在金融业务中的分布式数据关系库。
分布式数据库平台(现为蚂蚁金服所用)
之所以要做分布式数据库是因为阿里巴巴交易系统需要强扩展性与可用性。为此,阿里秉持这系统扩展性高于一切、系统可用性高于一致性与适当放宽一致性约束等原则搭建了适用于淘宝等电商平台的分布式C2C业务。分布式数据库与混合云(公有云+私有云)架构相结合的方式,让阿里的IT架构成为一个标杆。
对于网购的购买者来说,有一个问题可能您已经习惯:一致性问题。举个例子,就是你已经下单成功, 并已经支付款项,但是后台却显示发货失败。这就是数据库一致性出了问题。为了将数据库可扩展性放在第一位,分布式数据库自然遇到了一些一致性问题。
“AP”是大多数分布式数据库的选择
在2000年,美国科学家Eric Brewer曾经说过:当技术架构从集中式架构向分布式架构演进,会遇到 “CAP定律”的瓶颈。CAP即一致性(Consistency)、可用性(Availability)与分区容忍性(Partition Tolerance)的缩写。Eric Brewer认为,一个数据处理系统无法同时满足一致性、可用性和分区容错性三个要素,最多只能满足两个要素。对于分布式数据库牺牲的正是“一致性”,因此我们曾经遇到付款却不见发货的情况。
有舍方能有得。对于班长而言,往往也需要面临学习与班级事务之间的选择,面临集体荣誉与个人利益之间的选择,分布式数据库就像是已经分清主次,做出选择的班长,将扩展性放在第一位,哪怕会牺牲掉一致性能力。
4检查作业的“老师”:APM
判考卷的“老师”:APM
大概在两年前,企业都开始认识到移动端的力量,无数软件企业成立,应用软件成为企业重要的获客和信息传播渠道。客户应用体验的重要性再一次被提上日程,APM就是在这个背景下蓬勃发展起来。
APM架构图(图片来自网络)
APM是应用性能管理Application Performance Management的缩写,只对企业的关节业务应用进行监测、优化,提升企业应用的可靠性和质量,保证用户能够获得良好的服务,降低TCO(总有用成本),为企业带来更多利益。在双十一这个IT的关键节点上,通过APM能够帮助企业更好地认识到自己的IT优势和局限。
根据市场研究机构Gartner的APM报告来看,虽然也看到IBM、Dell、微软这样的大企业外,位居领导者象限的企业还有许多是以APM为主导的SaaS企业,并以外国企业为主(注:2015年的魔力象限里中国企业听云位列其中)。
APM应用性能管理(图片来自听云)
通过前面的介绍大家已经了解一个强大IT系统的复杂性,它必然包含了服务器、存储、网络、操作系统、数据库、中间件、web服务、页面或终端等多层组成,而这就像是串联电路,在这个长长的链条中任何一个环节都有可能出现故障, 而任何一个性能瓶颈都会影响到整个应用的性能。
APM性能管理系统的作用就是一个主动式的管理解决方案,面对负载的IT环境,通过实时性能检测分析定位问题根源,进行性能优化。在面临双十一流量高峰时用户体验尤为重要,出不得分毫差错。以听云为例,根据以往的双十一经验就做出了防出事儿、快速定位和快速解决,即预防、诊断、治疗三位一体的策略。
但值得注意的是,近两年随着微服务架构和容器技术的成熟,IT系统的灵活性越来越强,但IT环境也变得更为复杂,更难监控。这就需要APM性能管理系统提供足够细颗粒度的监控套件,在新环境下,如何能够追踪信息链路和系统架构拓扑上导致性能问题的关键,成为未来APM厂商急需解决的问题。
双十一就是一场IT大考,在这场考试中APM就像是一个老师,帮助参考者提前做准备,监测考场情况,并最后做出判断。当然,这个老师监考的目的绝不是抓作弊的人,而是为了帮助考生通过考试。
5“彼之蜜糖,吾之砒霜”
“彼之蜜糖,吾之砒霜”
从“双十一购物”这个概念兴起开始,电商平台一年胜于一年,销售额连年攀升,人们似乎也习惯了每年打破记录。同时,IT技术也不断提升,可扩展性、可用性和可靠性越来越强, 流量高发期服务器宕机导致页面崩溃的事件也越来越少,与之相适应的是电商平台采购的IT设备(服务器、存储等)越来越多,而程序员小哥、IT工程师和架构师们的压力也越来越大。
如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637 935 295,免费领取一套学习资料和视频课程哟~
彼之蜜糖,吾之砒霜
马云曾说过:“通过双十一,能够真正提升整个中国未来新零售的技术、水平,因为这种技术的能力的提升,真的很难得的,在同一秒钟,那么多消费者进来,这种技术,云计算能力的突破,管理能力的突破,我觉得是很了不起。”每年的双十一显然锻炼了IT部门对于高并发的处理能力,帮助了CDN行业的不断提升。
但是,机遇常常与挑战并存。双十一的出现确实推进了网络电商的快速发展,为了支撑庞大的电商技术需求,IT工程师、程序员、架构时又夜以继日的对IT系统进行扩容和升级,提升了IT能力。
另一方面,在云计算、大数据和人工智能的背景下,双十一电商节所产生的大量数据不得不称之为企业财富。通过对这些数据进行存储、整理和分析,可以得到更多有价值的营销信息或销售线索,这些也是实施精准营销的必要条件。
作为剁手党,感谢IT工作人员
“彼之蜜糖,吾之砒霜”,程序员小哥如是说。起初,笔者并不理解程序员小哥突然说这句话的含义,直至了解了上面的这些技术,发现双十一这个全民狂欢购物节在一个技术宅眼里,只是无数个代码和0、1组成的荒诞剧。这场戏剧的主演是几亿名网友,导演是电商平台,而真正提供支持的场务人员、票务人员、音响师和灯光师们是这些程序员小哥。程序员小哥辛苦,深鞠躬~