Inne i teknologien er en bloggserie som går hånd i hånd med vår Tech Talks Podcast. Her dykker vi videre inn i en viktig teknisk utfordring vi takler og deler de unike tilnærmingene vi tar for å gjøre det. I denne utgaven av Inne i teknologien, snakket vi med vekstgruppens tekniske direktør Ivan Marcin for å lære mer om matchmaking på Roblox.
Hvilke tekniske utfordringer løser du for?
Matchmaking bygger tjenestene som matcher Roblox-brukere til en opplevelsesserver i sammenføyningsprosessen. Når noen ønsker å besøke en Roblox-opplevelse, ser vi på tusenvis av datapunkter fra flere Roblox-motorforekomster og rangerer dem for å matche det. Roblox er unik fordi mennesker og steder er i konstant endring, og systemet vi bygger må ta hensyn til disse svingningene.
For å gjøre dette, må vi utvikle teknologiene for å løse to utfordringer som er nøkkelen til å maksimere brukertilfredsheten. Den første er å bestemme hvordan vi skal spore og rangere stedene vi matcher folk til i sanntid. Den andre er å optimalisere matchmaking for effektivitet i stor skala. Dette hybridsystemet må matche våre millioner av samtidige brukere til opplevelser med minimal ventetid, samtidig som det orkestrerer Roblox-motorforekomster på tvers av vår flåte av avanserte datasentre. Det er det som driver maksimalt engasjement.
Prosessen har mange kompleksiteter, men et godt eksempel på en spesiell utfordring er det som kalles "tornende flokkproblem." Det er da systemene våre ser massive belastningstopper i løpet av kort tid. For eksempel når millioner av mennesker prøver å bli med på en populær opplevelse på samme tid på en lørdag morgen.
I slike tilfeller kan vi se et raskt 10x hopp i forespørsler. Dette plutselig økte trykket stresser systemene våre, og tidligere hadde denne typen hendelser ført til at plattformen ble ødelagt. Men nå har mange Roblox-opplevelser denne typen spesielle begivenheter, begrenset utgivelse eller oppdatering. Selv om det øker engasjementet, tvinger det oss også til å være klare til å håndtere vanlige dundrende flokker.
Er problemet med tordnende flokk noe andre sosiale nettverk og plattformer har?
Enhver plattform kan møte en plutselig massiv økning av brukere. Men det er spesielt utfordrende for oss på grunn av omfanget vårt. En begrenset varelansering er kanskje bare en engangsbegivenhet for en opplevelse, men på Roblox er det millioner av opplevelser og mange har populære arrangementer som disse. Så for Roblox er hendelser med tordnende flokker ikke sjeldne, isolerte eller forutsigbare. De kan skje når som helst på tvers av alle våre erfaringer, og vi må være klare. Vi har herdet matchmaking og andre systemer for å være mer avhengige av disse mønstrene.
Hva er noen av de innovative løsningene vi bygger for å møte disse utfordringene?
Vi trengte å bygge et tilpasset oppslags- og anbefalingssystem som hele tiden indekserer Roblox-opplevelser og matcher folk til dem i sanntid.
For å sende brukere til det beste stedet og håndtere de dundrende flokkene når som helst, hvor som helst på tvers av Roblox, vurderer systemet inndata som brukernes tilstand, plassering, ventetid og andre spilleregenskaper. Den må også spore og oppdatere tilstanden til alle Roblox-opplevelser med noen sekunders mellomrom.
Derfra må vi generere disse kampanbefalingene i sanntid. Med mange tradisjonelle matchmaking-systemer kobler brukere seg til og venter i en virtuell lobby på at spillet skal starte. Det kan ta flere minutter, men på Roblox må vi sende folk til de riktige opplevelsene i det sekundet de klikker på bli med-knappen.
For å gjøre dette krever det å bygge et opplevelsessystem som reindekserer dataene våre med noen sekunders mellomrom. Å gjøre dette i stor skala er en nøkkelutfordring fordi vi ikke kan bruke standard distribuerte systemteknikker, som å stole utelukkende på caching, for å håndtere belastningstopper. I stedet stolte vi på å bygge et tilpasset indekseringssystem. Hver Roblox-motorforekomst presser stadig data inn i dette systemet. Enhver forespørsel om å bli medlem skanner egenskapene til hvert aktivt sted, rangerer dem på tvers av flere indekser og gir en anbefaling om hvor brukeren skal sendes basert på hva som skjer på det nøyaktige tidspunktet.
Hva er den viktigste læringen ved å gjøre dette tekniske arbeidet?
En av de viktigste lærdommene fra å gjøre dette tekniske arbeidet er at vi må se på ting fra et balansert perspektiv. Vi har jobbet hardt med å forbedre plattformens pålitelighet, men vi utvikler også nye funksjoner som vil forbedre brukeropplevelsen på lang sikt. Det er som en pendel som svinger frem og tilbake fordi endring er konstant. Vi må være i stand til å lære, tilpasse oss og finne ut hva vi kan gjøre på kort sikt samtidig som vi bygger på lang sikt.
Ta for eksempel hvordan vi håndterte problemet med tordnende flokk. Utviklerfellesskapet vårt innså at de kunne utnytte hype i helgene for å tiltrekke brukere til opplevelsene deres. Dette resulterte i at massevis av mennesker ble med på opplevelser lørdag formiddag. Så vi måtte endre ingeniørplanene våre, siden den skaleringsutfordringen ikke var noe som lett kunne løses. Når innholdet er statisk, takler du dette ved å legge til caching-lag på toppen og ved å klargjøre kapasitet for toppbruk. Men sanntidsnaturen til systemene våre betydde omstrukturering av indekserings- og skanningssystemene våre for å dele oppslagene og skalere samtidigheten vår.
Hvilken Roblox-verdi tror du stemmer best med hvordan du og teamet ditt takler tekniske utfordringer?
Respekt for fellesskapet stemmer best overens med hvordan teamet vårt takler tekniske utfordringer. Fellesskapet vårt består av både brukerne og skaperne som gjør erfaringer og presser våre tekniske krav. Begge er like viktige. Så når vi endrer noe, må vi være veldig gjennomtenkte om hvordan det påvirker alle.
For eksempel, hvis vi vurderer å endre noe som API-ene som påvirker teleportering, må vi forstå hvordan det vil påvirke både brukere og utviklere. Vi bruker mye tid på å tenke på hvordan vi får folk til å spille det riktige spillet, men også hvordan vi kan gi utviklere flere alternativer og kontroller. Vi tar jevnlig kontakt med utviklere for å brainstorme nye funksjoner med dem.
Hva begeistrer deg mest om hvor Roblox og teamet ditt er på vei?
Tre ting. For det første er jeg imponert over vår enorme vekst. Det andre er potensialet til skapelse og innovasjon på Roblox: folk kommer stadig med nye ideer og erfaringer, og presser oss til å være kreative i tillegg til hvordan vi kan skalere til den kreativiteten. For det tredje blomstrer AI/ML, og Roblox er helt i forkant av denne bølgen. For eksempel integrerer vi ytterligere ML i matchmaking, og generativ AI på andre unike og banebrytende måter hos Roblox. Det er virkelig spennende.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://blog.roblox.com/2023/10/inside-tech-solving-matchmaking-roblox/
- : har
- :er
- :hvor
- $OPP
- a
- I stand
- Om oss
- Logg inn
- tvers
- aktiv
- tilpasse
- legge
- adresse
- påvirke
- AI
- AI / ML
- Justerer
- Alle
- også
- an
- og
- noen
- hvor som helst
- APIer
- tilnærminger
- ER
- AS
- At
- forsøk
- tiltrekke
- tilbake
- basert
- BE
- fordi
- vært
- BEST
- Blogg
- både
- brainstorm
- brakte
- bygge
- Bygning
- bygger
- men
- knapp
- by
- som heter
- CAN
- Kapasitet
- saker
- Sentre
- utfordre
- utfordringer
- utfordrende
- endring
- endring
- klikk
- kommer
- samfunnet
- kompleksiteten
- samtidig
- Koble
- vurderer
- anser
- konstant
- stadig
- innhold
- kontroller
- kunne
- skaperverket
- Kreativ
- kreativitet
- skaperne
- skikk
- skjæring
- dato
- datasentre
- datapunkter
- bestemme
- utvikle
- Utvikler
- utviklere
- utvikle
- Regissør
- distribueres
- distribuerte systemer
- dykk
- dele
- do
- gjør
- ned
- stasjoner
- lett
- Edge
- utgave
- effektivitet
- engasjement
- Motor
- Ingeniørarbeid
- like
- Event
- hendelser
- Hver
- alle
- eksempel
- spent
- spennende
- erfaring
- Erfaringer
- Face
- Egenskaper
- Noen få
- Figur
- Først
- FLÅTE
- svingninger
- Til
- Krefter
- teten
- videre
- fra
- videre
- spill
- generere
- generative
- Generativ AI
- få
- Gi
- Går
- god
- Gruppe
- Vekst
- HAD
- håndtere
- skje
- Skjer
- Hard
- Ha
- ledet
- her.
- Hvordan
- Hvordan
- HTTPS
- Hybrid
- Hype
- Ideer
- if
- Påvirkning
- Konsekvenser
- viktig
- imponert
- forbedre
- bedre
- in
- I andre
- økt
- øker
- indekser
- Innovasjon
- innovative
- innganger
- innsiden
- f.eks
- i stedet
- Integrering
- inn
- isolert
- IT
- ivan
- bli medlem
- sammenføyning
- hoppe
- bare
- nøkkel
- Ventetid
- lansere
- lag
- LÆRE
- Leverage
- i likhet med
- Begrenset
- laste
- Lobby
- plassering
- Lang
- langsiktig
- Se
- oppslag
- Lot
- laget
- gjøre
- GJØR AT
- mange
- massene
- massive
- Match
- matchende
- maksimere
- maksimal
- Kan..
- ment
- millioner
- minimal
- minutter
- ML
- mer
- morgen
- mest
- flere
- Natur
- Trenger
- nødvendig
- behov
- nettverk
- Ny
- Nye funksjoner
- nå
- mange
- of
- on
- optimalisere
- alternativer
- or
- Annen
- vår
- ut
- enn
- Spesielt
- spesielt
- Past
- mønstre
- Topp
- Ansatte
- perioden
- perspektiv
- Sted
- steder
- planer
- plattform
- Plattformer
- plato
- Platon Data Intelligence
- PlatonData
- Spille
- spiller
- poeng
- Populær
- potensiell
- Forutsigbar
- press
- Problem
- prosess
- egenskaper
- Skyv
- skyver
- Skyver
- Rask
- rangerer
- rekkene
- SJELDEN
- å nå
- klar
- ekte
- sanntids
- realisert
- Anbefaling
- anbefalinger
- regelmessig
- regelmessig
- slipp
- pålitelighet
- avhengig
- anmode
- forespørsler
- Krav
- Krever
- resulterte
- ikke sant
- Roblox
- samme
- tilfredshet
- lørdag
- Skala
- skalering
- skanning
- skanner
- Sekund
- sekunder
- se
- send
- Serien
- server
- Tjenester
- flere
- Del
- skift
- Kort
- kortsiktig
- So
- selskap
- sosiale nettverk
- utelukkende
- Solutions
- LØSE
- løst
- løse
- noen
- Noen
- noe
- spesiell
- bruke
- pigger
- Standard
- Tilstand
- plutselig
- bølge
- system
- Systemer
- takle
- takler
- takling
- Ta
- ta
- Snakker
- lag
- tech
- Teknisk
- teknikker
- Technologies
- begrep
- Det
- De
- Staten
- deres
- Dem
- Der.
- Disse
- de
- ting
- tror
- tenker
- Tredje
- denne
- De
- tusener
- tid
- til
- topp
- mot
- spor
- tradisjonelle
- enorm
- virkelig
- to
- typen
- typer
- forstå
- unik
- Oppdater
- us
- bruke
- Bruker
- Brukererfaring
- Brukere
- verdi
- veldig
- virtuelle
- Besøk
- vente
- ønsker
- Wave
- måter
- we
- VI VIL
- Hva
- når
- mens
- HVEM
- vil
- med
- Arbeid
- arbeid
- du
- Din
- zephyrnet