惊了!今年百度居然没有宕机!

从 5 年前开始,春晚广告招标中,央视新增了「新媒体独家合作」这个全新的广告资源。在 2014 年,腾讯成为春晚的新媒体互动独家合作伙伴,微信红包在那一年大红大紫,火遍中国的大江南北。

从那一年开始,每年都会有一家中国互联网业界的头部企业独家承包春晚的互动。每年的互动本质都差不太多,基本是送红包活动。

阿里、腾讯、微博都先后承包过春晚的独家新媒体互动,2014、2015 年是腾讯的微信,2016、2018 分别是阿里的支付宝和淘宝,2017 则是微博。

惊了!今年百度居然没有宕机!

在 BAT 中的「AT」都承包了两次春晚新媒体独家合作之后,今年百度终于是发力拿到了独家合作权,并豪掷了 9 亿现金在这一次春晚的红包活动上。

这一次的红包活动是百度手机 App 限定,所有使用百度网页端的用户都是没有办法参加活动的。

惊了!今年百度居然没有宕机!

在春晚放送期间,百度为了不让大家误解,他们还特意针对手机网页端的部分关键词做了一个特别页面,引导用户前往百度 App 领取红包。

对于参与到这个活动中的人来说这是个好事,在这样的提醒下他们不会迷路,百度也能避免背一些所谓的「空降黑锅」(最近百度黑还是挺多的)。

对于不参加这个活动的人来说,搜索一些东西的时候跳出这个页面就比较烦了,这个页面有可能是赶工做的,选择继续搜索之后会直接跳回百度首页,用户需要再次输入关键词,这导致春晚这段时间百度搜索的用户体验非常糟糕。

自从春晚有了线上互动后,每年的春晚主持人都会以口播的形式告诉全国的观众哪个平台可以领到有真金白银的红包。

大部分观众还是对钱感兴趣的,所以不管是谁,只要他们能够拿下这个独家合作权,愿意把钱砸进去,他们的红包活动就会有数以亿计的人来参加。

惊了!今年百度居然没有宕机!

不过并不是所有的互联网企业都有这个胆子去竞标这个独家合作权,因为并不是所有互联网企业的服务器都能接下「春晚」这个级别的流量。

过去我们习惯地认为双十一应该是全网流量最大、最密集的时候,尤其是双十一的零点。每次临近双十一,阿里都要使出浑身解数去迎接那一瞬间的核弹级流量,如果流量处理不到位,那么整个淘宝甚至是牵扯到的支付宝等方面的系统都会彻底卡死,进入宕机状态。

最近几年,随着阿里的努力,双十一的情况变好了不少,以往付款排队、服务器爆炸之类的情况在 2018 年已经不复存在。然而,和春晚的流量相比,双十一零点那一瞬间的流量根本算不了什么。

惊了!今年百度居然没有宕机!

即使是阿里巴巴这种经营着全球三甲云计算的企业,春晚这种级别的流量还是很难接住。去年,他们预估春晚的流量会是双十一的 3 倍,所以他们在双十一的基础上对服务器做了 3 倍的扩容。

结果事后他们复盘发现,他们对春晚的流量一无所知,在春晚期间,流量高峰居然达到了双十一的 15 倍,这使得他们的服务器根本无法处理这么大的流量,最终宕机。

此前每一年的春晚,和春晚合作的是哪家互联网企业,最终他们的服务器都没能坚强地挺过去,要知道阿里、腾讯、新浪都是自己有数据中心的企业,要是这事让一个体量更小的互联网企业负责,服务器宕机一夜都是有可能的。

没有金刚钻,可揽不了这瓷器活。

百度本身做搜索引擎起家,作为国内市场份额最大的搜索引擎,百度主页每天都在被数量巨大的国内网民不停地访问。

面对流量,百度或许是 BAT 里最不怕的一家,他们本身就是中国互联网最大的流量入口。然而,春晚的流量仍然是不容小觑的,阿里、腾讯此前都低估了春晚的收视率和我国移动互联网普及、下沉的情况。

这种集中的流量对于百度来说仍然是个大难题,在摇红包的那一瞬间,百度的服务器需要承接数以亿计的请求,QPS(每秒请求数量)至少是千万级的。

惊了!今年百度居然没有宕机!

通常来说,想要让服务器能够抗住这种巨大的流量,要么自己旗下的其他产品给这一波巨大的流量让道,这些产品主动降级,尽可能为春晚流量空出服务器资源;要么砸钱从硬件这个根本上进行扩容,买更多的服务器堆在机房;要么百度需要准确判断流量的形式,从活动流程、程序设计上尽可能将流量峰值拉长,削减过于集中的流量高峰。

