AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

Roblox 如何从 73 小时故障中吸取教训,为 7 千万用户提供可靠服务

作者:Matt Saunders

  • 2024-01-16
    北京
  • 本文字数:1628 字

    阅读完需:约 5 分钟

Roblox 如何从 73 小时故障中吸取教训,为 7 千万用户提供可靠服务

在线游戏平台和创作系统 Roblox 详细介绍了他们如何提升其基础设施的效率和弹性,满足 7 千多万活跃用户参与沉浸式游戏体验的需求。这篇博 深入探讨了 Roblox 如何实现可靠性承诺、如何应对 2021 年的重大故障以及如何通过持续转型来提升基础设施的效率和弹性。


2021 年 10 月,Roblox 遭遇了持续 73 小时的系统范围的故障,这是由一个数据中心的一个小问题引发的,然后迅速演变成大规模故障。通过事故后分析,团队加大了巩固其基础设施的工作,以应对各种故障因素,如流量峰值、天气条件、硬件故障、软件错误和人为失误。重点是防止单个组件的问题扩散到整个系统,并确保网络或用户持续重试操作不会造成与负载相关的级联故障。


为了应对类似 2021 年 10 月的故障,Roblox 最初在不同区域的数据中心采用主备方式构建了基础设施的副本。这意味着团队可以在主数据中心出现重大故障时将整个系统切换到备份基础设施上。这提供了一种应急的弹性形式,但他们的长期目标是从主备数据中心转变为双活,让两个数据中心同时处理工作负载,实现更高的可靠性和几乎即时的故障切换。


Roblox 还实现了蜂窝基础设施架构,在数据中心内建立强大的“防爆墙”,防止发生整个数据中心范围的故障。蜂窝蜂窝单元或机器集群在单个蜂窝单元内提供冗余和故障控制。Roblox 的目标是将所有服务迁移到蜂窝单元中,以此来增强弹性和高效的工作负载管理,整个蜂窝单元(每个蜂窝单元可能包含 1400 台服务器)可以在必要时进行修复或完全重新配置。这个过程需要确保一致性,要求服务进行容器化,并实现基础设施即代码的理念。Roblox 新的部署工具会自动确保服务跨蜂窝单元分布,从而使服务所有者不必考虑复制问题。


Roblox 将蜂窝单元作为一种防火门,可以将故障限制在一个蜂窝单元内。目标是使蜂窝单元变得可互换,以便在出现问题时更快地恢复。然而,管理蜂窝单元之间的通信存在一些挑战,因为需要防止“死亡查询”,即重试查询会导致级联故障。他们正在部署短期解决方案,例如将计算服务的副本部署到每个计算蜂窝单元中,并在蜂窝单元间平衡流量,以此来缓解这种情况。他们的长期计划包括实现用于服务发现的下一代服务网格以及将依赖请求定向到与原始调用方相同蜂窝单元的方法。这将降低故障从一个蜂窝单元传播到另一个蜂窝单元的风险。70% 的后端流量现在由蜂窝单元提供,他们的最终目标是达到 100%。近 3 万台服务器正在运行蜂窝单元,但这还不到总服务器数量的 10%。


在不中断用户的情况下迁移一个非常繁忙的在线平台的复杂性是巨大的。由于没有大量的资金购买全新的服务器来运行蜂窝基础设施,Roblox 创造性地利用了一小部分备用机器,并策略性地建立了新的蜂窝单元,逐步迁移工作负载,然后重新使用已释放的机器来进行下一次迁移。这在不同的数据中心之间造成了一些理想的蜂窝单元碎片,增加了蜂窝单元内的弹性。Roblox 预计将于 2025 年完成迁移,他们需要强大的工具来部署均衡的服务,并且不会干扰到用户,他们还需要进行详尽的测试,确保在蜂窝架构中运行的新服务的兼容性。



Roblox 的努力取得了成功,但针对蜂窝单元的工作仍在进行中。他们致力于在不断扩展规模的过程中提高效率和弹性。他们的主要成就包括建立第二个数据中心,在主备数据中心创建蜂窝单元,将超过 70%的后端服务流量迁移到蜂窝单元中,以及建立了实现一致性的要求。2023 年 9 月,Roblox 在数据中心启动了双活实验,增强了可靠性并最大限度地缩短故障转移时间。这些成果让他们获得了一个实现全面双活基础设施的计划,确定了改进系统设计的模式。他们一直致力于提升效率和弹性,设想让平台成为数百万用户可靠、高性能的实用工具,并实现实时连接十亿人。


