1. 聚能聊>
  2. 话题详情

鹿晗关晓彤公布恋情微博服务器挤爆了,如何秒开千台服务器?

昨天国庆长假最后一天,程序员们都还沉浸在长假愉悦的心情之中,本想十一长假找个没wifi的地方远离代码,但是!

多少媒体人、程序员、吃瓜群众的长假都被鹿晗关晓彤公布恋情的微博提前终结了!

明星一定是忘记了今天国庆是八天假!!!

1507511749409_jpeg

一个是流量担当,一个是当红国民闺女,凑一起同时微博秀恩爱一时间引起全民沸腾。由于瞬间流量过大,新浪的服务器不堪重负,不少地区都出现了无法访问的情况。

1

新浪微博客服发布公告称:“目前客户端无法正常刷新、评论等多个页面无法正常显示的问题,工程师已在排查(具体怎么造成的,大家心里也都有数),给您带来的不便敬请谅解,修复进度请您关注官方账号最新动态。”

新浪微博CEO小号来去之间在微博也回答网友了提出的解决服务器问题,回应称已经增加了1000台服务器来应对流量高峰,确保网友们能正常访问微博。有意思的是,这次新增的服务器居然是阿里云服务器出来救场,临时租借。(这个广告给满分!)

3

在这个时候,吃瓜群众着急围观,但是更着急的是可是程序员呀!据说昨天是微博搜索工程师大婚的日子,因为当红小鲜肉小花重量级八卦把微博整崩了,还得穿着西服抱着电脑用婚床当办公室开始加班。

2

看着这图片,同为程序员,真是看得让人心疼...

timg

所以说最大的黑客在娱乐圈啊!

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?

2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?

3、服务器扩容,你有什么快捷省钱好招?

敲桌子来上课:

微博:实现分钟级服务器成倍扩容

长假期间,技术人员如何保障系统稳定?

参与话题

奖品区域 活动规则 7月后 结束

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    云栖定制电脑包 x 2

  • 奖品三

    定制晴雨伞 x 2

60个回答

2

仰泳的双鱼 已获得云栖定制电脑包

1.从技术角度讲我认为是流量全是从服务器端响应的,而消息又具有爆发性,在一瞬间汇聚太大压力在服务节点。
我希望能够利用p2p技术,让每个消费消息的客户端也有机会成为服务端,这样流量就会极大分流,服务器端的压力就会大大减轻.
2. 没有遇到。
3. 用之前已经有相关阿里云和微博的合作技术视频了,这里我希望大家能够进一步献智在架构上给出一点参考而不是单纯的用扩容的方式解决问题

2

shawn.ss 已获得阿里云代金券

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?
部分同意其他人说的不可抗力,毕竟瞬时压力这种事情谁也猜不到,算是天灾之一
但是不同意的部分是:
系统不会降级啊,不会扩容啊,不会启动应急预案啊?
换言之,天猫如果某个时间点大家开始抢购了,服务器会崩溃吗,核心业务会不能运转吗?没遇到过,遇到了或许可以做个对比。
对渣浪来说,可能三个都做了还是崩溃,程序员的薪水可以涨一涨了,换一批能弄好的来吧,又或者服务器预算可以涨一涨了,换一批更快的机器来吧,再或者,开发语言是不是能换个更快的?

当然,渣浪作为php的忠实用户,为php的发展贡献了可观的研究素材和参考样例,为广大有志做大系统的程序员如何选择平台提供了现实参考,实在是非常感谢,bow

2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?
遇到过,不过我维护的网站没那么多人,只要加两台服务器就解决了。

3、服务器扩容,你有什么快捷省钱好招?
云服务,按需启用的是最省钱的,EIP,ECS都是神器,
可惜大公司有自己的安全感需要,不会轻易把所有核心业务都放在阿里那里,所以嘛,自建的服务器集群,docker和swarm都是必备的。
最后想说,对于创业长路漫漫,遇到一两次流量暴涨造成的崩溃也是甜蜜的负担吧

2

巴洛克上校

心疼程序员小哥1秒钟

星屋易购 回复

心疼你两秒钟。∠( ᐛ 」∠)_

江湖100 回复