综合知乎等平台上的各种说法,百度这一次还是砸了不少钱扩容服务器,同时在活动页面通过特别的设计控制了爆炸的流量。

据参加了春晚抢红包的网友测试,在断网状态下,抢红包时仍然会弹出祝福语。这意味着百度为了保证用户体验,他们将不能正常提交的请求也视作正常提交处理,一样给用户弹出祝福语,这样一来用户体验能够得到最大的保证。

惊了!今年百度居然没有宕机!

既然百度这么做了,笔者猜测在前端他们可能还以一定的概率随机丢弃了一部分请求,也就是说你抢 10 次红包,可能真正有请求提交到后端的只有 5 次。配合算法,抢到红包的概率实际上是不会变化的,但后端的压力能够得到显著的减轻。

除此之外,在抢红包期间,活动页面其他的功能都不能使用,这使得所有打到后端的请求只有抢红包的请求,一些涉及到更复杂操作的请求在前端就被拒绝掉了。

惊了!今年百度居然没有宕机!

在抢红包期间,用户所得的奖励都是不能及时查看的,这有一些类似于双十一我们不能及时在支付宝查看账户余额、花呗额度一样,数据量过大,如果在流量高峰期处理,这些系统会连带着一起崩溃。

百度也是做了类似的处理,用户获得了什么红包,先记下来,之后再根据记录将红包「略有滞后地」下发到用户的账户上。对于服务器来说,高峰期服务器要进行的操作就被简化了,他们能够承受的 QPS 自然就会更高一些。

当然,光靠这么一些小伎俩是不足以在春晚级流量存活的。活动背后我们看不见的大数据处理技术以及他们所用的高并发技术框架等更加重要,这些背后的技术才是保障百度服务器在春晚级流量下不宕机的基石。

目前对于百度在这次春晚的表现,很多网友们并不在讨论、也不怎么关心其背后的技术,他们表示百度服务器之所以能够在这种级别的流量下存活,是因为今年春晚抢红包的根本就没有多少人。

和之前微信、淘宝、支付宝春晚发红包比起来,今年参与活动的人数完全不值一提。

为什么他们会这么说呢?因为百度 App 的装机量、日活完全不如微信和支付宝,而在之前笔者有提到过,这次的活动是 App 限定的。

惊了!今年百度居然没有宕机!

于是在春晚抢红包活动即将开启的时候,国内互联网出现了一个很有意思的现象 —— 小米应用商店、华为应用商店甚至是苹果的 App Store 都出现了崩溃、宕机的情况。

一到抢红包的关键节点,大家不约而同想到的居然不是打开百度 App 抢红包,而是下载百度这个 App。由于应用商店本身根本没有针对这类高并发场景做过对应的设计,于是国内这些应用商店在大年三十当晚接连崩溃。

从国内各个应用商店崩溃、宕机的情况来看,百度 App 的装机量确实不高。最终参加春晚抢红包活动的人相较于往年确实会少一些。

有网友调侃道,这一次百度 App 采用了全球领先的「分布式削峰法」,成功地让各大应用商店挡住了第一波流量的「袭击」。

综合来看,由于很多人在当晚不能顺利下载百度 App,同时百度在活动页面上也做了一些特别的设计降低了最终达到后端的请求量,所以以百度的实力,扛下这次春晚的流量是完全没问题的。


由于百度之前出了很多企业道德方面的问题,导致目前网络上很多网友不愿意承认百度的技术确实很强,他们甚至从很多其他的方面对百度进行尖酸刻薄地嘲讽。看了很多其他网友发的内容,笔者不禁想问,承认百度的技术实力有这么难吗?

企业道德是一回事,技术实力是另一回事,确实百度之前是做了很多不道德的事情,不论是搜索结果的排序,还是更早的魏则西事件等,但是作为国内互联网行业的头部企业,单纯论技术百度仍然还是很强的,不是吗?(PS:百度目前并没有公布实实在在的 QPS 数据,所以百度到底是扛下了,还是搞砸了,我们还不能得出定论,但我们所猜想的和现实往往会有很大的偏差,毕竟阿里和腾讯曾经都低估过春晚的流量,更别说你我了)

当然,即使是在红包活动上,百度这一次的吃相也并不好看,过于迷信流量的百度想用这些流量去给自己旗下尽可能多的 App 引流(设置提现门槛),让自己本身就不太好的名声变得更雪上加霜。

当越来越多人对百度存有发自内心的不信任的时候,百度一直以来都占据着的、国内搜索引擎领域第一的市场份额就会逐渐流失,百度也会逐渐被其他的搜索引擎超越。

百度虽然扛下了春晚级的流量,但是他们似乎很难扛得住在这一切后涌来的网友的口水。