微博宕机复盘:什么样的技术架构,可支持80个明星并发出轨?


戳蓝字“CSDN云计算”关注我们哦!

作者 | 张蓝予

编辑 | 苏琦

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

 微博曾经夸下海口,支持8个明星并发出轨,再一次打脸了,微博技术同学要好好反省、认真反省。

话又说回来,为什么微博总是宕机?从技术上来说,什么样的架构能够应对瞬间亿级访问量?真的能支持8个明星、80个明星的瞬间亿级流量?

 


01

衡量明星火不火,就看他是否搞宕过微博

 

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


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

 

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


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


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


640?wx_fmt=png


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


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

 

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

 

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

 

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

 

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



02

成本和宕机之间,微博选择前者


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


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

 

640?wx_fmt=png

微博技术专家演讲截图


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

 

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

 

640?wx_fmt=png

微博CEO王高飞微博截图

 

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

 

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

 

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

 

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

 

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


640?wx_fmt=jpeg

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


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

 

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

 

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

 

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

 


03

热点无法预测,“边缘计算”或将解决宕机难题

 

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

 

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

 

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

 

640?wx_fmt=jpeg


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

 

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

 

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

 

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

 

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

 

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

 

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


小编就想问问,你边缘计算就算支持了,上哪给你找80个明星并发出轨,做压测呢?关于微博宕机你有什么好招?欢迎留言区告诉我。


640?wx_fmt=png

福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 你硬盘里的那些电影都是如何被保存的?

  • 又是GAN!这个AI让周杰伦、罗永浩“变脸”古典画像

  • 抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

  • 17 岁成为 iOS 越狱之父,25 岁造出无人车,黑客传奇!

  • 阿里平头哥“生娃”!最强 RISC-V 处理器玄铁 910 诞生!

  • 孙宇晨深夜发文致歉: “我年轻, 涉世未深”……

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flowable 动态多实例

<?xml version"1.0" encoding"UTF-8"?> <definitions xmlns"http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd"http://www.w3.org/2001/XMLSchema&quo…

为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪

摘要&#xff1a; 1 为什么要按列存储 列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好&#xff0c;直接抄原文了)&#xff1a; Row-based storage stores atable in a sequence …

Hive精华问答 | Hive和传统数据库有什么不同?

Hive是一个数据仓库基础工具&#xff0c;它是建立在Hadoop之上的数据仓库&#xff0c;在某种程度上可以把它看做用户编程接口&#xff08;API&#xff09;&#xff0c;本身也并不存储和处理数据&#xff0c;依赖于HDFS存储数据&#xff0c;依赖MR处理数据。它提供了一系列对数据…

MaxCompute SQL原理解析及性能调优

摘要&#xff1a; 分享内容 介绍了ODPS SQL的基于mapreduce是如何实现的及一些使用小技巧&#xff0c;回顾了mapreduce各个阶段可能产生的问题及相应的处理方法&#xff0c;同时介绍了一些应对数据倾斜的处理方法&#xff0c;最后介绍了一些关于数据集构造、特征选择的技巧帮助…

flowable用户组的处理

背景 flowable有自己的用户账号信息&#xff0c;用户信息&#xff0c;用户组信息&#xff0c;其实这些用户信息都我们系统可能都存在&#xff0c;那么我们如何去使用一份数据呢&#xff1f; 1.我们可以建立视图直接取我们的组织信息&#xff0c;这个可以参考相关的文档 2.我们…

微软 SQL Server 2019 将免费支持 Java;Rancher Labs获2500万美元融资;腾讯云进军日本市场……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go “2019世界计算机大会”新闻…

玩 High API 系列之:实现钉钉Ding功能

摘要&#xff1a; 钉钉是企业IM市场上的领先者&#xff0c;深受中小企业客户的喜欢&#xff0c;就再几天前刚刚宣布用户数超过1亿&#xff01;在钉钉里面有个特别实用的功能&#xff0c;那就是Ding一下&#xff0c;如果你发的消息特别紧急&#xff0c;可以直接通过短信、电话等…

flowable中动态显示节点的审批人信息

1、上面的流程图当任务还没有到的节点&#xff0c;用户想看看节点的人的信息&#xff0c;如果我们常规的是不能实现的。 2、思路就是我们取出节点的表达式&#xff0c;然后用我们流程实例的变量来给他翻译出来即可&#xff0c;如何做呢&#xff1f; 2.1、通过流程实例id查出历…

