最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Nurse:LinkedIn 的运维自动化修复系统

  • 2015-08-03
  • 本文字数:1541 字

    阅读完需:约 5 分钟

目前,LinkedIn 已经成为全球最大的职业社交网站,其会员人数超过 3.6 亿。随着网站的迅速发展,其维护成本也不断增加,公司员工从几百人增加到数千人。为了维护网站能够正常运转和发展,LinkedIn 设置了一个专门的运维工程师团队,来充分了解网站的每个组件,并确保能够迅速解决网站的问题。然而,近些年网站遇到问题的数量增加了十几倍,使得人工解决问题越来越难。于是,LinkedIn 近期开发了自动修复系统—— Nurse
接下来,本文就 LinkedIn 的自动修复系统进行介绍。

LinkedIn 的网站可靠性工程师 Brian Cory Sherwin 表示,LinkedIn 之前都是采用人工手段来探测和解决网站运行中出现的问题。站点的稳定全都依靠工程师的双眼进行发现,然后利用双手进行手动。然而,从 2010 年到 2015 年,网站遇到问题的数量增加了 18 倍,而工程师数量却只增加了个位数。为了网站的稳定发展,LinkedIn 高层面临了一个重要选择——是相应的增加工程师数量还是设计一个自动的系统来完成大部分工作。当然,根据诸多网站发展的经验,LinkedIn 选择了后者。

作为开发自动修复系统的第一步,开发工程师们需要确定如何利用计算机算法来发现并解决问题。之前,LinkedIn 已经建立一个单独的监控系统。该系统包括了几十万个传感器,能够迅速发现网站异常,并向工程师们发出警告。然而,对于一个自动修复系统,只是发现问题肯定是远远不够的。该系统需要能够自行解决一些比较简单和常见的问题。只有对于无法自动解决的复杂问题,系统进行分类和简单分析后,将其提交给工程师解决。

那么,在发现一个问题之后,系统如何进行分析和解决呢?例如,对于一个具体的问题,基于现象的警告只能说明表相——服务器无法登陆或者应用掉线等。然而,其背后的原因可能多种多样,包括进程失效、服务器崩溃等等。在人工处理情况下,运维工程师会进一步详细分析这些现象,发掘出具体的原因,并相应的执行不同的修复步骤。自动修复系统采用了类似的处理方法。LinkedIn 团队把监控系统所发现的问题送到具体的请求工作流中。这些工作流再根据工程师之前内置的算法和动作来修复网站。以应用程序掉线为例,监控系统发现一台机器处于异常状态,无法服务数据流。之后,数据流会收集事件发生的原因、根据内置算法重启相关进程并把整个数据流的结果放置到卡片中。通过这些自动化的流程,工程师就可以避免把大量精力用在简单问题的处理上,从而把更多精力放置到复杂、深入问题方面的分析和研究中,保证网站长期健康发展。

此外,LinkedIn 已经把 Nurse 与其他系统进行了完美集成。在多个系统中间,Nurse 扮演着中间人的角色。监控系统会把修复工作流的请求发送到该 Nurse,进行问题修复。目前,LinkedIn 已经把代码部署系统、售票系统、远程执行系统等与 Nurse 集成在一起。而且,公司允许站点运维工程师和运维工程师把解决常见问题的方法放置到系统中,供系统自动学习。

在实际测试中,LinkedIn 已经证实了 Nurse 系统的用途。 Sherwin 表示,针对突然断电导致的大量服务器掉线的情况,Nurse 在数分钟即完成了服务器状态的恢复,执行速度大大优于人工解决的情况。而且,Nurse 目前每周会执行 150 个小时的修复工作流,大大节约了工程师的时间和精力。

未来,LinkedIn 会继续对 Nurse 进行改进。其考虑增加和完善的功能包括减少监控系统的资源消耗、减少从异常状态恢复的时间以及允许运维工程师更多的关注基于现象的警告等。而且,该系统为同类型公司和其他网站提供了一定的借鉴。相信未来会有更多的公司推出自动修复系统。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-03 07:392697
用户头像

