Fork me on GitHub

微博为何总宕机?

  燃财经(ID:rancaijing)原创
  作者:张蓝予  编辑:苏琦

  “微博史上三大战役:范冰冰李晨,王宝强,鹿晗。“微博技术专家胡忠想 2017 年在微博上调侃道。

  李晨发长文表示“珍惜范冰冰”、王宝强发布离婚声明,鹿晗公布恋情,都一度让微博宕机,短则十分钟,长则持续了 1 个多小时。对此微博回应称流量瞬间暴增,超出服务器最大访问阀值,将加强技术储备,完善应对方案。

  6 月 27 日晚间,范冰冰李晨宣布分手,瞬间亿级的访问量,让微博再一次“崩溃”:范冰冰账号评论区无法加载,搜索“范冰冰李晨”显示失败。

  为什么微博总是宕机?随着 5G 时代来临,边缘计算广泛应用后,宕机情况还会继续发生吗?

  衡量明星火不火

  就看微博是否为他宕机过

  不得不承认,明星的内容与流量支撑起了微博的大半江山。每次明星爆出热点事件,观众都会第一时间奔向微博吃瓜,瞬间涌入的流量也直接导致了微博宕机。

  2015 年 6 月 1 日,在李晨和范冰冰承认两人正在热恋中的两天后,李晨又深夜发长文证实张馨予出轨导致分手并称珍惜范冰冰。微博瞬间陷入崩溃,十几分钟后才恢复正常。

  2016 年 5 月 20 日,霍建华工作室官方微博发消息称:“华说:希望得到大家的祝福,@林心如。”林心如工作室则转发了该微博并加了一颗爱心,默认了恋情,微博系统一度崩溃。

  但这两次微博宕机还算小范围,王宝强马蓉事件曾让微博一天内“瘫痪”了数次。

  2016 年 8 月 14 日,王宝强深夜发布离婚声明称妻子马蓉与经纪人存在婚外不正当两性关系。微博瞬间爆掉,仅五秒内该条微博的评论数就已过万。紧接着微博服务器崩溃,无法刷出新内容。

  微博修复好后,几条相关微博的点赞数和评论数都超过了 100 万,有网友表示,凌晨两点,微博很多内容还是加载不出来。第二天一早,不仅微博热搜无法进入,部分地区微博的评论点赞提示功能更是失灵,用户关注页面出现 bug,feed 流出现问题,最新内容无法刷出。

  仅仅一个月后,网上突然出现大批爆料,称演员乔任梁在上海桃浦离世。晚上 10 点许,上海警方微博发布消息,称 9 月 16 日晚 18 时 21 分,普陀公安接到报警称桃浦地区祁顺路某住宅楼内有一男子死亡。该微博发布 15 分钟后,新浪微博开始宕机。


微博界面显示网络出错

  2017 年 10 月 8 日下午,国庆节假期的最后一天,演员鹿晗和关晓彤公开恋情。随后微博出现了无法正常刷新、评论等多个页面无法正常显示的问题。此次两人的恋情公布,微博数据也达到了巅峰,两人互动数(转评赞)合计 1380 万。

  微博客服证实客户端出现了无法正常刷新、评论等多个页面无法正常显示的问题,并表示工程师已在排查。

  这次瘫痪堪称微博史上最严重的一次,持续了 1.5 个小时,王高飞也在微博上表示,紧急租了 1000 台服务器才解决问题。

  2018 年 10 月 16 日早间,演员赵丽颖和冯绍峰突然在社交平台微博上发布婚讯。熟悉的一幕再次上演,搜索相关关键词时,系统一度卡顿。微博方面回应称,确实是发生宕机,原因是流量瞬间暴增,超出服务器最大访问阀值。并称后续将仔细复盘,加强技术储备,完善应对方案。

  发生了几次宕机事件后,吃瓜群众们对此表示已经习惯,甚至很多人认为,如果明星突然宣布结婚或分手微博还没宕机,只能证明该明星还不够火。

  今年的两次宕机,发生在“志玲姐姐”结婚和“范爷”分手上。

  6 月 6 日,林志玲结婚喜讯宣布后,在微博搜索上林志玲的名字显示搜索失败,请重试。

  6 月 27 日,范冰冰李晨宣布分手,范冰冰账号评论区无法加载,搜索“范冰冰李晨”显示失败。

  此外,朱一龙发博、沈梦辰卖货,王思聪公布百万大抽奖结果等事件也一度让微博发生小范围故障。

  成本和宕机之间

  微博选择前者

  都 9012 年了,微博为何还在不断宕机?

  据业内技术人员介绍,服务器集群都会按照平时流量预估的峰值来设置。这几次宕机事件都是由于突发热点事件造成的瞬间流量过大,导致服务器压力承受不住客户请求而崩溃。


微博技术专家演讲截图

  据微博技术专家在演讲时引用的数据图显示,鹿晗关晓彤宣布恋情的瞬间,搜索流量激增 3 倍有余。

  为了成本考虑,目前微博都是在热点事件爆发后才会去阿里云紧急扩容。


