Wewnątrz Tech to seria blogów, która idzie w parze z naszą Podcast Tech Talks. W tym miejscu zagłębiamy się w kluczowe wyzwanie techniczne, przed którym stoimy, i dzielimy się unikalnymi podejściami, które stosujemy w tym celu. W tym wydaniu Wewnątrz Tech, rozmawialiśmy z dyrektorem technicznym grupy Growth Ivanem Marcinem, aby dowiedzieć się więcej o dobieraniu graczy w Robloxie.
Jakie wyzwania techniczne rozwiązujesz?
Matchmaking tworzy usługi, które dopasowują użytkowników Roblox do serwera doświadczenia w procesie dołączania. Kiedy ktoś chce odwiedzić witrynę Roblox, przeglądamy tysiące punktów danych z wielu instancji silnika Roblox i klasyfikujemy je pod kątem dopasowania. Roblox jest wyjątkowy, ponieważ ludzie i miejsca stale się zmieniają, a system, który budujemy, musi uwzględniać te wahania.
Aby tego dokonać, musimy opracować technologie, które pozwolą sprostać dwóm wyzwaniom, które są kluczowe dla maksymalizacji satysfakcji użytkowników. Pierwszym z nich jest określenie, w jaki sposób śledzić i oceniać miejsca, do których dopasowujemy ludzi w czasie rzeczywistym. Drugim jest optymalizacja dobierania graczy pod kątem wydajności na dużą skalę. Ten hybrydowy system musi dostosowywać miliony naszych jednoczesnych użytkowników do doświadczeń przy minimalnych opóźnieniach, a jednocześnie koordynować instancje silnika Roblox w naszej flocie brzegowych centrów danych. To właśnie zapewnia maksymalne zaangażowanie.
Proces ten ma wiele złożoności, ale dobrym przykładem szczególnego wyzwania jest tak zwany „problem grzmiącego stada”. To wtedy nasze systemy odnotowują ogromne skoki obciążenia w krótkim czasie. Na przykład, gdy miliony ludzi próbują wziąć udział w popularnym wydarzeniu o tej samej porze w sobotni poranek.
W takich przypadkach możemy zaobserwować szybki 10-krotny wzrost liczby żądań. To nagłe zwiększone ciśnienie obciąża nasze systemy, a w przeszłości tego typu zdarzenia powodowały awarię platformy. Ale teraz wiele doświadczeń Roblox ma tego typu specjalne wydarzenie, limitowaną wersję lub aktualizację. Chociaż zwiększa zaangażowanie, zmusza nas również do gotowości na radzenie sobie z regularnie grzmiącymi stadami.
Czy problem grzmiącego stada jest problemem, z którym borykają się inne sieci i platformy społecznościowe?
Każda platforma może stawić czoła nagłemu, ogromnemu wzrostowi liczby użytkowników. Jest to jednak dla nas szczególnie trudne ze względu na skalę. Limitowana premiera przedmiotu może być tylko jednorazowym wydarzeniem, ale w Robloxie są miliony doświadczeń, a wiele z nich organizuje takie popularne wydarzenia. Dlatego w przypadku Robloxa gwałtowne zdarzenia w stadzie nie są rzadkie, izolowane ani przewidywalne. Mogą się one zdarzyć w dowolnym momencie naszego doświadczenia i musimy być na to gotowi. Udoskonaliliśmy dobieranie graczy i inne systemy, aby były bardziej zależne od tych wzorców.
Jakie innowacyjne rozwiązania opracowujemy, aby sprostać tym wyzwaniom?
Musieliśmy zbudować niestandardowy system wyszukiwania i rekomendacji, który stale indeksuje doświadczenia Roblox i dopasowuje do nich ludzi w czasie rzeczywistym.
Aby wysłać użytkowników w najlepsze miejsce i poradzić sobie z piorunującymi stadami w dowolnym czasie i miejscu w Robloxie, system uwzględnia dane wejściowe, takie jak stan użytkowników, lokalizacja, opóźnienie i inne właściwości gracza. Musi także śledzić i odświeżać stan wszystkich doświadczeń Roblox co kilka sekund.
Na tej podstawie będziemy musieli generować rekomendacje dopasowań w czasie rzeczywistym. W przypadku wielu tradycyjnych systemów dobierania graczy użytkownicy łączą się i czekają w wirtualnym lobby na uruchomienie gry. Może to zająć kilka minut, ale w Robloxie musimy wysyłać ludzi do odpowiednich atrakcji zaraz po kliknięciu przycisku dołączenia.
Aby tego dokonać, konieczne jest zbudowanie systemu doświadczeń, który co kilka sekund ponownie indeksuje nasze dane. Wykonanie tego na dużą skalę jest kluczowym wyzwaniem, ponieważ nie możemy używać standardowych technik systemów rozproszonych, takich jak poleganie wyłącznie na buforowaniu, do obsługi skoków obciążenia. Zamiast tego polegaliśmy na zbudowaniu niestandardowego systemu indeksowania. Każda instancja silnika Roblox stale przesyła dane do tego systemu. Każda prośba o dołączenie do doświadczenia skanuje właściwości każdego aktywnego miejsca, szereguje je według wielu indeksów i rekomenduje, dokąd wysłać użytkownika, na podstawie tego, co dzieje się dokładnie w tym czasie.
Jakie są najważniejsze wnioski z tej pracy technicznej?
Jedną z kluczowych nauk płynących z tej pracy technicznej jest to, że musimy patrzeć na sprawy ze zrównoważonej perspektywy. Ciężko pracowaliśmy nad poprawą niezawodności naszej platformy, ale opracowujemy także nowe funkcje, które w dłuższej perspektywie poprawią komfort użytkowania. To jest jak wahadło kołysające się w tę i z powrotem, ponieważ zmiany są ciągłe. Musimy być w stanie się uczyć, dostosowywać i zastanawiać się, co możemy zrobić w perspektywie krótkoterminowej, jednocześnie budując w perspektywie długoterminowej.
Weźmy na przykład sposób, w jaki poradziliśmy sobie z problemem grzmiącego stada. Nasza społeczność programistów zdała sobie sprawę, że może wykorzystać weekendowy szum, aby przyciągnąć użytkowników do swoich doświadczeń. Spowodowało to, że w sobotnie poranki rzesze ludzi przyłączały się do wydarzeń. Musieliśmy więc zmienić nasze plany inżynieryjne, ponieważ wyzwanie związane ze skalowaniem nie było czymś, co można było łatwo rozwiązać. Gdy zawartość jest statyczna, można temu zaradzić, dodając warstwy buforowania na górze i zapewniając pojemność na potrzeby szczytowego wykorzystania. Jednak charakter naszych systemów działający w czasie rzeczywistym wymagał przeprojektowania naszych systemów indeksowania i skanowania w celu podziału wyszukiwań i skalowania naszej współbieżności.
Która wartość Roblox Twoim zdaniem najlepiej pasuje do tego, jak Ty i Twój zespół radzicie sobie z wyzwaniami technicznymi?
Szacunek dla społeczności najlepiej pasuje do tego, jak nasz zespół radzi sobie z wyzwaniami technicznymi. Naszą społeczność tworzą zarówno użytkownicy, jak i twórcy, którzy tworzą doświadczenia i przekraczają nasze wymagania techniczne. Obydwa są równie ważne. Kiedy więc coś zmieniamy, musimy bardzo przemyśleć, jak wpłynie to na wszystkich.
Na przykład, jeśli rozważamy modyfikację czegoś na przykład interfejsów API wpływających na teleportację, musimy zrozumieć, jak wpłynie to zarówno na użytkowników, jak i programistów. Spędzamy dużo czasu myśląc o tym, jak nakłonić ludzi do grania we właściwą grę, ale także o tym, jak zapewnić programistom więcej opcji i kontroli. Regularnie kontaktujemy się z programistami, aby przeprowadzić z nimi burzę mózgów na temat nowych funkcji.
Co najbardziej ekscytuje Cię w tym, dokąd zmierza Roblox i Twój zespół?
Trzy rzeczy. Po pierwsze, jestem pod wrażeniem naszego ogromnego rozwoju. Drugi to potencjał kreatywności i innowacji w Robloxie: ludzie nieustannie wymyślają nowe pomysły i doświadczenia, co motywuje nas do bycia kreatywnymi, a także tego, jak skalować tę kreatywność. Po trzecie, AI/ML kwitnie, a Roblox znajduje się na czele tej fali. Na przykład integrujemy dalsze uczenie maszynowe z dobieraniem graczy i generatywną sztuczną inteligencję na inne unikalne i nowatorskie sposoby w Roblox. To naprawdę ekscytujące.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://blog.roblox.com/2023/10/inside-tech-solving-matchmaking-roblox/
- :ma
- :Jest
- :Gdzie
- $W GÓRĘ
- a
- Zdolny
- O nas
- Konto
- w poprzek
- aktywny
- przystosować
- dodanie
- adres
- oddziaływać
- AI
- AI / ML
- Wyrównuje
- Wszystkie kategorie
- również
- an
- i
- każdy
- nigdzie
- Pszczoła
- awanse
- SĄ
- AS
- At
- próba
- przyciągnięcie
- z powrotem
- na podstawie
- BE
- bo
- być
- BEST
- Blog
- obie
- burza mózgów
- przyniósł
- budować
- Budowanie
- Buduje
- ale
- przycisk
- by
- nazywa
- CAN
- Pojemność
- Etui
- Centra
- wyzwanie
- wyzwania
- wyzwanie
- zmiana
- wymiana pieniędzy
- kliknij
- przyjście
- społeczność
- złożoności
- równoległy
- Skontaktuj się
- wobec
- rozważa
- stały
- stale
- zawartość
- kontroli
- mógłby
- tworzenie
- Twórczy
- kreatywność
- twórcy
- zwyczaj
- tnący
- dane
- centra danych
- punkty danych
- określaniu
- rozwijać
- Deweloper
- deweloperzy
- rozwijanie
- Dyrektor
- dystrybuowane
- systemy rozproszone
- nurkować
- podzielić
- do
- robi
- na dół
- dyski
- z łatwością
- krawędź
- edycja
- efektywność
- zaręczynowy
- silnik
- Inżynieria
- Równie
- wydarzenie
- wydarzenia
- Każdy
- wszyscy
- przykład
- podnieca
- ekscytujący
- doświadczenie
- Doświadczenia
- Twarz
- Korzyści
- kilka
- Postać
- i terminów, a
- FLOTA
- Wahania
- W razie zamówieenia projektu
- Siły
- czoło
- naprzód
- od
- dalej
- gra
- Generować
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- Dać
- Goes
- dobry
- Zarządzanie
- Wzrost
- miał
- uchwyt
- zdarzyć
- Wydarzenie
- Ciężko
- Have
- głowiasty
- tutaj
- W jaki sposób
- How To
- HTTPS
- Hybrydowy
- Szum
- pomysły
- if
- Rezultat
- Oddziaływania
- ważny
- Pod wrażeniem
- podnieść
- poprawy
- in
- W innych
- wzrosła
- Zwiększenia
- indeksy
- Innowacja
- Innowacyjny
- Wejścia
- wewnątrz
- przykład
- zamiast
- Integracja
- najnowszych
- odosobniony
- IT
- Ivan
- przystąpić
- łączący
- skok
- właśnie
- Klawisz
- Utajenie
- uruchomić
- nioski
- UCZYĆ SIĘ
- Dźwignia
- lubić
- Ograniczony
- załadować
- Lobby
- lokalizacja
- długo
- długoterminowy
- Popatrz
- wyszukiwania
- Partia
- zrobiony
- robić
- WYKONUJE
- wiele
- Masy
- masywny
- Mecz
- dopasowywanie
- maksymalizacji
- maksymalny
- Może..
- Oznaczało
- miliony
- minimalny
- minuty
- ML
- jeszcze
- rano
- większość
- wielokrotność
- Natura
- Potrzebować
- potrzebne
- wymagania
- sieci
- Nowości
- Nowe funkcje
- już dziś
- liczny
- of
- on
- optymalizacji
- Opcje
- or
- Inne
- ludzkiej,
- na zewnątrz
- koniec
- szczególny
- szczególnie
- Przeszłość
- wzory
- Szczyt
- Ludzie
- okres
- perspektywa
- Miejsce
- Miejsca
- plany
- Platforma
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- Grać
- gracz
- zwrotnica
- Popularny
- potencjał
- Możliwy do przewidzenia
- nacisk
- Problem
- wygląda tak
- niska zabudowa
- Naciskać
- wypycha
- Popychanie
- Szybki
- rankingu
- szeregi
- RZADKO SPOTYKANY
- dosięgnąć
- gotowy
- real
- w czasie rzeczywistym
- realizowany
- Rekomendacja
- zalecenia
- regularny
- regularnie
- zwolnić
- niezawodność
- opierając się
- zażądać
- wywołań
- wymagania
- Wymaga
- wynikał
- prawo
- Roblox
- taki sam
- klientów
- sobota
- Skala
- skalowaniem
- skanowanie
- skany
- druga
- sekund
- widzieć
- wysłać
- Serie
- serwer
- Usługi
- kilka
- Share
- przesunięcie
- Short
- krótkoterminowy
- So
- Obserwuj Nas
- sieci społeczne
- Wyłącznie
- Rozwiązania
- ROZWIĄZANIA
- rozwiązany
- Rozwiązywanie
- kilka
- Ktoś
- coś
- specjalny
- wydać
- kolce
- standard
- Stan
- nagły
- powstaje
- system
- systemy
- sprzęt
- Sprzęt
- zwalczanie
- Brać
- biorąc
- Rozmowy
- zespół
- tech
- Techniczny
- Techniki
- Technologies
- semestr
- że
- Połączenia
- Państwo
- ich
- Im
- Tam.
- Te
- one
- rzeczy
- myśleć
- Myślący
- Trzeci
- to
- tych
- tysiące
- czas
- do
- Top
- w kierunku
- śledzić
- tradycyjny
- ogromny
- naprawdę
- drugiej
- rodzaj
- typy
- zrozumieć
- wyjątkowy
- Aktualizacja
- us
- posługiwać się
- Użytkownik
- Doświadczenie użytkownika
- Użytkownicy
- wartość
- początku.
- Wirtualny
- Odwiedzić
- czekać
- chce
- fala
- sposoby
- we
- DOBRZE
- Co
- jeśli chodzi o komunikację i motywację
- Podczas
- KIM
- będzie
- w
- Praca
- pracujący
- ty
- Twój
- zefirnet