Inuti tekniken är en bloggserie som går hand i hand med vår Tech Talks Podcast. Här dyker vi vidare in i en viktig teknisk utmaning vi tar oss an och delar de unika tillvägagångssätten vi använder för att göra det. I denna upplaga av Inuti tekniken, pratade vi med Growth Groups tekniska chef Ivan Marcin för att lära oss mer om matchmaking på Roblox.
Vilka tekniska utmaningar löser du?
Matchmaking bygger tjänsterna som matchar Roblox-användare till en upplevelseserver i anslutningsprocessen. När någon vill besöka en Roblox-upplevelse tittar vi på tusentals datapunkter från flera Roblox-motorinstanser och rangordnar dem för att matcha dem. Roblox är unik eftersom människor och platser ständigt förändras, och systemet vi bygger måste ta hänsyn till dessa fluktuationer.
För att göra detta måste vi utveckla teknologierna för att lösa två utmaningar som är nyckeln till att maximera användarnas tillfredsställelse. Den första är att bestämma hur man spårar och rangordnar de platser vi matchar människor till i realtid. Det andra är att optimera matchmaking för effektivitet i stor skala. Detta hybridsystem måste matcha våra miljontals samtidiga användare till upplevelser med minimal latens samtidigt som det orkestrerar Roblox-motorinstanser över vår flotta av avancerade datacenter. Det är det som driver maximalt engagemang.
Processen har många komplexiteter, men ett bra exempel på en speciell utmaning är det som kallas "problemet med åskande flock". Det är då våra system ser enorma belastningstoppar på kort tid. Till exempel när miljontals människor försöker gå med i en populär upplevelse samtidigt på en lördagsmorgon.
I dessa fall kan vi se ett snabbt 10x hopp i förfrågningar. Detta plötsliga ökade tryck stressar våra system och tidigare hade den här typen av händelser fällt plattformen. Men nu har många Roblox-upplevelser den här typen av speciell händelse, begränsad utgåva eller uppdatering. Samtidigt som det ökar engagemanget, tvingar det oss också att vara redo att hantera vanliga dånande besättningar.
Är problemet med dånande flock något som andra sociala nätverk och plattformar har?
Vilken plattform som helst kan möta en plötslig massiv ökning av användare. Men det är särskilt utmanande för oss på grund av vår skala. En begränsad artikellansering kanske bara är en engångshändelse för en upplevelse, men på Roblox finns det miljontals upplevelser och många har populära evenemang som dessa. Så för Roblox är dånande flockincidenter inte sällsynta, isolerade eller förutsägbara. De kan hända när som helst i alla våra upplevelser, och vi måste vara redo. Vi har hårdnat matchmaking och andra system för att vara mer beroende av dessa mönster.
Vilka är några av de innovativa lösningar vi bygger för att möta dessa utmaningar?
Vi behövde bygga ett anpassat uppslags- och rekommendationssystem som ständigt indexerar Roblox-upplevelser och matchar människor till dem i realtid.
För att skicka användare till den bästa platsen och hantera de dånande hjordarna när som helst, var som helst över Roblox, tar systemet hänsyn till indata som användarnas tillstånd, plats, latens och andra spelaregenskaper. Den måste också spåra och uppdatera tillståndet för alla Roblox-upplevelser med några sekunders mellanrum.
Därifrån måste vi generera dessa matchrekommendationer i realtid. Med många traditionella matchmaking-system ansluter användare och väntar i en virtuell lobby på att spelet ska starta. Det kan ta flera minuter, men på Roblox måste vi skicka människor till rätt upplevelser så fort de klickar på gå med-knappen.
För att göra detta krävs att man bygger ett upplevelsesystem som återindexerar vår data med några sekunders mellanrum. Att göra detta i stor skala är en viktig utmaning eftersom vi inte kan använda standardtekniker för distribuerade system, som att enbart förlita sig på cachning, för att hantera belastningsspikar. Istället förlitade vi oss på att bygga ett anpassat indexeringssystem. Varje Roblox-motorinstans skjuter ständigt in data i detta system. Varje förfrågan om erfarenhetsanslutning skannar egenskaperna för varje aktiv plats, rangordnar dem över flera index och ger en rekommendation om vart användaren ska skickas baserat på vad som händer vid den exakta tidpunkten.
Vilka är de viktigaste lärdomarna från att utföra detta tekniska arbete?
En av de viktigaste lärdomarna från detta tekniska arbete är att vi måste se på saker och ting ur ett balanserat perspektiv. Vi har arbetat hårt med att förbättra vår plattforms tillförlitlighet men vi utvecklar också nya funktioner som kommer att förbättra användarupplevelsen på lång sikt. Det är som en pendel som svänger fram och tillbaka eftersom förändringen är konstant. Vi måste kunna lära oss, anpassa och räkna ut vad vi kan göra på kort sikt samtidigt som vi bygger på lång sikt.
Ta till exempel hur vi hanterade problemet med dånande flock. Vårt utvecklarcommunity insåg att de kunde dra nytta av hype på helgerna för att locka användare till sina upplevelser. Detta resulterade i att massor av människor gick med på upplevelser på lördagsförmiddagar. Så vi var tvungna att ändra våra tekniska planer, eftersom den skalningsutmaningen inte var något som lätt kunde lösas. När innehållet är statiskt tacklar du detta genom att lägga till cachinglager ovanpå och genom att tillhandahålla kapacitet för maximal användning. Men realtidskaraktären hos våra system innebar att vi omarbetade våra indexerings- och skanningssystem för att dela upp uppslagningarna och skala vår samtidighet.
Vilket Roblox-värde tror du stämmer bäst överens med hur du och ditt team tacklar tekniska utmaningar?
Respektera samhället är bäst i linje med hur vårt team tacklar tekniska utmaningar. Vår community består av både användare och skapare som gör erfarenheter och driver våra tekniska krav. Båda är lika viktiga. Så när vi ändrar något måste vi vara mycket eftertänksamma över hur det påverkar alla.
Om vi till exempel överväger att modifiera något som API:er som påverkar teleportering, måste vi förstå hur det kommer att påverka både användare och utvecklare. Vi ägnar mycket tid åt att tänka på hur vi får folk att spela rätt spel, men också hur vi ska ge utvecklare fler alternativ och kontroller. Vi kontaktar regelbundet utvecklare för att brainstorma nya funktioner med dem.
Vad upphetsar dig mest med vart Roblox och ditt team är på väg?
Tre saker. För det första är jag imponerad av vår enorma tillväxt. Det andra är potentialen för skapande och innovation på Roblox: människor kommer ständigt på nya idéer och erfarenheter, och driver oss att vara kreativa också om hur vi kan skala till den kreativiteten. För det tredje, AI/ML blomstrar, och Roblox ligger precis i framkant av denna våg. Till exempel, vi integrerar ytterligare ML i matchmaking och generativ AI på andra unika och banbrytande sätt på Roblox. Det är verkligen spännande.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://blog.roblox.com/2023/10/inside-tech-solving-matchmaking-roblox/
- : har
- :är
- :var
- $UPP
- a
- Able
- Om oss
- Konto
- tvärs
- aktiv
- anpassa
- tillsats
- adress
- påverka
- AI
- AI / ML
- Justerar
- Alla
- också
- an
- och
- vilken som helst
- var som helst
- API: er
- tillvägagångssätt
- ÄR
- AS
- At
- försök
- attrahera
- tillbaka
- baserat
- BE
- därför att
- varit
- BÄST
- Blogg
- båda
- brain
- fört
- SLUTRESULTAT
- Byggnad
- bygger
- men
- Knappen
- by
- kallas
- KAN
- Kapacitet
- fall
- Centers
- utmanar
- utmaningar
- utmanande
- byta
- byte
- klick
- kommande
- samfundet
- komplexiteter
- konkurrent
- Kontakta
- med tanke på
- anser
- konstant
- ständigt
- innehåll
- kontroller
- kunde
- skapande
- Kreativ
- kreativitet
- skaparna
- beställnings
- skärning
- datum
- datacenter
- datapunkter
- bestämmande
- utveckla
- Utvecklare
- utvecklare
- utveckla
- Direktör
- distribueras
- distribuerade system
- Dyk
- dela
- do
- gör
- ner
- enheter
- lätt
- kant
- edition
- effektivitet
- ingrepp
- Motor
- Teknik
- lika
- händelse
- händelser
- Varje
- alla
- exempel
- exciterade
- spännande
- erfarenhet
- Erfarenheter
- Ansikte
- Funktioner
- få
- Figur
- Förnamn
- FLOTTA
- fluktuationer
- För
- Krafter
- förgrunden
- vidare
- från
- ytterligare
- lek
- generera
- generativ
- Generativ AI
- skaffa sig
- Ge
- Går
- god
- Grupp
- Tillväxt
- hade
- hantera
- hända
- Happening
- Hård
- Har
- headed
- här.
- Hur ser din drömresa ut
- How To
- HTTPS
- Hybrid
- Hype
- idéer
- if
- Inverkan
- Konsekvenser
- med Esport
- imponerad
- förbättra
- förbättra
- in
- I andra
- ökat
- Ökar
- index
- Innovation
- innovativa
- ingångar
- inuti
- exempel
- istället
- Integrera
- in
- isolerat
- IT
- ivan
- delta
- sammanfogning
- hoppa
- bara
- Nyckel
- Latens
- lansera
- skikt
- LÄRA SIG
- Hävstång
- tycka om
- Begränsad
- läsa in
- Lobby
- läge
- Lång
- lång sikt
- se
- slå upp
- Lot
- gjord
- göra
- GÖR
- många
- massorna
- massiv
- Match
- matchande
- maximera
- maximal
- Maj..
- menas
- miljoner
- minimum
- minuter
- ML
- mer
- morgonen
- mest
- multipel
- Natur
- Behöver
- behövs
- behov
- nätverk
- Nya
- Nya funktioner
- nu
- talrik
- of
- on
- optimera
- Tillbehör
- or
- Övriga
- vår
- ut
- över
- särskilt
- särskilt
- Tidigare
- mönster
- Topp
- Personer
- perioden
- perspektiv
- Plats
- platser
- planer
- plattform
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- Spela
- Spelaren
- poäng
- Populära
- potentiell
- Förutsägbar
- tryck
- Problem
- process
- egenskaper
- Tryck
- skjuter
- Tryckande
- Snabbt
- rangordna
- leden
- SÄLLSYNT
- nå
- redo
- verklig
- realtid
- insåg
- Rekommendation
- rekommendationer
- regelbunden
- regelbundet
- frigöra
- tillförlitlighet
- förlita
- begära
- förfrågningar
- Krav
- Kräver
- resulte
- höger
- Roblox
- Samma
- tillfredsställande
- lördag
- Skala
- skalning
- scanning
- skannar
- Andra
- sekunder
- se
- sända
- Serier
- server
- Tjänster
- flera
- Dela
- skifta
- Kort
- kortsiktigt
- So
- Social hållbarhet
- sociala nätverk
- enbart
- Lösningar
- LÖSA
- löst
- Lösa
- några
- någon
- något
- speciell
- spendera
- spikar
- standard
- Ange
- plötslig
- uppstår
- system
- System
- tackla
- Tackles
- tackling
- Ta
- tar
- Talks
- grupp
- tech
- Teknisk
- tekniker
- Tekniken
- termin
- den där
- Smakämnen
- Staten
- deras
- Dem
- Där.
- Dessa
- de
- saker
- tror
- Tänkande
- Tredje
- detta
- de
- tusentals
- tid
- till
- topp
- mot
- spår
- traditionell
- enorm
- verkligen
- två
- Typ
- typer
- förstå
- unika
- Uppdatering
- us
- användning
- Användare
- Användarupplevelse
- användare
- värde
- mycket
- Virtuell
- Besök
- vänta
- vill
- Våg
- sätt
- we
- VÄL
- Vad
- när
- medan
- VEM
- kommer
- med
- Arbete
- arbetssätt
- dig
- Din
- zephyrnet