几百万人同时下单的秒杀,为什么越来越容易抢到了?

原文链接:https://bbs.huaweicloud.com/blogs/279700

【摘要】 几百万人同时下单,你抢到的概率为何越来越大?电商企业又是如何掌握大促期间上亿的销售数据?

把心仪的商品加入购物车,点击结算,付款,商品页面的销量+1,库存量-1,如果只有几十个人下单,系统轻松应付,但是当这个数量变为百万、千万,就是另一番情形了。

电商企业在大促期间面临流量访问压力:网站的访问用户激增让单服务器超负荷运行,从而导致网站访问卡顿或失败,严重影响用户体验,弹性负载均衡服务可以轻松解决这个难题。

弹性负载均衡:哪里压力大往哪里搬

弹性负载均衡(Elastic Load Balance,简称ELB)是将访问流量根据转发策略分发到后端多台服务器的流量分发控制服务,华为云的ELB就可以通过流量分发扩展应用系统对外的服务能力,并通过消除单点故障提升应用系统的可用性。

面对不同的电商业务需求,ELB可以灵活处理。举个例子,对于业务量访问较大的业务,可以通过ELB设置相应的转发规则,将访问量均匀的分到多个后端云服务器处理;对于存在潮汐效应的业务,可以随时在ELB上添加和移除后端云服务器,比如在大促第一波高潮前增加服务器,到了中期再移除,最后收尾的时候重新加上。

这样既能保证大促期间,商品页面不会因为过多访问而阻塞,也能控制成本的开支。但运营人员如何知道什么时候添加/减少服务器,什么时候为ELB设置转发规则,就得对整个促销的节奏以及自家产品数据有基本的预判。

所以,大促期间,除了访问流量压力,更让人头疼的则是数据的实时分析管理能力。

数据仓库:有货没货,卖了多少单,系统门清

通常情况下,电商数据主要分两块:

  • 第1类是面向交易的订单、商品、活动、发货等数据;
  • 第2类是平台运行的实时日志及用户在平台上活动产生的行为数据。

如果企业无法应对大规模在线交易及“实时分析”的业务要求,这“618”这样的大促中就无法掌握主动权。 img 举个例子,某运动服饰类电商企业原有系统采用传统解决方案,交易和BI相互独立。交易平台采用分布式中间件+单机版数据库搭建。由于该方案不具备数据的强一致性能力,在同一时刻系统中数据可能是不完整、不准确的,比如一分前已经销售了100单,但库存没有变化,最后为销售对单带来极大困难。为保证数据的最终一致性,交易系统数据需要通过ETL工具时隔数小时后同步到BI系统,无法做到实时分析,销售及运营主管无法实时掌握经营情况。

为了解决这个问题,他们后来采用了华为云混合负载数据仓库DWS。DWS采用“一库两用”的设计理念,一套数据仓库集群既可以支持超高并发、低时延的业务交易请求,同时可支撑复杂的海量数据分析和BI应用,减少开发和运维成本。相比于原系统,BI系统时效性大大提高,且数据分析性能提升3倍。 img

做到数据实时一致的同时,DWS也确保了对单数据的准确,以及运营报表的“零”时延。

DWS小规模可支持万级TPS的写入能力,横向扩展后可达百万至千万级TPS,支撑该电商企业平稳度过 “双十一”、“双十二”。而且由于它原生具备分布式事务ACID特性,具有数据的强一致性保证,在任何时刻均可保证交易系统数据的准确性、完整性,确保对单数据无误。再加上DWS的高可用架构设计,提供自动化数据备份功能,可靠性达到小数点后的11个9,保障业务数据不丢失。

数据可视化:销售有没有破纪录,就看它了

当我们把不同系统模块数据整合到数仓中,让它进一步清洗、整合、规则处理,实现实时、完整以及准确的数据后,还需要通过数据可视化平台推送到产品及运营人员进行可视分析。

华为商城之前就将电商大数据应用由TIDB+Spark集群搬迁到基于华为云以DWS数据库为核心的数仓平台中。

在数据的实时集成方面,华为云提供了基于Flink、Spark两种流计算引擎的CS流计算服务。随着Flink社区的活跃及FlinkSQL对应用开发者极大的门槛降低,通过SQL的形式即可实现流计算。

华为云将通用的消息中间件封装成对应数据输入的source算子,逻辑层用SQL作为表示,各种数据存储平台作为sink算子封装。如果用原生Flink API的方式,开发及发布一个简短的输入输出任务,起码2小时才可以完工,但现在一站式的流计算平台10分钟即可完成。 而且进行语法校验后,绝大多数问题都可以在这个环节规避,发布之后,就能通过数据可视界面,查看其输入输出的数据信息进行校验监控。

BI数据可视模块选择的是华为云DLV服务,以大屏场景为主。华为商城某次大促活动需要临时加一个指挥大屏看数据,2个开发人员加了2小时班,一个做前台,一个处理数据逻辑,很快完成了0.1版本并发布,之后再持续迭代优化效果。 img 图:某企业经营数据看板

核心数仓装备之外,DAYU数据开发套件平台可极大提升发布效率,DAYU以数据调度平台为核心作为扩展,融合了数据监控、元数据库管理、数据服务发布,这些服务华为商城大数据平台都有逐步使用。

简单介绍下其中开发人员最常用的DLF(调度平台),以一个数据API发布来说,开发人员先在DLF上开启一个Job,拖入三个任务:CDM(将TIDB任务集成到DWS)、2个DWS SQL(一个做DWR层规则处理,一个做数据DWD结果呈现),然后将结果表数据通过DAYU的DLG服务进行API发布,其他领域即可进行调用。

电商企业上云后,解决了基础设施的难题,得以把更多的精力聚焦在业务逻辑开发上,不用再考虑服务负载均衡,容灾等等,也降低了运维的负担和人力成本。对于消费者来说,大促期间的抢购体验更好,流量高峰期下单也能抢到心仪的商品。

最后

电商在争夺消费者的战争中,技术的进步至关重要。从消费需求的产生,到购买行为的深入,从供应链到平台交易数据的分析管理,从直播带货的低时延到业务数据的安全,云计算、AI、大数据等技术的迭代,一步步改变在线购物的模式,也定义了新的商业模式。

曾经,AR/VR技术在内容呈现和消费者互动上提供了新的可能性,随着5G技术的成熟,以及经历前期高投入和试错后,模拟真实场景的VR购物,或许会让足不出户边逛边买成为一种常态化的购物模式。

在消费者的另一端——智慧物流侧,IoT、边缘计算、机器视觉、无人驾驶,这些技术已经在改变传统的物流仓储和运送体系,从自动化立体仓储、自动输送、自动分拣到机器人作业,规整统一的自动化操作提高了运作效率。

618是消费者购物狂欢的节日,它对电商企业也是一次大考,创新高的业绩背后考验他们的技术实力。换个角度看,618在拉动内需的同时,也拉紧了技术创新、产业升级背后的那根绳子。

这些信息有用吗?
Do you have any suggestions for improvement?

Thanks for your feedback!