Treści na tej stronie zostały przetłumaczone przy użyciu sztucznej inteligencji (AI) lub technologii tłumaczenia maszynowego i mogą zawierać błędy.

Skip to content

Infrastruktura wspierająca przełomowe doświadczenia

Osiągaj nowe wyżyny w każdy weekend na Roblox

SEO image for The Infrastructure Supporting Record-Breaking Experiences

Zdolność Roblox do skalowania się i obsługi dziesiątek milionów użytkowników grających razem w milionach unikalnych doświadczeń nie jest wynikiem jednej innowacji. To suma szerszej kultury innowacji i tysiąca drobnych rzeczy, które zostały dobrze zrobione w całej firmie. W ten sposób zbudowaliśmy infrastrukturę, która obecnie obsługuje rekordowy ruch w wielu doświadczeniach na Roblox. Jedna z tych gier, Grow a Garden, niedawno pobiła rekord Guinness World Records® w kategorii gry wideo z największą liczbą graczy jednocześnie, osiągając 21,6 miliona użytkowników grających w tym samym czasie. W tym samym czasie platforma Roblox nadal osiągała nowe rekordy liczby graczy jednocześnie (tak jak to ma miejsce od prawie dwóch dekad), ostatnio przekraczając 30 milionów graczy jednocześnie.

Roblox stoi przed wyjątkowymi wyzwaniami związanymi z budową i utrzymaniem infrastruktury dla milionów doświadczeń tworzonych przez twórców, w tym Dress to Impress, Adopt Me i Dead Rails, co wymaga innowacyjnych metod inżynieryjnych. Platforma obsługuje dziesiątki aktualizacji co godzinę i ponad 30 milionów użytkowników jednocześnie dzięki infrastrukturze, która skaluje się podczas nieoczekiwanych skoków ruchu. Infrastruktura ta musi obsługiwać sytuacje typu „thundering herd”, w których ponad 21 milionów użytkowników dołącza jednocześnie do jednej gry (a kod aktualizacji pochodzi od niezależnych twórców). Inżynierowie Roblox wprowadzają innowacyjne rozwiązania, podważając tradycyjne przekonania — rozwiązania inspirowane naszymi czterema podstawowymi wartościami.

Infrastruktura w Roblox
Inżynierowie Roblox zarządzają 24 centrami danych typu edge na całym świecie, w których działają serwery gier. Kiedy użytkownik dołącza do doświadczenia, jest on przypisywany do najbliższego centrum danych i najbardziej odpowiedniej instancji w tym centrum, aby zminimalizować opóźnienia. Zarządzamy również dwoma głównymi centrami danych, które są znacznie większe i obsługują scentralizowane usługi, takie jak strona internetowa, algorytmy rekomendacji, filtry bezpieczeństwa, gospodarka wirtualna i platforma publikacyjna, które są niezbędne do funkcjonowania centrów danych typu edge. Globalna sieć prywatna łączy wszystkie centra danych typu edge z głównymi centrami danych, przy czym centra danych typu edge pełnią rolę zapory ogniowej chroniącej usługi działające w głównym centrum danych.
Długoterminowa perspektywa: proaktywne prognozowanie wydajności

W idealnym świecie nasi twórcy nie powinni nigdy martwić się o przepustowość — infrastruktura powinna być dla nich niewidoczna i działać w tle. Kiedy twórca publikuje doświadczenie w Roblox, naszym zadaniem jest zapewnienie niezbędnej przepustowości, niezależnie od liczby graczy. Na początku planowaliśmy przepustowość raz w roku na najbliższy rok lub dwa. Jednak w ostatnich latach sukcesy takich doświadczeń jak Dress to Impress, Fisch, Dead Rails i Grow a Garden skłoniły nas do ponownego przemyślenia naszych ram planowania przepustowości.

Zgodnie z naszą wartością, jaką jest długoterminowe myślenie, obecnie prognozujemy potrzeby w zakresie wydajności z nawet dwuletnim wyprzedzeniem, równoważąc popyt użytkowników z efektywnym wykorzystaniem serwerów. Nasz cykl planowania obejmuje nabywanie centrów danych, odświeżanie sprzętu serwerowego oraz fizyczną infrastrukturę sieciową, a nowe centra danych, takie jak to w Brazylii, są planowane z wieloletnim wyprzedzeniem. Zespół ds. sieci utrzymuje również „ukrytą” wydajność, aby zapewnić ciągłość działania pomimo problemów, takich jak przerwy w kablach sieciowych.

