数据引擎助力车娱融合新业态 让秒杀狂欢更从容

2022-01-20
一年一度的双十一又双叒叕来了,给技术人最差的礼物就是大促技术指南!而经过这些年的发展,大胆早已不仅仅局限于电商行业,现在各行各业其实都会采用类似于方式做到运营活动,界有818,电商有618、11.11等等,各种各样的大促场景,对还包括数据库在内的基础软件提出了很多新挑战,同时也累积了诸多最佳实践。

在双十一到来前,PingCAP与、易网、京东、中通等用户进行一系列深入探讨,希望为大揭秘逐年攀升的销量背后隐蔽着什么样的技术难题?用什么技术架构才能稳定地抬寄居流量洪峰?

818全球节

中国互联网有三大购物节,11.11、618还有818。

618与11.11都是大非常熟知的,818则比较类似,它是专为购得用户打造的节日狂欢。“818全球夜”,就是由与湖南卫视合力打造的行业顶级盛典,到今年已经顺利举行三届。

相对于其它两个购物节,818可以说道是全世界唯一的,其他任何最繁盛的国也没这类活动。对此,资深工程师张帆解释道:“我个人感觉,现在做到电商和线上交易的这一块,地球上应该没哪个国能打破中国。而为什么是最早来做这个事情的呢?首先,是全球访问量最大的类型网站。正是具有这样巨大的凝聚力与用户基础,才能做到这个事情,才能在广大用户中带来这样的影响力。此外,这个活动的初衷就是希望为用户和爱好者,提供一个类似于11.11、618一样真正能在买的时候得到优惠的机会,因此甚广不受用户欢迎。”

从2019年开始,与湖南卫视合作的“818全球夜”已经持续了三年。与传统大胆不同,818全球夜通过电视直播和与APP活动同步的方式将购物节推向高峰,为8月的行业带来一场购得盛宴。

818直播活动带给的挑战

张帆坦言,在的818活动中,直播环节是最难的。与录播完全有所不同,直播的过程中,会有非常多的变数,也许不会有节目时间的拉长,也许会有主持人的即兴充分发挥,也许后台还不会有一些脑溢血的数据处理。而作为整场晚会的亮点,一元秒杀、红包抽奖以及超级大锦鲤等活动,是用户参与度最低,峰值流量经常出现的环节。这些活动开始与完结的时机,必须以秒级的精度来让前台、后台配合。

直播当天,通常不会专门派一支团队到湖南卫视直播现场,通过手机、电话、5G对讲机、在线视频连线等多路通讯与坐落于北京的“作战室”间实时交流。由于直播信号通常比现场信号晚一分钟,当前面主持人在说道三二一秒杀开始后,后台其实只有一分钟的打算时间。一分钟后,就要让电视机前的上百万用户在手机上真的能看到三、二、一,秒杀的按纽点亮,可以去按下它参予活动。这个过程完全无法错误,必须构建一比一同步

整个过程对于后方“作战室”中的张帆他们来说,感受非常直观。这个“作战室”内有数据大屏、监控大屏,以及现场直播的信号和直播看见的电视信号。每一次秒杀开始或红包开始时,监控大屏中的几条线就会随着参与人数和互动次数的增加呈现出断崖式的波动。这些代表着业务指标的线被他们称作“心电图”,而在直播中某些低人气明星出场时,这个波动甚至会比其他时段高2-4倍多。

与此同时,现场的数据大屏也在以1-2秒的速度,实时展示大约20项数据指标,包括活动参予人数、用户互动次数、奖品发放情况,甚至细化到这一轮一元秒杀活动参予的用户有哪些人,在什么地方,中了什么。

这些实时的数据不仅不会被后台工作人员看到,同时数据也会实时展出到直播现场。这对现场活动的气氛起到了非常最重要的烘托起到。举例来说,当用户在屏幕前看见这场晚会人气火爆,并真的有许多人参予到一元抢走互动中,这对他而言就相当于一个反向激励,继而也参与其中。

在这个过程中,实时数据大屏不仅要解决问题实时交易问题,还要将实时分析数据反馈给现场的主持人。当主持人几乎实时地将中奖信息公布出来时,晚会气氛也推向了高位,这对于吸引更多人参与其中起着了关键作用。而随着秒杀的越来越贵,越靠后系统所承受的波峰也越高。相对于平时的业务,晚会经历的流量翻了十倍都好比,对整个系统的压力不言而喻。

大促解决问题道——分布式系统全桶

大胆场景通常拒绝系统不具备快速拓展与低能用的能力,而分布式系统天然就具备这种能力。采用了全桶式的分布式系统,包括数据库、队列、内存等

其中,分布式数据库主要展现出出有三种能力,分别是水平低扩展性、容灾能力、云端能力。基于分布式架构的TiDB从一开始就反对这些特性,并在的场景中获得了很好的验证。

