查看原文
其他

鹿晗搞垮新浪微博之我见

2017-10-09 飞总 飞总聊IT

占据昨天互联网各大媒体头条的,从新浪微博到百度搜索,从今日头条到知乎,都是鹿晗和关晓彤的恋情。

其实对于技术宅如我来说,既不知道娘炮的鹿晗是谁,也不明白国民女神关晓彤是什么来历。但是有一件事却不得不引起我的关注。鹿晗这一发抖,新浪微博就挂了。作为技术男,想要理解为什么一个娘炮宣布有女朋友,就导致了新浪微博抽风了。

鉴于鹿晗的影响力如此大,很多女粉丝自杀之类的都出现了,知乎上的技术大咖们自然也是不甘寂寞的做了很多分析。


这些分析有的怀疑是数据库服务出问题了,有的怀疑是其他组件出问题了。还有人怀疑说自动扩容系统不好使。又有一种说法是自动扩容可能导致新浪钱财被大量浪费,所以很多时候大的扩容需要运维手工维护。但是因为赶上了假期所以运维需要背锅了。

从新浪公布的数据来看,鹿晗相关的话题被转发了46万次,覆盖人群8亿人。可见这的确是一次爆炸式的滚雪球一样的数据风暴。

我不是怀疑这些人的技术水准。我也想说,真实的情况其实最后还得等某浪自己公布。但是有一点是所有的技术大咖里都没有谈到的。这也就让我怀疑这些技术大咖可能并没有经历过观看几万台机器协同工作的经历。


我在微软5年的工作经历,从技术成就上来说,实在比不上我后面三年内做的。但是从大开眼界上来说,确实又是让我极为大开眼界的几年。几万台机器一起工作,遇到一些拍脑袋一辈子也想不到的事情,真心不稀奇。


这个事情在我看来,如下的一种可能性最有可能。我试图来解释一下。我们知道对于某浪某博这样的服务,每个子系统的设计,都有一定程度的冗余。


冗余其实是一些防范机制。比如说,客户端访问一个资源没有成功,那么客户端就会做一些重试。这种类似的机制在几乎每一个内部服务里面都有。


除了重试机制以外,一般这些服务都还有监视,自动扩容,自动恢复等一系列的功能。


为什么要有这些,这是因为在几千上万台机器上构建的应用,和我们平时想象的世界很不一样。最大的不同是,什么样的东西,都有可能暂时不可用。网络不可用,机器暂时失联或者永久下线,诸如此类。如果没有一些冗余的话,整个系统就无法正常的服务大众。


然而这类冗余机制,有一个致命的问题。任何的恢复机制,都是以增加系统的负担为代价的。当整个系统处于相对健康状态的时候,这种增加的负担并不是什么问题。相反的,因为系统的状态很快恢复到了正常,这种暂时性的负担增加是有益的。


然而情况会发生变化。由于这类系统的设计很复杂,通常来说,一般系统都不会存在全局的冗余和恢复机制。相反的,各个模块和服务自己会做一些冗余和恢复的能力。这种做法,简化了系统的设计和运行,有其可取之处。


但是当系统发生巨大的问题的时候,也就不存在着一个全局调控的机制,去协调这些模块的冗余和恢复能力。所以一旦问题出现,每个模块自己的冗余和恢复相关的机制就会启动。


然而因为全局的情况已然很糟糕,这些恢复机制所带来的额外负担,只会让各个服务的失败率继续提升。而这种提升又会继续导致各个模块的恢复机制升级。升级又导致整个系统资源近一步枯竭,失败率继续提升。然后就在这种循环里面滚雪片一般的进入到一条不归路。


所以自带恢复机制的系统的临界点是一个很奇怪的点。在这个之前,恢复机制得以正常运行,系统迅速恢复状态。在这个之后,系统如同滚雪球一般的走向死路。人工干预必不可少。


类似这样的事情,我在微软工作的时候遇到过几次。其中有一次是数据中心的一个电源以及备用电源都因为过载被烧掉,导致了近千台机器突然消失。于是从存储到元数据到计算到资源调度各个模块都迅速的发现了系统出现问题,各自进入自己的恢复机制。然后在这种恢复中滚雪片一般的让整个系统愈演愈烈,最后完全失去服务能力,只能人工进行干预和恢复。


从这个事情的发展来看,看起来很像是不同服务的恢复扩容机制导致了整个系统资源近一步枯竭,最后因为恶性循环走向一条不归路。


这类问题涉及到分布式系统里面资源管理里非常难的地方。我并没有见到过特别优雅的解决方案。但是我当时所在的组所经营的微软一个内部服务,在经历了一次类似雪崩的服务奔溃以后,大规模的改变了服务恢复机制。


概括来说,当服务恢复机制实施导致系统走向更加恶劣的状态的时候,系统会非常谨慎的选择暂缓服务恢复机制的实施。这并不是什么优雅的解决方案,但是实践里可以解决很多问题。


以上是我对此次事件的一些看法。必须说,偶像的力量是无穷的。这个事件让我这个挣扎在写公众号边缘努力增粉而对祖国互联网毫无影响力的老程序猿,感到了深深的悲凉。


百无一用是码农啊。

打赏专用二维码

相关阅读

必看的10个方向代表未来--Gartner2018技术趋势分析(上)

从佛洛依德理论看沟通的层次

Larry怒怼Redshift

难圆满的SQL Server 2017Linux梦

惊闻AI降临,DBA即将失业

欢迎加飞总小密圈


飞总聊IT

IT八卦,大数据风云,职场风波

长按二维码订阅

合作垂询:feizongitworld@gmail.com

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存