InfoComm China 2019,揭秘“NVIDIA风格”数据科学!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者|刘晶晶在炫酷的复联4电影中&#xff0c;超过2600个特效镜头层出不穷&#xff0c;意味着电影的后期剪辑与特效对于硬件设备的要求越发提高&#xff0c;毕竟特效制作着力依赖画面渲染。我们了解&#xff0c;在没有GPU之前&#x…

玩 High API 系列之:智能云相册

摘要&#xff1a; 相册是手机中的一个非常重要的功能&#xff0c;然而目前的大部分手机的相册非常普通&#xff0c;仅仅有查看照片&#xff0c;编辑相片的等几个简单功能。我们来看看如果在API时代&#xff0c;如何通过调用API快速实现一个好玩的&#xff0c;具备智能分析识别、…

玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头...

摘要&#xff1a;玩 High API 系列好文&#xff1a;UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头 导读&#xff1a;初创公司可以利用API来解决问题。了解更多场景如何玩High API&#xff1f;如何将API变现&#xff1f;请下载阿里云 API Playbook&#xff08;免费下载&…

java项目功能详情介绍,JAVAEE—spring的详细介绍

一、spring介绍1.三层架构中spring位置2.spring一站式框架正是因为spring框架性质是属于容器性质的.容器中装什么对象就有什么功能.所以可以一站式.不仅不排斥其他框架,还能帮其他框架管理对象.aop支持、ioc思想、spring jdbc、aop 事务、junit 测试支持二、spring搭建1.导包日…

乘势而起,走进2019年风口“边缘计算”

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| pasca原创 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;5G火了&#xff0c;也带火了边缘计算。2019年3月&#xff0c;一篇《5G风口扩散&#xff0c;超清视频边缘计算概念崛起》的文章意外走红&#xff0c;直接…

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要&#xff1a; 概述 阿里云的公网入口产品共有三个&#xff0c;SLB、EIP、NAT网关&#xff0c;这几个产品都可以作为云上资源的公网入口&#xff0c;他们之间有何区别&#xff0c;又分别应该在什么场景下使用呢&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.co…

Hadoop常见问题 | Hadoop能干什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;我们很荣幸能够见证Hadoop十几年间经历了从无到有&#xff0c;再到称王。感动于技术的日新月异时&#xff0c;希望通过本篇有问有答&#xff0c;带大家解决Hadoop的常见问题。1Q&#xff1a; Hadoop 的发展历史A&#xff1a;2Q&…

matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者&#xff0c;毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个&#xff0c…

uDevice Center - IoT弹性在线多设备开发平台

摘要&#xff1a; IoT开发的一大痛点在于&#xff1a;硬件获取与setup路径太长&#xff1b;开发工具难以支持多设备联合开发。我们用uDevice Center把开发板/设备都搬到了线上&#xff0c;让用户可以不用买硬件接线&#xff0c;在线就能做IoT开发调试了。同时&#xff0c;uDevi…

快报:Python 被爆重大“黑料”!程序员:劲爆!

坐拥各大编程排行榜的Python&#xff0c;真的无敌了吗&#xff1f;在我一个朋友看来&#xff0c;他坚信 Python 可以做任何事情。但其实我是不服的&#xff0c;我相信很多人都有这种感觉。但是我最近当看 GitHub 年度项目数量时&#xff0c;我哭了&#xff0c;因为 Python 应用…

SpringBoot集成flowable-modeler(6.4.1) 实现免登

因公司需求需要将flowable的流程设计器集成到项目中&#xff0c;下面将最近的研究成果记录一下。 文章目录一、下载flowable-modeler源码二、添加相关maven包三、调用idm服务重新接口四、配置类五、启动类跳过登陆拦截六、配置文件一、下载flowable-modeler源码 把flowable-ui…

时代在召唤5G

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| 白告天原创 |边缘计算社区错过房价飞涨的年代&#xff0c;你还要错过5G这班车吗&#xff1f;一 5G是什么&#xff1f;5G&#xff0c;就是第五代移动通信技术。和大哥大变成智能手机&#xff0c;绿皮火车变成和谐号都是一种大幅…