Obecna przepustowość serwisu Roblox opiera się na prognozach sporządzonych dwa lata temu, kiedy nie mogliśmy przewidzieć, że w ciągu kilku tygodni niektóre doświadczenia zyskają ogromną popularność. Popularne gry, takie jak Dress to Impress i Grow a Garden, które pomogły podwoić szczytową liczbę graczy korzystających jednocześnie z Roblox z 13,9 mln w kwietniu do 30,6 mln w czerwcu 2025 r., nie istniały w momencie sporządzania tych prognoz dotyczących wydajności. Na przykład w marcu 2025 r. gra Dead Rails osiągnęła szczytową liczbę 1 mln użytkowników korzystających jednocześnie z serwisu, wykorzystując całą dostępną moc obliczeniową procesorów. 

Wyciągając wnioski z tego typu skoków popularności, przeszliśmy na bardziej zwinny cykl planowania. Aby konsekwentnie obsługiwać rekordową liczbę graczy na Roblox, inżynierowie stosują rygorystyczny cotygodniowy cykl planowania, testowania i dostosowywania wydajności. Poniedziałek jest poświęcony przeglądowi incydentów, a we wtorek następuje planowanie wydajności. Przez cały tydzień trwają ciągłe testy chaosu. W czwartek skupiamy się na przeglądzie wydajności pod kątem wszelkich dużych aktualizacji, których oczekujemy na podstawie informacji od naszych twórców. W piątek zapewniamy dodatkowe zasoby w chmurze, aby platforma była gotowa na szczytowe obciążenie w weekend. Przez cały tydzień wprowadzamy zupełnie nowe funkcje i nie blokujemy ciągłego wdrażania przez wszystkich inżynierów. 

Szacunek dla społeczności: łatwe możliwości dla twórców

Ograniczanie przepustowości to bardzo popularna koncepcja w informatyce. Ale to też najczęściej nadużywany i najczęściej źle rozumiany mechanizm w informatyce. Kiedy nowi inżynierowie dołączają do Roblox, ich pierwsze rozwiązania często brzmią: „Gdybyśmy tylko mogli powiedzieć naszym twórcom, żeby zmienili tę konfigurację albo spowolnili swoje wydarzenia…”. Doświadczeni inżynierowie Roblox delikatnie wyjaśniają wtedy, jak ważny jest dla nas szacunek dla społeczności i że nie mówimy naszym twórcom, co mają robić. 

Na przykład większość systemów gier ma proste rozwiązanie do dobierania graczy, gdy miliony graczy klikają „graj” jednocześnie. Ograniczają one dołączanie, każą graczom czekać lub wysyłają ich na losowe serwery, pomijając algorytm dobierania graczy. W Roblox robimy coś odwrotnego. Przeprojektowaliśmy cały nasz system dobierania graczy pod kątem ogromnych rzeszy graczy. W szczytowych momentach system ten ocenia do 4 miliardów możliwych kombinacji dołączeń na sekundę. Wiele lat temu wyznaczyliśmy sobie cel 10 milionów połączeń w ciągu 10 sekund i nadal dążymy do jego osiągnięcia.

Aby uniknąć ograniczania przepustowości z powodu braku mocy obliczeniowej, eksperymentujemy z cloud burstingiem w ramach przejścia na infrastrukturę komórkową, co pozwala na dynamiczne i wydajne skalowanie. Architektura ta radzi sobie ze szczytowym zapotrzebowaniem, dopasowując użytkowników zarówno do lokalnych, jak i chmurowych komórek centrów danych typu edge. Pracujemy nad w pełni zautomatyzowanym uruchamianiem i wyłączaniem chmurowych centrów danych typu edge, które są w pełni abstrakcyjne dla algorytmu dopasowywania.

Innym przykładem jest nasz system filtrowania tekstu, który w szczytowym momencie obsługuje 250 000 żądań na sekundę. To duża inferencja modelu przetwarzająca 250 000 tokenów z ciągle rozszerzającymi się oknami kontekstowymi. A przy ponad 300 potokach inferencji AI działających w środowisku produkcyjnym właściciele usług Roblox poświęcają dużo czasu na znalezienie idealnej kombinacji profili inferencji między procesorami graficznymi a procesorami centralnymi. Nawet przy szczytowym obciążeniu inżynierowie Roblox szanują społeczność, stawiając na pierwszym miejscu swobodę twórców i bezpieczeństwo użytkowników.

Zrób to: testowanie odporności systemu