他们的基础设施现在运行在近 14 万 5 千台服务器上(大部分在本地私有混合云中心)——两年内增加了三倍。Roblox 目前正在努力改造基础设施,使平台更具弹性,更加高效,为数百万用户提供服务,为持续的增长和创新奠定基础。


原文链接

https://www.infoq.com/news/2024/01/roblox-cellular-infrastructure/

2024-01-16 08:007329

评论

发布
暂无评论

企业即时通讯怎样为企业实现移动办公效率的极致化?

WorkPlus

兼具高效与易用,融云 IM 即时通讯长连接协议设计思路

融云 RongCloud

即时通讯 协议

代码diff服务改进方案

转转技术团队

测试平台开发 codediff工具

IoT设备消息洪峰怎么扛? 阿里云AIoT消息队列深度解读——实践类

阿里云AIoT

nosql 算法 物联网 存储 消息中间件

蛇行矩阵 蛇形填数 回形取数 蛇行系类(C语言详解+图解)

Five

c 算法题 8月月更

基础+进阶+源码+实战,阿里SpringCloud Alibaba全解手册限时开源~

Java全栈架构师

程序员 面试 微服务 架构师 SpringCloud

尹博学:OceanBase Cloud正式开服,助力全球中小企业数智化升级

OceanBase 数据库

浅谈 malloc 函数在单片机上的应用

矜辰所致

malloc 内存管理 8月月更

解析 RocketMQ 业务消息--“顺序消息”

阿里巴巴中间件

阿里云 RocketMQ 云原生 消息队列

画出“伦勃朗光线”:vivo的夜色4K探索之旅

脑极体

自从外包干了七年,废了.....!

退休的汤姆

Java 面经 社招 Java工程师 秋招

兆骑科创高层次人才引进服务平台,创业大赛,云路演

兆骑科创凤阁

DPDK性能影响因素分析

C++后台开发

后台开发 虚拟化 DPDK VPP C++开发

OceanBase&ChunJun联合Meetup丨邀您齐聚杭州,共享开源盛会

袋鼠云数栈

旺链科技荣登“长三角产业区块链企业30强”!

旺链科技

区块链 产业区块链 创新应用

离谱了!腾讯数据库专家耗费几个月编写了这份 604 页的 Oracle+MySQL 学习指南手册

了不起的程序猿

Java MySQL JAVA开发 java程序员

企业统一门户 | WorkPlus深度集成,优化企业管理模式

WorkPlus

Python自学教程3-英语不好,变量怎么命名

和牛

Python 测试 8月月更

开源交流丨批流一体数据集成框架ChunJun数据传输模块详解分享

袋鼠云数栈

A tour of gRPC:08 - gRPC 反射 与 Evans 客户端

BUG侦探

gRPC RPC protocolBuffer

2022年中国小微信贷市场发展分析

易观分析

市场分析 小微信贷 易观

面试半月,阿里三面挂在微服务,我整个人直接麻了

Java永远的神

程序员 微服务 程序人生 Java 面试 架构师

大型LED显示屏怎样做好保养维护

Dylan

LED显示屏 led显示屏厂家

MQTT协议详解及v5.0实践——实践类

阿里云AIoT

物联网 调度 网路协议 网络性能优化 网路架构

IoT亿级设备接入层建设实践——实践类

阿里云AIoT

安全 网络协议 物联网 存储 网络架构

2022年十大知名堡垒机品牌你真的知道吗?

行云管家

网络安全 数据安全 堡垒机 堡垒机品牌

万物皆可集成系列:低代码释放用友U8+深度价值(2)—数据拓展应用

葡萄城技术团队

低代码 用友

袋鼠云思枢:数栈DTinsight,创新升级,全新出发,驶入数智转型新赛道

袋鼠云数栈

全网独一份!清华大牛联合众多一线大厂架构师整合的Java面试突击手册开源

程序员小毕

程序员 程序人生 JVM 高并发 java面试

兆骑科创双创服务平台,留学生海外创新创业大赛,人才引进

兆骑科创凤阁

打补丁是什么意思?如何快速对云主机批量打补丁?用什么软件?

行云管家

运维 云主机 IT运维 打补丁

Roblox 如何从 73 小时故障中吸取教训,为 7 千万用户提供可靠服务_架构_InfoQ精选文章