【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

全网播放超 5 亿的秒级实时台网互动是如何实现的?

  • 2021-11-15
  • 本文字数:3446 字

    阅读完需:约 11 分钟

全网播放超 5亿的秒级实时台网互动是如何实现的?

一年一度的双十一又双叒叕来了,给技术人最好的礼物就是大促技术指南! 而经过这些年的发展,大促早已不仅仅局限于电商行业,现在各行各业其实都会采用类似方式做运营活动,汽车界有 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 、SQL Server 等,在数据量特别大时,常常会碰到一些数据库单机承载能力上限的问题。 TiDB 从 TiDB Server,到 TiKV 、PD 都可以进行水平扩展,性能随着水平扩展可以得到线性提升,很好地满足了汽车之家对于性能和扩展性的要求。

 

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

 

同城三数据中心方案,即同城有三个机房部署 TiDB 集群,同城三数据中心间的数据同步通过集群自身内部( Raft 协议)完成。同城三数据中心可同时对外进行读写服务,任意一个数据中心故障时,集群能自动恢复服务,不需要人工介入,并能保证数据一致性。TiDB 同城三中心架构在 818 晚会期间顺利地支撑了业务,运行表现十分稳定。


汽车之家 818 TiDB 集群整体架构图

 

  • 本次 818 项目中,汽车之家使用了 TiDB 最新的版本 5.1.1,MySQL 的版本是 Percona 5.7.25;

  • TiFlash 是 TiDB HTAP 形态的关键组件,它是 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 万行的写入,SQL 99 稳定在 30ms 以下。TiCDC 性能表现也十分强劲,向下游 MySQL 同步速度高达 13 万行每秒 。跨中心的 TiFlash MPP 架构,为大屏近实时展示助力总次数、秒杀和摇奖的每轮参与用户等信息提供了强有力的支撑。

 

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

未来规划

 

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

 

  • 如同城三中心五副本架构,机房之间延迟应当尽量小,最好控制在 2ms 以内;

  • OLTP 的业务,通常压测瓶颈在于 TiKV 的磁盘 IO 上,对于普通 SSD ,可以做成 RAID0 来提升 IOPS;

  • 一旦某个可用区整体故障,正常不需要手动干预,但是为了避免性能下降严重,建议手动将五副本调整为三副本;

  • 合理设计表结构和索引,尽量避免热点问题,和业务一起做好充分压测,压测期间尽早发现问题并优化。

 

基于本次活动中的良好表现,陶会祥表示,汽车之家接下来还会在更多业务中推进 TiDB 上线。比如以前汽车之家的很多数据会跑在 Hive 里,需要到第二天才能知道昨天发生了什么事。如果应用 TiDB ,可以针对运营需要的用户数据、业务指标的分析,去做秒级的准实时推送,预计能够将这一时间压缩到 5-10 秒。业务方可以立即知道上一刻用户有什么变化,数据有什么更新。

 

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2021-11-15 14:599034

评论

发布
暂无评论
发现更多内容

NE555 & 工作模式介绍

謓泽

3月月更

Redis(一)原理与基本使用

神农写代码

破解数据库内核人才困局:PingCAP 的思考与尝试丨Talent Plan 专访

PingCAP

汇聚创新力量 企业智能化转型开源社区“星策”正式成立

第四范式开发者社区

程序员 金融 开源社区 企业转型 企业数据化转型

业务并发度不够,数仓的CN可以来帮忙

华为云开发者联盟

并发 执行计划 DWS CN 业务并发度

企业知识管理常见的误区及解决方案

小炮

企业知识管理

企业级项目协作工具 ,原来跨项目协作这么简单

阿里云云效

云计算 阿里云 项目管理 项目协作 项目协作工具

博文推荐|Apache Pulsar 轻装上阵:迈向轻 ZooKeeper 时代

Apache Pulsar

zookeeper 开源 云原生 pip Apache Pulsar

Kubernetes官方java客户端之二:序列化和反序列化问题

程序员欣宸

Kubernetes java client

Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度

华为云开发者联盟

Kubernetes Volcano 混合部署 离线混合部署 EulerOS

《假如你身处被“科技制裁”的俄罗斯》之数据库专家访谈 | 墨天轮专访

墨天轮

数据库 oracle 开源 国产数据库 MySQL 数据库

打通源码!高效定位代码问题|云效工程师指北

阿里云云效

阿里云 源码 云原生 代码 代码管理

Android 中Scheme协议的使用详解

CRMEB

与吴恩达创办Coursera后,她一头扎进数字生物学

OneFlow

人工智能 机器学习 深度学习 吴恩达 生物医药

被Altair圈粉了!这款Python数据可视化库真香!

博文视点Broadview

源声|听听赛博堡垒的锻造之路,以及云安全那些事儿

OpenTEKr

网络安全 软件开发 开源技术

稳定、高效:TDengine 在阿诗特智慧能源管理云平台中的应用

TDengine

数据库 tdengine 物联网

一文简述:如何进行数据库选型及扩展

穿过生命散发芬芳

3月月更

架构训练营-模块一

哈喽

「架构实战营」

大数据培训-Spark深入理解RDD和关键角色

@零度

spark 大数据开发

2022年中国智能支付终端市场专题分析

易观分析

数字人民币 智能支付终端

OpenHarmony v3.1 Release版本发布

OpenHarmony开发者

OpenHarmony

【OH干货】给OpenHarmony 开发板配置网络

拓维信息

开源 OpenHarmony

数字资产管理系统解决方案

低代码小观

数字化 资产管理 企业管理系统 数字化经济 企业管理软件

社区动态|Apache Doris 社区喜迎新晋 PPMC & Committer

ApacheDoris

大数据 OLAP MPP apache doris apache 社区

NVIDIA 英伟达发布H100 GPU,水冷服务器适配在路上

蓝海大脑GPU

互联网裁员风暴的一些思考

慕枫技术笔记

3月月更

数据产品经理实战-如何做方案

第519区

数据产品经理 解决方案

Linux下搭建简易的HTTP服务器完成图片显示

DS小龙哥

3月月更

java培训基础知识-抽象类和接口

@零度

Java 接口 抽象类

Kube-OVN:大型银行技术团队推荐的金融级云原生网络方案

York

容器 云原生 金融科技 两地三中心 云原生网络

全网播放超 5亿的秒级实时台网互动是如何实现的?_AI&大模型_PingCAP技术团队_InfoQ精选文章