微博 CEO 王高飞微博截图

  几年前,微博建设了一套全自动化运维平台,新浪微博技术专家介绍,微博的自动化运维平台是借助公有云弹性计算资源平台应对爆发式峰值流量,基于 Docker、Swarm 等容器云技术体系实现分钟级千台规模机器创建及服务部署自动化运维体系。

  架构内部主要采用私有云,早期采用物理机部署,通过化零为整建立冗余池;此外通过 OpenStack+KVM 的虚拟化方式进行资源整合,建立 VM 池。在公有云方面,通过采用阿里云等设施进行多云对接。

  微博遇到的流量挑战是瞬间峰值高但持续时间短,当流量激增形成脉冲计算时,保证系统稳定性的唯一办法就是快速扩容甚至是实时扩容,通过引入阿里云的弹性计算资源来应对流量短时高峰的情况。目前微博混合云 DCP 平台,具备 15 分钟内扩容 1000+ 服务器的能力。

  这为微博省去了大量的成本,毕竟平时如果征用这么多服务器,也都基本处于闲置状态,实在过于浪费。阿里云官微曾表示,一台机器租用 1 小时只要 1.86 元,但事实上这只是华北 3 区一台低配版机器的价格。就按这个低配价来算,每天使用 1 台机器将产生 45 元钱左右的费用,1000 台就要 45000 元,一月就是 135 万元,一年将近为微博带来 1620 万元的成本。粗略算来,动态扩容一年或许可以为微博省下超过 1000 万的费用。

  微博技术专家胡忠想也曾在微博上吐过苦水:扩容少了没扛住,挂了;扩容多了没流量,亏了。


微博技术专家胡忠想微博截图

  面对这种“里外不是人”的两难状态,热点发生时再动态扩容来应对,或许才是微博最佳的选择,毕竟谁也无法预估当天会有哪对明星情侣宣布分手。

  如果发生宕机,阿里云目前技术可以做到在 1 分半钟内解决。在 2018 杭州云栖大会主论坛上,阿里云测试混合云容灾方案,在服务器宕机、业务中断的几秒后,监控系统探测到服务不可连接,在 1 分半钟之内,业务在云上恢复了运行。

  除了扩容外,“降级”也是一种合理的控制手段。将应用服务器进行业务拆分,每个业务应用负责相对独立的业务运作,业务之间通过同享数据库来实现。当服务器负载过重时,平台可以做降级策略,保证核心业务顺畅运行。比如当微博的热搜榜瘫痪时,评论、转发等功能还可以正常使用。

  微博技术专家此前表示,在应对流量峰值时,除了弹性伸缩系统,还需要统一的监控平台、核心链路服务自动伸缩、预案&干预手段相互配合,以保障峰值服务正常运行。

  热点无法预测

  “边缘计算”或将解决宕机难题

  其实,出现宕机也不全是微博的错,毕竟热点无法预测。一般像双十一、春节这种大型流量节点,各家都会提前做好充足的准备工作。

  百度为了今年春晚红包战事提前准备一个月,增加了 3 万台服务器,投入了大几亿的成本。

  为了迎接 2018 年双十一,阿里云新增了近千万的弹性计算能力,相当于 10 座大型的数据中心,创造了“脉冲计算”的新纪录。但扛住了千亿级访问量,维持交易正常进行,却没想到大量用户提交退款,退款页面瞬时崩溃。

  再充足的准备,也难以抵挡瞬间巨大的流量涌入。今年春节零点后,微信红包显示无法发送,直到半个小时以后才逐渐恢复。

  在通信博士张峻恺看来,现在服务器的所有数据都放在单点云上,这种情况无论如何扩容,都会有瓶颈。他认为,未来“边缘计算”的成熟可以解决这一问题。

  边缘计算是一种分布式计算,将数据资料的处理、应用程序的运行和功能服务的实现,由网络中心下放到网络边缘的节点上。这样就可以把云打散,就近接入不同节点,提供最近端服务。

  全国网民在同时访问微博时,可以就近访问不同的节点。各个节点之间有一定的处理能力,处理完再上报给集中节点,这就大大减少了数据的汇聚和传输量,同时就近节点的访问延迟也会缩短。

  此外,边缘计算支持数据本地处理,大流量业务本地卸载可以减轻回传压力,有效降低成本。

  预计到 2020 年,每人每天平均将产生 1.5GB 的数据量。5G 时代以后,微博、抖音等 APP 数据量会呈几何性增长,带宽的扩张却是线性增长,所以必须利用“边缘计算”调整网络结构,让带宽增长的速度赶上数据增长的速度。

  目前,“边缘计算”还在发展阶段,张峻恺认为,未来 5 年内将会完成布点建设。

  *题图来源于视觉中国。

 

来自:
燃财经(ID: rancaijing)

作者:Johnson
原创文章,版权所有,转载请保留原文链接。