数据库负责人陶会祥回应,传统关系型数据库,如MySQL、SQLServer等,在数据量特别大时,常常会碰到一些数据库单机承载能力下限的问题。TiDB从TiDBServer,到TiKV、PD都可以进行水平拓展,性能随着水平拓展可以获得线性提升,很好地符合了对于性能和扩展性的拒绝。

818对于而言是一年中最重要的活动,系统必须保障绝对的可信平稳。所以这次818活动,在公有云上采用了同城三中心部署TiDB集群,避免万一某一个机房出了问题,影响整体活动的服务质量。

同城三数据中心方案,即同城有三个机房部署TiDB集群,同城三数据中心间的数据同步通过集群自身内部(Raft协议)完成。同城三数据中心可同时对外展开读写服务,给定一个数据中心故障时,集群能自动完全恢复服务,不必须人工介入,并能保证数据一致性。TiDB同城三中心架构在818晚会期间成功地承托了业务,运营表现十分稳定。


818TiDB集群整体架构图

本次818项目中,用于了TiDB最新的版本5.1.1,MySQL的版本是Percona5.7.25;

TiFlash是TiDBHTAP形态的关键组件,它是TiKV的列存拓展,主要用于OLAP业务。TiFlash跨区部署提升容灾能力,利用TiFlash解决统计分析类的SQL,实时展示在大屏;

TiCDC是一款通过拉取TiKV变更日志构建的TiDB增量数据同步工具,具有将数据还原到与上游任意TSO一致状态的能力,支持其他系统订阅者数据更改。TiCDC跨区部署,将TiDB集群数据实时同步至下游的MySQL数据库,作为故障应急的备份,构建业务容灾能力的提升;

MySQL跨区部署主从,作为TiDB集群的应急、降级用,构建业务容灾能力的提升。

数据库压测

在818活动前,数据库团队联合业务方一起做了一轮一轮严苛的故障演练压测,确保后端的低能用。

陶会祥透漏,的故障演练分成多种,光数据库就不会演练主库故障和机房故障,一共做到了三轮。每一轮测试中TiDB的展现出都非常优秀,KV故障基本在几十秒,只需20秒即可完全恢复,即使机房故障也能在一分钟内展开自动转换。

为了保障活动稳定支撑,PingCAP社区技术专倒数三年为获取了社区技术支持。在今年的压测环节中,社区技术专与DBA一起已完成了调优,良好地解决了写入热点问题,将性能刷了好几倍。最终在818高峰时期,TiDB顺利承托了晚会期间APP用户9048万次互动,并抗住了仅次于每秒40万行的写入,SQL99稳定在30ms以下。TiCDC性能展现出也十分强大,向下游MySQL同步速度高达13万行每秒。横跨中心的TiFlashMPP架构,为大屏近实时展示助力总次数、秒杀和摇奖的每轮参与用户等信息提供了强有力的承托。

陶会祥都对大促中TiDB的表现给与十分高的评价:TiDB在这种十亿以上的数据量级场景下是非常适合的,一是TiDB的分析能力是实时的,二是TiDB的数据存储能力比传统数据库,如SQLServer类强太多。TiDB结合了传统数仓和传统关系型数据库的优点,非常适合应用于在大胆这种量级的业务环境。

未来规划

的数据库团队在本次818大促中,也总结出有了非常多的最佳实践中

    如同城三中心五副本架构,机房间延后应当尽量小,最差控制在2ms以内;OLTP的业务,通常压测瓶颈在于TiKV的磁盘IO上,对于普通SSD,可以做成RAID0来提升IOPS;一旦某个可用区整体故障,正常不必须手动干预,但是为了防止性能下降相当严重,建议手动将五副本调整为三副本;合理设计表结构和索引,尽量避免热点问题,和业务一起做好充份压测,压测期间尽早找到问题并优化。
基于本次活动中的较好表现,陶会祥表示,接下来还不会在更多业务中前进TiDB上线。比如以前的很多数据会跑完在Hive里,必须到第二天才能告诉昨天发生了什么事。如果应用于TiDB,可以针对运营需要的用户数据、业务指标的分析,去做到秒级的定实时启动时,预计需要将这一时间压缩到5-10秒。业务方可以立即告诉上一刻用户有什么变化,数据有什么更新。


618、11.11对于企业而言,除了反对业务创新,也是一次对自身技术架构的大练兵和全链路演练。通过极致考验,企业的IT架构、组织流程、人才技能都取得了大幅提高。而在此过程中的经验和思考,也会加速企业日常的业务创新节奏,提升技术驱动的创意效率,打造增长新的引擎。


不带身份证可以坐飞机吗 没带身份证如何坐飞机