写点什么

Roblox 发布宕机报告,并表示关键业务坚决不上云

  • 2022-01-22
  • 本文字数:1338 字

    阅读完需:约 4 分钟

Roblox发布宕机报告,并表示关键业务坚决不上云

1 月 20 日,在线游戏平台 Roblox 发布了一份报告,详细解释了去年 10 月份的长达 73 小时的宕机事故原因。Roblox 表示宕机主要是因启用了 Consul 较新的流式传输功能导致性能下降最终引起系统崩溃。Consul 是 HashiCorp 开发的免费开源服务网络平台。

 

Roblox 是目前在全球范围内备受欢迎的在线游戏平台,涉及数百个内部在线服务,日活跃用户超过 5000 万,其中许多人的年龄在 13 岁或以下。值得一提的是,Roblox 还被认为是“元宇宙”(metaverse)的关键参与者。

 

去年万圣节前夕(10 月 28 日),Roblox 发生了一次超长时间宕机事故。由于长时间都不能恢复服务,对产品信誉造成了比较大的影响。Roblox 创始人兼 CEO 大卫·巴斯祖奇(David Baszucki)随后在一篇博客文章中称:“花了这么长时间才恢复服务,我们对此表示歉意。”并表示“这一次的宕机问题很复杂,难以解决,因为它涉及几个因素的组合。由于我们后端服务通信在负载过重时出现了一个细微的错误,导致我们基础设施中的核心系统变得不堪重负。但这并不是因为对外流量或任何特定体验超出峰值所致。相反,故障是由我们数据中心服务器数量的增长造成的。”

 

事情过去快三个月,Roblox 终于发布了详细的报告。在报告中,Roblox 的技术人员解释到,Roblox 程序运行在他们自己的数据中心中,拥有超过 18,000 台服务器和 170,000 个容器,部署规模巨大。为了在多个站点上运行数千台服务器,Roblox 使用了“HashiStack”技术套件。其中包含 Consul,以 Master/slave 模式来管理集群状态,进行服务发现、健康检查、会话锁定(用于构建在顶部的 HA 系统)以及作为 KV 存储。

 

10 月 28 日下午,单个 Consul 服务器 CPU 负载过高,并且 Master/slave 无法正常同步。当 Roblox 服务想要与另一个服务对话时,它依赖于 Consul 来获取想要与之对话的服务的最新位置信息。但是如果 Consul 不健康,服务器将难以连接。另外,调度服务也依赖于 Consul,因此当 Consul 不健康时,系统无法调度新容器或检索身份验证信息。这致使系统健康状况显着下降,最终导致系统完全中断。

 

技术人员首先迁通过移集群排除了硬件问题,随后关闭、开启 Consul 集群服务经过约 50 个小时的排查得知是因为之前将 Consul 的长轮询改为了流式传输,在读负载和写负载都很高的情况下,流加剧了单个 Go 通道的竞争,导致写入过程中出现阻塞。同时,Consul 使用了一个流行的开源持久性库 BoltDB 来存储 Raft 日志,BoltDB 的设计导致了磁盘空间无限增长。

 

宕机 54 个小时后,通过禁止流式传输功能,将其中一个 Consul 集群恢复为了正常状态,并逐渐恢复了系统的服务能力。事后,HashiCorp 团队也将 BoltDB 改为了bbolt

 

在这样的中断之后,很多人很自然地询问 Roblox 是否会考虑迁移到公共云,让第三方管理 Roblox 的基础计算、存储和网络服务。

 

Roblox 技术人员表示,与公有云相比,自建数据中心能够显着控制成本。此外,拥有自己的硬件并构建自己的边缘基础设施能使 Roblox 最大限度地减少性能变化并管理全球玩家的延时。但也并不拘泥于任何特定的方法:“我们将公共云用于对我们的玩家和开发人员最有意义的用例,例如突发容量、大部分 DevOps 工作流程以及大部分内部分析。但对于对性能和延迟至关重要的工作负载,我们选择在本地构建和管理自己的基础架构。这样才能使我们能够建立一个更好的平台。”

 

2022-01-22 19:536272

评论 1 条评论

发布
用户头像
沙发!
2022-01-24 18:45
回复
没有更多了
发现更多内容

AI智能体:大模型之后的下个技术革命?

测试人

人工智能

用户旅程图用什么软件做?4个用户体验地图工具盘点!

职场工具箱

人工智能 产品经理 AIGC 绘图软件 用户旅程图

互联网人离职空窗,我该怎么回答HR最认可?

测试人

面试

HyperWorks分析模型的建立与边界条件施加

智造软件

CAE 仿真软件 Hypermesh

2025链游爆款方法论:从Axie到AI跨链的破局路径

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 代币开发 代币开发公链开发

什么是数据集市(Data Mart)?

镜舟科技

数据仓库 OLAP 数据集市 多维数据模型 在线分析处理

为Java虚拟机分配堆内存大于机器物理内存会怎么样?

电子尖叫食人鱼

Java

VMware ESXi 8.0U3e macOS Unlocker & OEM BIOS 集成 AQC 网卡驱动定制版

sysin

esxi

工单智能化应用有哪些,工单管理系统选型推荐

云智慧AIOps社区

信息化、数字化、数智化之间的区别和联系

积木链小链

数字化 信息化 智能制造

信创BeeWorks-国产化企业级im即时通讯软件

BeeWorks

即时通讯 IM

迭代器失效:99%的C++程序员都会踩的坑 !

秃头小帅oi

KET口语陪练APP的功能

北京木奇移动技术有限公司

软件外包公司 AI口语APP KET考试

CST软件如何将Altium的PCB板子导入CST

思茂信息

cst仿真软件 CST软件 CST Studio Suite

EI与MCP的故事

京东科技开发者

LangChain4j如何自定义文档转换器实现数据清洗?

王磊

什么是基于知识图谱的多模态推理?

测试人

人工智能

嘉为蓝鲸受邀出席 2025 GOPS全球运维大会·深圳站

嘉为蓝鲸

GOPS全球运维大会

大模型辅助科研编程实录分享:效率飙升!“分分钟搞定”,智能体编排如何加速工作流

ModelWhale

小支同学华为鲲鹏微认证——鲲鹏软件迁移实践、鲲鹏软件性能调优实践

巴库一郎

鸿蒙 HarmonyOS 鲲鹏 DevKit harmoyos 实践分享

中国主场!“世亚人工智能展·世亚智博会”重塑科技版图

AIOTE智博会

智博会 人工智能展 世亚智博会

以细节诠释专业,用成长定义价值——对话@孟同学 |得物技术

得物技术

创新

ITSM运营:降低变更风险的自动化与流程优化实践

嘉为蓝鲸

ITSM 智能运维

AI编程新时代,CodeBuddy 带你来体验

六月的雨在InfoQ

AI编程 CodeBuddy CodeBuddy首席试玩官 AI 代码助手

TextIn ParseX重磅功能更新:支持切换公式输出形式、表格解析优化、新增电子档PDF去印章

合合技术团队

人工智能 算法 #大数据

用小猫的视角看世界——关于「小猫相机」的一点浪漫构想

花十君

小猫相机 浪漫视角 柔软镜头 猫咪视角

财务合同MCP实践

京东科技开发者

如何查看系统完整性:全面指南与实用工具推荐

运维有小邓

日志管理 日志审计系统 IT运维服务 文件完整性

交易所开发-如何开发一个交易所

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Web3应用的上线流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

大模型技术跃迁,容联七陌开启智能客服新纪元

人称T客

Roblox发布宕机报告,并表示关键业务坚决不上云_服务革新_Tina_InfoQ精选文章