Dzięki naszemu planowaniu budujemy możliwości i algorytmy, które wspierają najbardziej ekscytujące aktualizacje od twórców. Musimy jednak mieć pewność, że systemy te wytrzymają nawet największe szczyty obciążenia lub pojedyncze awarie usług. Informacje zebrane podczas szczytowego wykorzystania ponad 1600 mikrousług pomagają zidentyfikować usługi, które wymagają dalszych testów obciążeniowych.

Zgodnie z naszą wartością, jaką jest realizacja zadań, każdego dnia wybieramy kilka z tych usług i ograniczamy ich wydajność w środowisku produkcyjnym. Obserwujemy atrybuty, a następnie naprawiamy je przed weekendem. Nazywamy to wtorkami „testowania rzeczywistej wydajności” (TACO). Nasz zespół ds. niezawodności prowadzi również ciągłą kontrolę poprawności wydajności (C3). Każdy zespół inżynierów korzysta z pulpitu nawigacyjnego C3, aby przewidywać i zarządzać wydajnością procesora swoich usług. Dzięki temu właściciele usług mogą nieustannie wyciągać wnioski z ostatniego szczytu, aby zwiększyć lub zmniejszyć wydajność przed kolejnym szczytem. Wprowadziliśmy również system, który śledzi wzorce wywołań w rdzeniu silnika Roblox dla nowych wydań. Pomaga to zapewnić lepsze przygotowanie podczas aktualizacji. 

Mimo tych wszystkich przygotowań nadal zdarza się, że napotykamy sytuacje, w których nieprzewidywalny charakter wzorców ruchu może spowodować, że pojedyncza usługa lub przepływ produktu doprowadzi do awarii platformy. Na przykład potok analizy 2 bilionów zdarzeń może odnotować o 30% większy ruch z powodu popularnej aktualizacji. W takich sytuacjach uruchamiają się nasze mechanizmy odporności, takie jak adaptacyjna kontrola współbieżności (ACC), wyłącznik obwodu i ograniczanie ponownych prób, aby chronić platformę. W tym roku stworzyliśmy również platformę do testów chaosowych, aby wzmocnić odporność i skalowalność naszej infrastruktury poprzez losowe wprowadzanie błędów, wyczerpywanie zasobów i losowe kończenie procesów w środowisku produkcyjnym.

Weźmy na siebie odpowiedzialność: wszyscy na pokład

Cały tydzień spędzamy na testowaniu i przygotowywaniu się do tych dużych weekendowych aktualizacji. Jednak gdy nadchodzi weekend, wciąż mamy sporo pracy. Przed weekendowymi aktualizacjami inżynierowie Roblox współpracują, aby monitorować nadchodzące zmiany i przewidywać pozostałą przepustowość, zapewniając w razie potrzeby dodatkowe zasoby chmury, aby obsłużyć miliony dodatkowych graczy za pośrednictwem wirtualnych centrów danych typu edge. 

W piątek decydujemy, czy musimy zwiększyć pojemność za pomocą zasobów chmury. Ten proces daje jasne wytyczne naszemu zespołowi ds. chmury hybrydowej, aby zapewnił wystarczającą dodatkową pojemność, by obsłużyć miliony dodatkowych graczy. W dowolnym momencie działa 24 naszych fizycznych centrów danych typu edge, ale po zakończeniu wszystkich testów możemy zdecydować, że potrzebujemy dodatkowych centrów danych typu edge. Nie ma możliwości zamontowania i ustawienia serwerów w ciągu 12 godzin, więc współpracujemy z naszymi partnerami w chmurze, aby zbudować wiele wirtualnych centrów danych typu edge. Testujemy je w piątek, a następnie jesteśmy gotowi na weekend. 

W duchu prawdziwej odpowiedzialności wszyscy, w tym nasi najwyżsi rangą menedżerowie, pełnią dyżury na zmianę — nawet w weekendy. Napływ milionów użytkowników w sobotę często wywołuje setki alertów. Zespoły prewencyjnie rozwiązują te alerty, co pozwala nam radzić sobie z wyzwaniami podczas dużych aktualizacji lub rekordowego ruchu na całej platformie. 

Jak często przypisuje się Leonardo da Vinciemu: „Nauka nigdy nie wyczerpuje umysłu”. Każdy szczyt inspirował nas do nauki i wymyślania nowych technik, aby uczynić naszą infrastrukturę bardziej niezawodną i niewidoczną. Nasi twórcy publikują lub aktualizują, a dzięki magii niewidocznej infrastruktury dziesiątki milionów użytkowników niemal natychmiast zaczynają cieszyć się zupełnie nowym doświadczeniem. Jesteśmy niezmiernie wdzięczni naszym twórcom i użytkownikom za to, że zmuszają nas do przekraczania granic informatyki.