心疼你3秒钟。

1922746798861143 回复

心疼微博服务器!

leef 回复

真想知道解决方案。

评论
0

mytsing520 已获得阿里云代金券

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?
同意大多数人提出的不可抗力,但是实际上可以避免。具体技术角度不作过多猜测,微博的架构师已经在微博上说明,并重点提及所有猜测均不全面,并不是简单加减的问题。建议从整体评估需求,增加服务器只是用于临时拥有更多的处理能力。但不管怎样,上线新系统也好,改造也好,建议以当前系统最大处理能力作为基础来进行压力测试,如果条件具备,可用一个较长的时间段持久测试该系统最高的处理能力。

2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?
没有。

3、服务器扩容,你有什么快捷省钱好招?
按时长计费(秒级)。

0

麦老师 已获得阿里云代金券

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?
瞬间流量太大了,而且不可能随时都开着很多备用服务器,毕竟要考虑成本,这不像是做抢购活动,提前已经准备好,微博偶然性的情况较多,很赞同楼上那位说的,不可抗力……

2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?
网站每日流量都差不多,不搞抢购、没有爆炸性的东西很少会出现这种问题,更多要考虑的是如何解决、扩容

3、服务器扩容,你有什么快捷省钱好招?
阿里云临时机,节约成本

0

陈序婷 已获得阿里云代金券

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?
如果说以前的12306网站崩溃,这个可以说是技术问题。但是对于热点事件我觉得有时候不是技术能够解决,应该算作“不可抗力”类。我从我们会计专业来分析一下这次事件。很多人可能会说同是瞬间流量,为什么天猫双11可以扛住,而微博没有?我觉得道理很简单,天猫的双11是“必然的”,有预测的。可以在双11前就添加服务器。而微博不同,微博的热点大多数时候是不可预测的。首先,常备数量巨大的服务器来应对热点事件流量是不现实的。因为作为一个企业要盈利,要进行合理的成本控制。所以我觉得避免很难,只能说怎样去及时补救。
2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?
个人站长,这个问题就比较为难我了。唯一一次遇到自己解决不了的问题,丢了工单给阿里云工程师。23333
3、服务器扩容,你有什么快捷省钱好招?
我仅仅从个人博客的角度来说说(如何撸阿里云福利),因为没有维护大型互联网工程的经历。
1.广告时间到,领取我的阿里云幸运券,打几折就看您手气了:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=4evw07mu
2.接上条,不领也没有关系,我还是爱您。
3.阿里云全民云计算 服务器330元/年
4.阿里云新用户免费6个月服务器
5.上面领到的服务器通过升降配续费改按量付费带宽仅需54元/年。

2

1019806015905001

前面两个答不上来
第三个送分题 用阿里云啊

2

1000473213130744

不作死就不会死

1

xiaodel

下午 17:42,“微博数据助手”证实,导致微博瘫痪的“元凶”正是鹿晗在中午发布的公布恋情的微博。数据显示,鹿晗公布恋情的微博共收获转发 462,884 次、 评论 986,409 条,点赞 2,566,617 个。

针对这条数据,一知乎网友评论:这是不全面的,单纯的转发评论多,并不能压垮微博。况且鹿晗的这条微博在微博史上并不算转发评论最多的一条。是因为转发、评论密集度太大了,短时间同时在线迅速爆涨,把服务器挤跨了。

还有知乎网友将此次微博宕机归咎于数据库问题。但想想微博这种级别的架构根本不是简单的分布式 server+DB 就能抗住的。别说是一个热点新闻,就算平时运营的压力也扛不住。另有网友提出数据库的吞吐量远大于 web server。

还有知乎网友分析是因为“微博自动扩容的算法没写好”,其实不然,知乎网友 @M 鹿 M 是这样反驳的:恰是因为自动扩容的算法写的太好了,才有了这次灾难。如果流量短时间内暴涨的太历害,稍做 Delay 几百毫秒,灾情就会过去;如果反应非常灵敏,流量上来了马上扩容增机,很快服务器集群池就会耗净。等到最后一台服务器被 100% 征用后,任何一个用户的回复就成了压倒骆驼的最后一根稻草,一个服务器跨了,流量迅速压向其它服务器,引发多米诺骨牌效应,服务器们指数级迅速宕下。

