2015年11月28-29日,“北大CIO班十周年年会暨首届中国行业互联网大会”在北京隆重举行,来自传统企业的近百位CIO、行业专家莅临活动现场。京东云作为国内领先的云服务商也参与了本次活动,京东研发高级总监朱凌在“互联网+企业”分论坛上发表了题为“京东的多中心交易”的主题演讲。以下为演讲内容:
京东研发高级总监 朱凌
谢谢主持人,今天很高兴来到这里给大家介绍一下京东的多中心交易。首先说一下为什么要今天介绍京东的多中心交易。因为京东现在正在做云,京东现在所有的交易都是在京东内部的云平台上。云计算实际上是一个比较热的概念。在第三季度的时候,谷歌、亚马逊、微软发布了财报,之后仅仅一天时间,这三家公司的股指涨了整整一千亿美元。一千亿美元什么概念,相当于六千亿人民币,比我们国内很多很多大公司合起来的市值还大,而究其原因就是这三家公司的第三季度在云计算上面有了很大的进展,比如亚马逊现在一半以上的利润都来自于云服务。对于京东来说其实也是一样的,京东也希望做成一个国内领先的云计算公司。
为什么要做云计算,今天对于在场的各位CIO来讲,我主要分享以下几点。
第一,节省运营费用。更是节省了内部系统的各种消耗。比如说今天你的业务可能需要买50台机器,你可能先要50台的钱,两年之后你公司发展得很好,你可能再买10台,甚至再买200台。如果说你买500台机器,过了两个月发现,你只用50台的机器。类似这样的事情我们很难去预料,这是企业发展过程中总会遇到的问题,那么通过使用云可以帮助你去完全避免这种情况的发生,需要多少就使用多少,弹性化与有效的使用IT资源。
第二,提升运营效率。现在我们所有的企业可能都是要有24小时的运营服务,要去做这个事情,你需要建立一个24小时的运营团队,你的机器如果随时宕机了,客户如果不能连接上了,需要随时处理这种特殊事件,而建立一个如此到位的客户服务团队,也需要很大的支出。而通过云端,就相当于是有一支专业化的高品质的团队帮你去做这个事情。
第三,连接大数据。今天已经是一个云计算和大数据的时代了,企业所有的数据,其实都可以通过大数据的平台进行分析,这样就能够很精准的为企业营销提供线索,进而提升收入。
第四,自建云和团队是比较困难的。现在很多像国外的公司,他们已经是市值几十亿美元的公司,所有的服务都是在云平台上,这些公司没有买自己一台的服务器,他们所有的这些东西都是在云上面。所以这也是为什么今天我给大家介绍我们的多中心交易,京东现在所有的交易全都是在京东内部的云平台上,我们在这个年底之前会开放出来我们开放于给大家外部的这些客户来服务。
京东高速发展 系统扩展挑战严峻
我先介绍一下京东的发展,京东这几年,过去这几年一直保持比较高速的增长,我们每年的增速几乎都达到百分之一百以上,过去大家从2011年到2015年,每一年都觉得今年这么高,已经做了几千亿的交易。对于一个高速增长的公司来说,我们的基础设施的能力和IT运营的能力其实是非常关键的。与此同时,我们的开发人员从几百人扩充到了几千人,我们管理的机器数量是以数量级的规模在增长。
我给大家举个例子,今年的双十一,京东一天的下单量达到了三千两百万单,比去年同期增长了130%,过去几年时间来都是在以这种速度不断的增长。设想一下,如果我们不用云端的方式,我们怎么样才能支持我们这种交易的高速增长。在这样的背景下,这个系统的扩展其实是受到了很大挑战的,京东目前的系统在我们有很多数据中心,每个数据中心都有部署,随着业务量的增加,这些每个机房的容量其实已经快接近上限了,我们很难再增加一些新的,这个不是说你花钱就可以做到的事情。一个机房,它的供应量就这么大,它的网络接头就这么大,你哪怕花再多的钱你也不可能把所有的地方都承包下来。第二个是随着容量的增长,我们可能会达到单个城市已无法容纳的规模,需要到其他城市去部署。京东有什么特点呢?对于用户的在线业务来说,绝大多数的服务器都是在服务用户的请求,比如说你在上面浏览、下单、评论,我们都是要通过我们的服务器去处理的。不同于微信、微博的这种社交服务,其中用户之间的关联相对来说比较少,所以我们考虑多中心交易是以用户为维度,把用户按照固定的区域切开来,然后每个区域建立我们的数据中心去进行服务,这是我们京东的多中心交易服务。
京东多中心交易系统
通过多中心交易,我们每个中心的伸缩规模变得更小,原来很大的一个集群现在可以拆分成比较小的独立单元,不同的用户我们会增加不同的单元去进行服务,各个单元的数据,我们通过自己内部的数据同步工具保持一致,之前我们会把所有的服务器,所有的用户都放在一个机房里面去,那么这个机房将会有很大的规模,可能很难有一个机房可以容纳我们所有的服务器。但是现在我们可以把这些东西放在不同的机房去,每个机房负责一小部分的用户,那么各个机房之间通过这个方式连接起来,通过一些数据同步的工具,能把数据同步起来。
现在京东明年的业务量还是百分之百的增长,怎么办呢?
第一,我们只要在每个小的数据中心里面,能够容纳百分之百增长的空间和服务器就能够很好的支撑我们业务量的增长。
第二,我们在切换的时候可以把这些机房的流量导流到别的机房。比如说某个地方地震了或者爆炸了,如果说机房宕机了,整体服务怎么办?出现这种情况的时候,我们就可以把这个地区的机房,这个单元的机房完全的切换到另外一个地区的机房里面去,这样服务就完全不会中断。
目前,我们京东的多中心交易的部署是通过这种方式来实现的。
首先我们通过对用户按地域分流,以最优的方式到达离客户最近的数据中心去,提升用户体验。
第二,我们可以通过多地域容灾,避免类似支付宝光纤事件的发生,比如说上海这个地区的机房断了,就可以吧这个数据中心的所有的切换到其他的数据中心去。
第三,买家的维护可以保证基本上是无限的扩展,可以水平扩展。买家明年可以增加到100%的增长,还是1000%的增长,我其实只要在这个数据中增加他的容量,就可以完全做到,我们可以无限的提供业务量的增长。
第四,买家访问本地区的服务中心,对买家来说体验是最好的。我们曾经也做过调研,每一个买家,或者每一个用户在访问网页的时候,他的速度提高50%以上的,我们的收入就会相应提高百分之十几,所以这个对于服务的质量和收入其实是完全成正比的。
第五,我们是一个区域中心化的开发模式,不依赖于某一个点,这样的话对我们的开发来说也相对比较快捷,比较方便。我们做任何开发的时候,我们可以先在这个数据中心去做一些验证,没有问题的话,我们可以开放新的软件部署在另外的数据中心去,直到部署在所有的数据中心的全部去更新,这样就保证我们这个软件的升级、恢复,能以更好的方式去处理。所以,这就是要做多中心交易的原因。
其实我们做多中心交易的时候,遇到了不少技术难题。我们今天在讲互联网+、云计算,这当中有比较复杂的技术难点,但是多中心交易系统能够帮助大家解决这些问题,比如数据量的不断增长,业务量的不断增长等问题。同时也帮助大家去避免培训自己的运营团队、客服团队等等,我们都可以通过我们的云平台来帮助大家解决,这也是我今天想给大家分享的和提供的。谢谢大家。