이 사이트의 콘텐츠는 인공지능(AI) 또는 기계 번역 기술을 사용하여 번역되었으며 오류가 있을 수 있습니다.

Skip to content

기록적인 경험을 뒷받침하는 인프라

매주 주말, 로블록스에서 새로운 정점을 향해

SEO image for The Infrastructure Supporting Record-Breaking Experiences

수백만 개의 독특한 경험 속에서 수천만 명의 사용자가 함께 플레이할 수 있도록 확장하고 지원하는 로블록스의 능력은 단일 혁신의 결과물이 아닙니다. 이는 광범위한 혁신 문화와 회사 전반에 걸쳐 잘 수행된 수많은 사소한 일들의 총합입니다. 이것이 바로 현재 로블록스의 수많은 경험에 기록적인 트래픽을 지원하고 있는 인프라를 구축한 방식입니다. 이러한 경험 중 하나인 'Grow a Garden'은 최근 2,160만 명의 사용자가 동시에 플레이하며 '가장 많은 사용자가 동시에 플레이한 비디오 게임' 부문 기네스 세계 기록®을 경신했습니다. 이 과정에서 로블록스 플랫폼은 (지난 20년 가까이 그래왔듯이) 새로운 동시 접속자 수 최고 기록을 계속 경신해 왔으며, 가장 최근에는 3,000만 명을 넘어섰습니다.

Roblox는 'Dress to Impress', 'Adopt Me', 'Dead Rails' 등 크리에이터가 제작한 수백만 개의 체험을 위한 인프라를 구축하고 유지 관리하는 데 있어 독특한 과제에 직면해 있으며, 이를 해결하려면 혁신적인 엔지니어링 방법론이 필요합니다. 이 플랫폼은 예기치 않은 트래픽 급증 시에도 확장 가능한 인프라를 통해 매시간 수십 건의 업데이트와 3,000만 명 이상의 동시 접속자를 지원합니다. 이 인프라는 2,100만 명 이상의 사용자가 단일 경험에 동시에 접속하는 '천둥 같은 군중(thundering herd)' 상황(게다가 업데이트 코드는 독립 크리에이터가 제공한 것임)을 견뎌내야 합니다. 로블록스 엔지니어들은 기존의 통념에 도전함으로써, 우리의 네 가지 핵심 가치에서 영감을 얻은 혁신적인 솔루션을 만들어내고 있습니다.

Roblox의 인프라
Roblox 엔지니어들은 게임 서버를 운영하는 전 세계 24개의 에지 데이터 센터를 관리합니다. 사용자가 경험(Experience)에 접속하면, 지연 시간을 최소화하기 위해 가장 가까운 데이터 센터와 해당 센터 내의 가장 적합한 인스턴스로 연결됩니다. 또한 로블록스는 훨씬 더 규모가 큰 두 개의 코어 데이터 센터를 운영하고 있으며, 이곳에서는 웹사이트, 추천 알고리즘, 안전 필터, 가상 경제, 퍼블리싱 플랫폼 등 엣지 데이터 센터의 정상적인 작동을 위해 필수적인 중앙 집중식 서비스를 제공합니다. 글로벌 사설 네트워크를 통해 모든 엣지 데이터 센터와 코어 데이터 센터가 상호 연결되어 있으며, 엣지 데이터 센터는 코어 데이터 센터에서 실행되는 서비스를 보호하는 방화벽 역할을 합니다.
장기적 관점: 선제적 용량 예측

이상적인 세상에서는 크리에이터들이 용량 문제를 전혀 신경 쓸 필요가 없어야 합니다. 인프라는 크리에이터들에게 보이지 않는 채로, 뒤에서 조용히 작동해야 하죠. 크리에이터가 Roblox에 경험을 게시할 때, 저희의 임무는 얼마나 많은 플레이어가 접속하든 필요한 용량을 지원하는 것입니다. 초기에는 1~2년 앞을 내다보며 1년에 한 번 용량을 계획했습니다. 하지만 최근 몇 년간 'Dress to Impress', 'Fisch', 'Dead Rails', 'Grow a Garden'과 같은 성공적인 경험들이 등장하면서, 우리는 용량 계획 프레임워크를 재고하게 되었습니다.

장기적인 관점을 중시하는 우리의 가치에 따라, 이제 우리는 최대 2년 앞을 내다보며 사용자 수요와 효율적인 서버 활용도를 균형 있게 고려하여 용량 수요를 예측합니다. 우리의 계획 주기에는 데이터 센터 확보, 서버 하드웨어 교체, 물리적 네트워킹이 포함되며, 브라질에 위치한 데이터 센터와 같은 신규 시설은 수년 전부터 계획됩니다. 또한 네트워킹 팀은 네트워크 케이블 절단과 같은 문제 발생 시에도 지속적인 운영을 보장하기 위해 '예비' 용량을 확보해 두고 있습니다.