流量峰值面前,到底该关注什么?

新浪微博的资深运维架构师王关胜在 2016 杭州云栖大会的“开发者技术峰会”上,发表题为 《微博混合云 DCP:极端流量下的峰值应对与架构挑战》 的精彩演讲,在演讲中他提出:第一点是快速扩容、及时回收,这考验的是系统的弹性扩容、峰值应对的能力,这也是系统设计的最核心的目标;第二点要注意成本优化,可伸缩的业务利用公有云,私有云内弹性部署;第三点是运维标准化,微博流量来源主要是 PC 端和移动端,但两者的开发语言是不同的,因此系统需要打通多语言环境,通过 Docker 实现全公司统一平台;第四点,由于业务迭代快速迭代,因此基础设施需要标准化,以供公有云和私有云使用。

传统的峰值应对手段第一步需要设备申请,项目评审;第二步需要入 CMDB,上架装机;之后需要设备录入资源池,机器初始化;第三步需要运维人员进行服务部署,包括环境、监控、服务部署和流量引入;当流量峰值下降时,还需要服务自动下线以及设备置换或下架。整个链路十分冗长,大部分操作需要人工介入,而且依赖于企业内不同部门相互配合,在业务快速发展的今天,传统应对峰值的手段显然已经过时。

新浪微博是如何应对流量峰值的?

新浪微博混合云 DCP 项目技术负责人付稳在今年 4 月份 QCon 北京上,做了题为《新浪微博混合云架构应用实践之路》的演讲。

付稳回顾:每年的元旦、春晚、红包飞等会为微博带来巨大的流量挑战,这些业务场景的主要特点是:瞬间峰值高、持续时间短。每一次峰值事件的互动时间在 3 小时左右,而明星事件、红包飞等业务,经常会遇到高达多倍的瞬间峰值。微博 IT 的传统应对手段,主要是“靠提前申请足够的设备保证冗余、降级非核心及周边的业务”这两种,除了需要提前预知相关 IT 成本外,还有业务负载饱和度不一、扩缩容流程繁琐且周期长等问题。

付稳表示:当流量激增形成脉冲计算,要保证系统的稳定性和服务的正常运转,唯一的办法就是快速扩容,甚至实时扩容。新浪微博引入了阿里云的弹性计算资源来应对流量短时高峰。

混合云 DCP 核心是弹性伸缩

DCP 系统最核心的是弹性伸缩,能根据容量情况进行自动的弹性伸缩,以此来解决明显的早晚高峰及热点事件的峰值问题。

微博采用的正是 DCP 的弹性伸缩方案来应对流量峰值。架构内部主要采用私有云,早期采用物理机部署,通过化零为整建立冗余池;此外通过 OpenStack+KVM 的虚拟化方式进行资源整合,建立 VM 池。在公有云方面,通过采用阿里云等设施进行多云对接。

微博混合云平台 DCP 设计理念

微博混合云平台 DCP 的核心设计思想,主要是借鉴银行的运作机制,在内部设立一个计算资源共享池外,既有内部私有云的需求,又引入了外部公有云,使其在设备资源的弹性能力大大提升。

建立统一的设备资源管理池后,下一步需要考虑的是服务部署、资源调度等问题。目前,微博采用的是基于 Docker 的云化架构:业务上,由于部分业务并非无缝迁移到该架构上,这时需要对业务进行微服务化、消息化等改造;平台上,需要部署敏捷基础设施,打通持续集成平台以及实现多租户隔离、弹性伸缩、故障自愈等能力。

除了公有云具有弹性伸缩能力之外,私有云也可以具有弹性。公司内某个部门可能就有很多业务,如果每个业务都保留很多冗余则会导致资源的大量闲置浪费。微博采用的是将每个业务的冗余拿出来放到共用的共享池内,当业务有需求时,从共享池内申请冗余;使用完成后归还申请的服务器,通过这种方式实现私有云的弹性伸缩。

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

