一年一度的双十一又双叒叕来了,给技术人最好的礼物就是大促技术指南!而经过这些年的发展,大促早已不仅仅局限于电商行业,现在各行各业其实都会采用类似方式做运营活动,汽车界有 818,电商有 618 、11.11 等等,各种各样的大促场景,对包括数据库在内的基础软件提出了很多新挑战,同时也积累了诸多最佳实践。
在双十一到来前,PingCAP 与汽车之家、易车网、京东、中通等用户展开一系列深入探讨,希望为大家揭秘逐年飙升的销量背后隐藏着什么样的技术难题?用什么技术架构才能平稳地扛住流量洪峰?
818 全球汽车节
中国互联网有三大购物节,11.11、618 还有 818。
818 直播活动带来的挑战
张帆坦言,在汽车之家的 818 活动中,直播环节是最难的。与录播完全不同,直播的过程中,会有非常多的变数,也许会有节目时间的拉长,也许会有主持人的即兴发挥,也许后台还会有一些突发的数据处理。而作为整场晚会的亮点,一元秒杀车、红包抽奖以及超级大锦鲤等活动,是用户参与度最高,峰值流量出现的环节。这些活动开始与结束的时机,必须以秒级的精度来让前台、后台配合。
汽车之家大促解决之道——分布式系统全家桶
大促场景通常要求系统具备快速扩展与高可用的能力,而分布式系统天然就具有这种能力。汽车之家采用了全家桶式的分布式系统,包括数据库、队列、缓存等。

汽车之家 818 TiDB 集群整体架构图
数据库压测
未来规划
汽车之家的数据库团队在本次 818 大促中,也总结出了非常多的最佳实践:
如同城三中心五副本架构,机房之间延迟应当尽量小,最好控制在 2ms 以内;
OLTP 的业务,通常压测瓶颈在于 TiKV 的磁盘 IO 上,对于普通 SSD ,可以做成 RAID0 来提升 IOPS;
一旦某个可用区整体故障,正常不需要手动干预,但是为了避免性能下降严重,建议手动将五副本调整为三副本;
合理设计表结构和索引,尽量避免热点问题,和业务一起做好充分压测,压测期间尽早发现问题并优化。






