另外,京东还要全面应对大数据挑战。随着这几年用户群的发展,接近一亿的注册用户产生的数据量是海量的,而且这些用户的订单还会进一步产生更大量的数据问题,涉及到数据分拆、处理等。因此,每天产生的数亿规模的小文本,考验着京东的底层架构。京东还有自己的物流,任何一份定单都会涉及下游整个物流管理系统,比如:一个订单生成后,就要从仓库里面取出一份货物。有时候,一个订单还会涉及多个货物,每个货物还涉及不止一个仓库,很多的小文本会从这些订单行为产生,也就是说,每天会有海量的数据来自于仓储系统。如何完整地保存这些数据,同时还要快速响应这些数据的读写请求?用什么样的技术能够高效地进行处理,进而实现业务的快速扩张?这需要有专门的团队进行运营和维护。
确保系统稳定 功夫在平时
为了打造强大的系统运营平台,确保系统的稳定性,并具备持续开发能力,京东组建了自己的研发团队,通过自主研发的方式,提供系统应用及弹性应用开发服务。如今,京东的技术研发团队规模已超过3000人,信息系统已成为企业的生命。京东通过一对一的专业团队设置,推出了高度定制的服务,包括交易团队,支付团队,物流运营团队,以及测试团队、消息系统、平台管理等。通过不断努力、不断迭代,京东IT技术的发展走在了业务发展的前面。
普通网站在一年里的搜索量变化几乎不大,但电商购物平台经常会面对大流量冲击,尤其像“双十一”、“618”这样的节日,需要提前“补课”,提前把系统做扩容,最高峰值的流量可能是平时的十几倍,甚至是二十几倍,包括很多的内部的子系统,也要进行弹性扩展,把人员的容量规划得更加科学。
“我们在各方面都做了一些准备工作,但是这个准备不是赶在‘双十一’、’双十二’等节日当天去上线,而是我们日常工作的一部分,平常就要把这些准备工作做好。” 刘海锋表示。
京东有自己的测试团队,专门设置了测试工程师,但同时在很多研发团队里,测试也是他们工作中最重要的一部分。通过多种测试相互结合的方式,京东在每个节假日促销前期都要检测平台的负载能力,并且会把整个网站的各个系统都提上去。
另外,京东有一套压力测试体系,比如对搜索业务进行测试,就要检测系统性能的峰值,测试它能承受多大的流量。为了不影响业务数据,京东在测试方面做了很多工作。尽量在设计系统、系统研发过程中,就把系统的处理能力提升到一定高度,在上线前就了解系统性能的峰值及弹性括展的程度,最后确实需要做人工扩展的时候,再采取准备好的预案。
在系统安全方面,京东有一个非常大的安全平台,可以降低后台数据库的负担。通过强大的消息中间件,包括自主研发的存储系统,还包括防御攻击体系,帮助企业应对网络上的恶意攻击行为。
选择简单、易用的测试工具
刘海锋认为,在选择系统测试工具时,首先会考虑的是“拿来主义”,如果像类似于惠普、IBM的这样专业的商用测试软件能够直接用,企业首先会考虑使用。京东对商用测试工具的要求是——简单、易用、低成本。目前,京东在系统测试方面的策略是“自己研发+商用系统采购”。如果商用测试系统选择错误,系统峰值的负载能力很难被测试得到,因为有些商用软件可能还不如企业自己研发更有针对性。但不管测试工具是自主研发的,还是采购商用的,系统在做测试时,很多子系统要能够有所配合,知道该系统是在被测试的状态,并且要能够处理无效的测试数据,不要让测试污染整个业务流程。
最后,刘海锋还给同行分享了应对“购物季”的三点原则:第一,要把技术做在平时,不能等到促销的时候再对机器扩容。很多系统的硬件、软件等各方面都要有预案措施;第二,要有一套规范的体系或技术方法,通过技术手段提前衡量系统的峰值承受能力,并且要测试到关键业务系统以及各个子系统,做到心中有数,提前找到系统的薄弱点。第三,对于一些核心的底层系统,需要适当地增加投入,要么自主研发,要么进行技术转型。
责编:王薇
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友