发布了 268 篇内容, 共 118.2 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

一文带你掌握工作流引擎flowable所有业务概念

小鲍侃java

后端 引航计划

垂直CRM,能否走到终局?

ToB行业头条

PerfDog携手Imagination,助力开发者获取GPU关键数据

WeTest

等保测评一次多少钱,收费标准是怎样的?

行云管家

网络安全 等保 等保测评 等保2.0

应用开发中的存储架构进化史——从起步到起飞

Java 编程 架构 面试 后端

2021金九银十,啃完这35个Java技术栈,冲刺百万年薪不是梦

Java 架构 面试 程序人生 编程语言

🏆【SpringBoot技术专题】「FtpServer文件服务」教你如何基于Springboot开发一个”可移植“的轻量级文件服务项目系统!

洛神灬殇

Apache springboot ftp服务 9月日更 FtpServer

智云盾捕获多个僵尸网络利用最新ConfluenceRCE漏洞的活动

百度开发者中心

安全 漏洞

【大咖直播】Elastic 企业搜索实战工作坊(第一期)

腾讯云大数据

elasticsearch

让数据库无惧灾难,华为云GaussDB同城双集群高可用方案正式发布

华为云开发者联盟

数据库 高可用 集群 华为云GaussDB 同城双集群

HarmonyOS荣膺2021世界互联网大会领先科技成果奖

Geek_283163

华为 鸿蒙

论文阅读丨神经清洁: 神经网络中的后门攻击识别与缓解

华为云开发者联盟

神经网络 深度学习 论文阅读

遇见乌镇 | VoneCredit洞见供应链金融新未来

旺链科技

世界互联网大会 供应链金融

刷爆Leetcode!字节算法大佬进阶专属算法笔记:GitHub标星97k+

Java 架构 面试 程序人生 LeetCode

AI专家一席谈:复用算法、模型、案例,AI Gallery带你快速上手应用开发

华为云开发者联盟

算法 模型 案例 AI Gallery 应用开发

如何管理职场新人?

石云升

团队管理 管理 引航计划 内容合集 9月日更

金九银十面试如何得到面试官青睐?2021最新大厂Java面试真题合集(附权威答案)

Java 架构 面试 程序人生 编程语言

金秋国庆|官微掌门人火热征集!期待你的掌舵!

InfoQ写作社区官方

国庆中秋 热门活动

GK架构营模4作业

Ping

三款Linux文件传输工具简单介绍-行云管家

行云管家

Linux 文件传输 IT运维

第5章-《Linux一学就会》- Linux基本操作和服务器硬件选购指南

学神来啦

Linux linux运维 linux学习 Linux教程

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 架构 面试 后端 计算机

Linux用户/用户组编辑

在即

9月日更

云原生时代,如何构建数字化转型架构?

博文视点Broadview

音视频编解码 --X264码率控制初探

Fenngton

音视频 ffmpeg 编码 码率控制 引航计划

如何撬动企业数字化转型?智能客服是关键支点

ToB行业头条

ThingMap一键城市2.0重新出发:快速生成三维城市

ThingJS数字孪生引擎

地图 物联网 可视化 数字孪生

如何使用ESD二极管,设计运算放大器电压保护?

不脱发的程序猿

电路设计 ESD二极管 运算放大器 电压保护 嵌入式硬件

阿里内部最新“SpringCloudAlibaba学习笔记”(全彩第三版)限时开源

Java 架构 面试 微服务 Alibaba

浅谈语音质量保障:如何测试 RTC 中的音频质量?

阿里云视频云

阿里云 测试 WebRTC 语音 音频

解密秒杀系统架构,不是所有的系统都能做秒杀!

华为云开发者联盟

架构 秒杀 电商系统

Nurse:LinkedIn的运维自动化修复系统_语言 & 开发_张天雷_InfoQ精选文章