로블록스가 현재 보유한 용량은 2년 전의 예측을 바탕으로 한 것으로, 당시에는 특정 체험이 몇 주 만에 알려지지 않은 상태에서 엄청난 인기를 얻게 될 것이라고는 예상할 수 없었습니다. 'Dress to Impress'나 'Grow a Garden'과 같은 인기 게임들은 로블록스의 최대 동시 접속자 수를 2025년 4월 1,390만 명에서 6월 3,060만 명으로 두 배로 늘리는 데 기여했으나, 이러한 용량 예측이 이루어졌을 당시에는 존재하지 않았습니다. 예를 들어, 2025년 3월 'Dead Rails'는 동시 접속자 수가 100만 명으로 급증하며 사용 가능한 모든 CPU 용량을 소진했습니다. 

이러한 갑작스러운 인기 급상승 사례를 교훈 삼아, 우리는 더 민첩한 계획 주기로 전환했습니다. 로블록스에서 기록적인 플레이어 수를 지속적으로 지원하기 위해 엔지니어링 팀은 계획, 테스트, 용량 조정을 엄격하게 주 단위로 수행합니다. 월요일은 사고 검토에 전념하고, 화요일에는 용량 계획을 수립합니다. 주중 내내 지속적인 카오스 테스트가 진행됩니다. 목요일에는 크리에이터들이 예고한 대규모 업데이트에 대비해 용량 검토에 집중합니다. 금요일에는 주말 사용량 피크에 대비해 플랫폼이 준비될 수 있도록 추가 클라우드 리소스를 프로비저닝합니다. 일주일 내내 우리는 완전히 새로운 기능을 계속 출시하며, 모든 엔지니어의 지속적 배포를 제한하지 않습니다. 

커뮤니티 존중: 크리에이터를 위한 손쉬운 활용성

스로틀링은 컴퓨터 과학 분야에서 널리 인정받는 개념입니다. 하지만 이는 컴퓨터 과학에서 가장 오용되고 오해받는 수단이기도 합니다. 신입 엔지니어들이 Roblox에 합류하면, 그들이 내놓는 첫 번째 해결책은 종종 “만약 크리에이터들에게 이 설정을 조정하거나 이벤트 속도를 늦추라고만 할 수 있다면…”과 같은 내용입니다. 그러면 베테랑 Roblox 엔지니어들은 커뮤니티를 존중하는 우리의 가치를 설명하며, 크리에이터들에게 무엇을 해야 한다고 지시하지 않는다는 점을 부드럽게 알려줍니다. 

예를 들어, 대부분의 게임 시스템은 수백만 명의 플레이어가 동시에 '플레이'를 클릭할 때 매치메이킹을 위한 간단한 해결책을 가지고 있습니다. 그들은 접속 속도를 제한하거나, 플레이어를 대기시키거나, 매치메이킹 알고리즘을 건너뛰고 무작위 서버로 연결합니다. 로블록스에서는 정반대의 방식을 취합니다. 우리는 몰려드는 수많은 플레이어를 위해 매치메이킹 시스템 전체를 재설계했습니다. 피크 시간대에는 이 시스템이 초당 최대 40억 개의 가능한 접속 조합을 평가합니다. 몇 년 전, 우리는 10초 만에 1,000만 건의 접속을 처리한다는 목표를 세웠으며, 그 목표를 향해 지속적으로 개선해 나가고 있습니다.

용량 문제로 인한 속도 제한을 피하기 위해, 우리는 셀룰러 인프라로의 전환 과정의 일환으로 클라우드 버스팅을 실험하고 있으며, 이를 통해 동적이고 컴퓨팅 효율적인 확장이 가능해집니다. 이 아키텍처는 사용자를 온프레미스 및 클라우드 엣지 데이터 센터 셀 모두에 매칭함으로써 피크 수요를 처리합니다. 우리는 매칭 알고리즘을 위해 완전히 추상화된 클라우드 기반 엣지 데이터 센터의 완전 자동화된 구축 및 해체를 위해 노력하고 있습니다.

또 다른 예로는 초당 25만 건의 요청을 처리하는 텍스트 필터링 시스템이 있습니다. 이는 지속적으로 확장되는 컨텍스트 윈도우를 통해 25만 개의 토큰을 처리하는 대규모 모델 추론 작업입니다. 또한 300개 이상의 AI 추론 파이프라인이 프로덕션 환경에서 가동되고 있어, 로블록스 서비스 소유자들은 GPU와 CPU 간에 최적의 추론 프로필 조합을 찾기 위해 많은 시간을 투자하고 있습니다. 피크 부하 상황에서도 로블록스 엔지니어들은 크리에이터의 자유와 사용자 안전을 최우선으로 삼아 커뮤니티를 존중합니다.

업무 처리: 복원력을 위한 시스템 부하 테스트