DCP 系统架构优势
3187000f34819dfef358
运维:你好,给你介绍一下新浪微博被拖垮这件事儿
DCP 平台,主要包含 4 层架构:主机层、调度层及业务编排层,最上层则是各业务方系统。底层的混合云基础架构则架 Dispatch 设了专线,打通微博内部私有云以及阿里云。

DCP 目前已经具备 20 分钟内弹性扩容千台服务器规模,所谓 20 分钟内弹性扩容千台服务器规模,即公有云要满足 10 分钟内完成上千台服务器的创建与交付,同时,微博 DCP 平台则在接下来的 10 分钟内完成服务器的初始化、服务调度、上线等全流程,包括操作系统的安装、Docker 及运维软件环境的安装、各种授权、服务的启动、流量的引入、上线等,这些全部在 20 分钟内完成。峰值来临迅速调度部署云服务器为新浪微博的流量峰值分摊流量,可以很好的解决私有云短时间无法迅速扩容服务器的问题。公有云的按量弹性需求十分贴合新浪微博的需求,也可以降低大量成本。

新浪微博平台核心总体分为前端和后端平台,前端主要是 PC 端、移动端、开放平台以及企业开放平台,后端平台主要是 Java、PHP 编写的各种接口层、服务层、中间件层及存储层。就平台前端来说,每日超过千亿次的 API 调用、超过万亿的 RPC 调用,产生的日志就达百 T+。这么大体量的业务系统对于运维的要求也很严格,例如接口层的 SLA 服务水平协议就必须达到 4 个 9,接口平均响应时间不能高于 50ms。

有 DCP 做后盾,新浪微博为啥还是挂了?

蘑菇街运维经理赵成于今天凌晨在微信 《从技术角度谈谈鹿晗这个事儿》 里表示: 源于用户访问模型,这次事件的模型一定是跟平时正常时期的热点访问模型不一样,对于微博技术团队来说极有可能是没有遇到过这样的访问模型,今天突发,自然也就是没有对应的立马见效的预案执行,或者执行了没有马上见到效果,只能摸索着尝试。

写在最后

新浪微博几亿 + 的用户量,热点事件给其带来数倍流量瞬间暴增,如何不影响用户体验,又不增加巨大的服务器成本投入对技术是一个挑战。

在应对流量峰值时,单单依靠管理员进行人工操作是远远不够的,因此“无人值守”的自动化扩缩容显得十分必要。要实现“无人值守”的扩缩容,首先内部的工具系统需要实现自动化,各系统之间通过 API 打通,实现全部系统间的联动。

运维自动化包含业务指标和容量指标监控,将产生的数据提供给容量决策系统,在容量决策系统的决策下,实现从运维自动化进化为无人值守的扩缩容。

注:以上内容来源今日头条

0

mk823

问:淘宝和微博都挂了,阿里云先救谁😂

0

1471308065004871

大数据时代来临,DT时代,要用DT技术解释各种“突发情况”

0

1758507993660567

既然有了这次鹿晗关晓彤的事件后,我觉得微博应该制定一些面对大量信息潮流来的时候的应急预案,毕竟微博明星的关注量很大。

0

不忘初衷8

作为刚出道的程序员,遇到这种事情,内心是崩溃的

0

1338803890449032

很高兴收到淘宝事业部的邀请参见本次大会,大会重磅推出和各个峰会指明的方向很清晰,同时展会的活动便于沟通合作,希望大家的共同努力,实现交互式的中国梦,技术模块化便于很多智能交互公司集成开发。这几天的会议只是开端,童鞋们,我是知音,懂技术但不懂开发,精诚合作、未来共享。谢谢
92ff5a95259b4a5ca303b9dd4406c54b_3_1507958359.145027.jpg

0

1830398719787463

负载过高、分流

0

williamleesh

是不是为了省钱为关了自动扩容?

0

1917789970600229

我贡献了多少流量

0

胡钊颖520

全部上分布式服务器

0

巴洛克上校

1、鹿晗关晓彤公布恋情挤爆了微博服务器,从技术角度你觉得原因是什么?如何避免?

2、你维护的网站或业务遇到过类似的紧急状况吗?怎么处理的?

3、服务器扩容,你有什么快捷省钱好招?

0

1282870643732996

微博全部上云吧

3