우리는 철저한 계획을 통해 크리에이터들의 가장 흥미로운 업데이트를 지원할 수 있는 처리 능력과 알고리즘을 구축합니다. 하지만 이러한 시스템이 가장 큰 트래픽 급증이나 단일 서비스 장애 상황에서도 견딜 수 있는지 확인해야 합니다. 1,600개 이상의 마이크로서비스에서 수집된 피크 사용량 정보를 통해 추가적인 부하 테스트가 필요한 서비스를 파악합니다.

'일을 해내는 것'이라는 우리의 가치에 충실히, 매일 우리는 이러한 서비스 중 몇 가지를 선정하여 프로덕션 환경에서 용량을 제한합니다. 우리는 관련 지표를 관찰한 후 주말 전에 문제를 해결합니다. 우리는 이를 '실제 용량 테스트(TACO) 화요일'이라고 부릅니다. 신뢰성 팀은 또한 지속적인 용량 정확성(C3)을 운영합니다. 각 엔지니어링 팀은 C3 대시보드를 사용하여 서비스의 CPU 용량을 예측하고 관리합니다. 이를 통해 서비스 소유자는 지난 피크 시간대의 데이터를 지속적으로 분석하여 다음 피크에 대비해 용량을 증감할 수 있습니다. 또한 신규 릴리스를 위해 Roblox 핵심 엔진의 호출 패턴을 추적하는 시스템을 도입했습니다. 이는 업데이트 시 더 철저히 대비할 수 있도록 돕습니다. 

이러한 모든 준비에도 불구하고, 트래픽 패턴의 예측 불가능한 특성으로 인해 단일 서비스나 제품 흐름이 플랫폼 전체를 다운시킬 수 있는 상황이 가끔 발생합니다. 예를 들어, 인기 있는 업데이트로 인해 2조 건 규모의 이벤트 분석 파이프라인에 30% 더 많은 트래픽이 유입될 수 있습니다. 이때 적응형 동시성 제어(ACC), 서킷 브레이커, 재시도 제한(shedding retries)과 같은 복원력 메커니즘이 작동하여 플랫폼을 보호합니다. 올해 우리는 또한 프로덕션 환경에서 임의로 오류를 주입하고, 리소스를 고갈시키며, 프로세스를 무작위로 종료함으로써 인프라의 복원력과 확장성을 강화하기 위해 카오스 테스트 플랫폼을 구축했습니다.

책임감 갖기: 전 직원이 힘을 합치자

우리는 주말에 있을 대규모 업데이트를 위해 일주일 내내 테스트와 준비에 매진합니다. 하지만 주말이 되어도 할 일은 여전히 남아 있습니다. 주말 업데이트를 앞두고, 로블록스 엔지니어들은 협력하여 예정된 변경 사항을 모니터링하고 남은 용량을 예측하며, 가상 엣지 데이터 센터를 통해 수백만 명의 추가 플레이어를 수용하기 위해 필요에 따라 추가 클라우드 리소스를 프로비저닝합니다. 

금요일에는 클라우드 리소스를 통해 용량을 추가해야 할지 결정합니다. 이 과정을 통해 하이브리드 클라우드 팀은 수백만 명의 추가 플레이어를 수용할 수 있는 충분한 용량을 확보해야 한다는 명확한 지침을 받게 됩니다. 언제나 24개의 물리적 엣지 데이터 센터가 가동 중이지만, 모든 테스트를 마친 후 추가 엣지 데이터 센터가 필요하다고 판단할 수도 있습니다. 12시간 만에 서버를 설치하고 구성할 수는 없으므로, 클라우드 파트너와 협력하여 여러 개의 가상 엣지 데이터 센터를 구축합니다. 금요일에 이를 테스트한 후, 주말을 맞이할 준비를 마칩니다. 

책임감을 실천하는 진정한 정신에 따라, 최고 경영진을 포함한 모든 직원이 주말에도 교대로 당직을 서고 있습니다. 토요일에는 수백만 명의 사용자가 몰려 수백 건의 경보가 발생하기도 합니다. 팀원들은 이러한 경보를 선제적으로 해결함으로써 대규모 업데이트나 플랫폼 전체의 사상 최대 트래픽 상황에서도 문제를 원활히 처리할 수 있습니다. 

레오나르도 다 빈치가 남긴 명언처럼, “배움은 결코 마음을 지치게 하지 않는다.” 우리는 매번의 트래픽 급증을 계기로 인프라를 더욱 안정적이고 눈에 띄지 않게 만들기 위한 새로운 기술을 배우고 개발해 왔습니다. 크리에이터들이 콘텐츠를 게시하거나 업데이트하면, 보이지 않는 인프라의 마법 덕분에 수천만 명의 사용자가 거의 즉시 완전히 새로운 경험을 즐길 수 있게 됩니다. 컴퓨터 과학의 한계를 넓히도록 우리에게 도전해 주신 크리에이터와 사용자 여러분께 깊은 감사를 드립니다.