Techin sisällä on blogisarja, joka kulkee käsi kädessä meidän kanssa Tech Talks -podcast. Täällä sukeltamme syvemmälle keskeiseen tekniseen haasteeseen, johon vastaamme, ja jaamme ainutlaatuiset lähestymistavat, joita otamme tähän. Tässä painoksessa Techin sisällä, keskustelimme Growth Groupin teknisen johtajan Ivan Marcinin kanssa saadaksemme lisätietoja Robloxin matchmakingista.
Mitä teknisiä haasteita ratkaiset?
Matchmaking rakentaa palvelut, jotka yhdistävät Roblox-käyttäjät kokemuspalvelimeen liittymisprosessissa. Kun joku haluaa vierailla Roblox-kokemuksessa, tarkastelemme tuhansia datapisteitä useista Roblox-moottoriesiintymistä ja luokittelemme ne vastaavan paikan saavuttamiseksi. Roblox on ainutlaatuinen, koska ihmiset ja paikat muuttuvat jatkuvasti, ja rakentamamme järjestelmän on otettava huomioon nämä vaihtelut.
Tätä varten meidän on kehitettävä teknologioita, jotka ratkaisevat kaksi haastetta, jotka ovat avainasemassa käyttäjien tyytyväisyyden maksimoinnissa. Ensimmäinen on määrittää, kuinka seurata ja luokitella paikkoja, joihin yhdistämme ihmisiä reaaliajassa. Toinen on matchmaking optimointi tehokkuuden mittakaavassa. Tämän hybridijärjestelmän on sovitettava miljoonille samanaikaisille käyttäjillemme käyttökokemukset mahdollisimman pienellä viiveellä ja samalla organisoitava Roblox-moottoriesiintymiä reuna-palvelinkeskuksissamme. Se saa aikaan maksimaalisen sitoutumisen.
Prosessissa on monia monimutkaisia, mutta hyvä esimerkki tietystä haasteesta on niin kutsuttu "jylisevä laumaongelma". Silloin järjestelmämme näkevät valtavia kuormituspiikkejä lyhyessä ajassa. Esimerkiksi kun miljoonat ihmiset yrittävät liittyä suosittuun kokemukseen samaan aikaan lauantaiaamuna.
Näissä tapauksissa saatamme nähdä nopean 10-kertaisen hypyn pyyntöjen määrässä. Tämä äkillinen lisääntynyt paine rasittaa järjestelmiämme, ja aiemmin tämän tyyppiset tapahtumat olivat laskeneet alustan alas. Mutta nyt monissa Roblox-kokemuksissa on tämän tyyppinen erikoistapahtuma, rajoitettu julkaisu tai päivitys. Samalla kun se lisää sitoutumista, se pakottaa meidät myös olemaan valmiita käsittelemään säännöllisiä jyliseviä laumoja.
Onko jylisevä laumaongelma jotain, mitä muilla sosiaalisilla verkostoilla ja alustoilla on?
Mikä tahansa alusta voi kohdata äkillisen valtavan käyttäjien määrän. Mutta se on meille erityisen haastavaa mittakaavamme takia. Rajoitettu tuotteen lanseeraus voi olla vain kertaluonteinen elämystapahtuma, mutta Robloxilla on miljoonia kokemuksia ja monilla on tällaisia suosittuja tapahtumia. Joten Robloxille jylisevät laumatapahtumat eivät ole harvinaisia, yksittäisiä tai ennustettavissa olevia. Ne voivat tapahtua milloin tahansa minkä tahansa kokemuksemme perusteella, ja meidän on oltava valmiita. Olemme koventaneet matchmaking- ja muut järjestelmät olemaan riippuvaisempia näistä malleista.
Mitä innovatiivisia ratkaisuja rakennamme vastataksemme näihin haasteisiin?
Meidän piti rakentaa mukautettu haku- ja suositusjärjestelmä, joka indeksoi jatkuvasti Roblox-kokemuksia ja sovittaa ihmiset niihin reaaliajassa.
Lähettääkseen käyttäjät parhaaseen paikkaan ja hoitaakseen jylisevän lauman milloin tahansa, missä tahansa Robloxissa, järjestelmä ottaa huomioon syötteet, kuten käyttäjien tilan, sijainnin, viiveen ja muut pelaajan ominaisuudet. Sen on myös seurattava ja päivitettävä kaikkien Roblox-kokemusten tila muutaman sekunnin välein.
Sieltä meidän on luotava nämä ottelusuositukset reaaliajassa. Monissa perinteisissä matchmaking-järjestelmissä käyttäjät muodostavat yhteyden ja odottavat virtuaalisessa aulassa pelin käynnistymistä. Se voi kestää useita minuutteja, mutta Robloxissa meidän on lähetettävä ihmiset oikeisiin kokemuksiin heti, kun he napsauttavat liittymispainiketta.
Tämä edellyttää kokemusjärjestelmän rakentamista, joka indeksoi tietomme uudelleen muutaman sekunnin välein. Tämän tekeminen mittakaavassa on keskeinen haaste, koska emme voi käyttää tavallisia hajautettujen järjestelmien tekniikoita, kuten pelkkään välimuistiin luottamista, kuormituspiikkien käsittelemiseen. Sen sijaan luotimme mukautetun indeksointijärjestelmän rakentamiseen. Jokainen Roblox-moottoriinstanssi työntää jatkuvasti tietoja tähän järjestelmään. Kaikki kokemuksen liittymispyynnöt skannaavat jokaisen aktiivisen paikan ominaisuudet, luokittelevat ne useiden hakemistojen mukaan ja tekevät suosituksen siitä, minne käyttäjä lähetetään sen perusteella, mitä juuri sillä hetkellä tapahtuu.
Mitkä ovat tämän teknisen työn tärkeimmät opit?
Yksi tärkeimmistä tämän teknisen työn oppimista on, että meidän on tarkasteltava asioita tasapainoisesta näkökulmasta. Olemme tehneet lujasti töitä parantaaksemme alustamme luotettavuutta, mutta kehitämme myös uusia ominaisuuksia, jotka parantavat käyttökokemusta pitkällä aikavälillä. Se on kuin heiluri, joka heiluu edestakaisin, koska muutos on jatkuvaa. Meidän on kyettävä oppimaan, sopeutumaan ja selvittämään, mitä voimme tehdä lyhyellä aikavälillä, samalla kun rakennamme pitkällä aikavälillä.
Otetaan esimerkiksi se, kuinka käsittelimme jylisevän laumaongelman. Kehittäjäyhteisömme ymmärsi, että he voisivat hyödyntää hypetystä viikonloppuisin houkutellakseen käyttäjiä heidän kokemuksiinsa. Tämä johti siihen, että massat ihmiset liittyivät kokemuksiin lauantaiaamuisin. Joten jouduimme muuttamaan suunnittelusuunnitelmiamme, koska skaalaushaaste ei ollut helppo ratkaista. Kun sisältö on staattista, voit ratkaista tämän lisäämällä välimuistitasoja päälle ja varaamalla kapasiteettia huippukäyttöön. Mutta järjestelmiemme reaaliaikainen luonne merkitsi indeksointi- ja tarkistusjärjestelmämme uudelleenarkkitehtuuria hakujen jakamiseksi ja samanaikaisuuden skaalaamiseksi.
Mikä Roblox-arvo on mielestäsi parhaiten sopusoinnussa sen kanssa, kuinka sinä ja tiimisi vastaatte teknisiin haasteisiin?
Yhteisön kunnioittaminen vastaa parhaiten sitä, kuinka tiimimme käsittelee teknisiä haasteita. Yhteisömme koostuu sekä käyttäjistä että tekijöistä, jotka tekevät kokemuksia ja ajavat teknisiä vaatimuksiamme. Molemmat ovat yhtä tärkeitä. Joten kun muutamme jotain, meidän on mietittävä hyvin, miten se vaikuttaa kaikkiin.
Jos esimerkiksi harkitsemme teleporttiin vaikuttavien sovellusliittymien muokkaamista, meidän on ymmärrettävä, kuinka se vaikuttaa sekä käyttäjiin että kehittäjiin. Käytämme paljon aikaa miettien, kuinka saamme ihmiset pelaamaan oikeita pelejä, mutta myös sitä, kuinka voimme tarjota kehittäjille enemmän vaihtoehtoja ja ohjaimia. Otamme säännöllisesti yhteyttä kehittäjiin ideoidaksemme uusia ominaisuuksia heidän kanssaan.
Mikä innostaa sinua eniten siitä, mihin Roblox ja tiimisi ovat menossa?
Kolme asiaa. Ensinnäkin olen vaikuttunut valtavasta kasvustamme. Toinen on Robloxin luomisen ja innovoinnin potentiaali: ihmiset keksivät jatkuvasti uusia ideoita ja kokemuksia, mikä pakottaa meidät olemaan luovia myös luovuuden skaalaamisessa. Kolmanneksi AI/ML kukoistaa, ja Roblox on tämän aallon eturintamassa. Integroimme esimerkiksi lisää ML:ää matchmakingiin ja luovaa tekoälyä muilla ainutlaatuisilla ja huippuluokan tavoilla Robloxilla. Se on todella jännittävää.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://blog.roblox.com/2023/10/inside-tech-solving-matchmaking-roblox/
- :on
- :On
- :missä
- $ YLÖS
- a
- pystyy
- Meistä
- Tili
- poikki
- aktiivinen
- sopeuttaa
- lisää
- osoite
- vaikuttaa
- AI
- AI / ML
- Kohdistaa
- Kaikki
- Myös
- an
- ja
- Kaikki
- kaikkialla
- API
- lähestymistavat
- OVAT
- AS
- At
- yritys
- houkutella
- takaisin
- perustua
- BE
- koska
- ollut
- PARAS
- Uutiset ja media
- sekä
- neronleimaus
- toi
- rakentaa
- Rakentaminen
- rakentaa
- mutta
- nappia
- by
- nimeltään
- CAN
- Koko
- tapauksissa
- keskuksissa
- haaste
- haasteet
- haastava
- muuttaa
- muuttuviin
- napsauttaa
- tuleva
- yhteisö
- monimutkaisuus
- samanaikainen
- kytkeä
- ottaen huomioon
- pitää
- vakio
- alituisesti
- pitoisuus
- valvonta
- voisi
- luominen
- Luova
- luovuus
- luojat
- asiakassuhde
- leikkaus
- tiedot
- datakeskukset
- datapisteet
- määritetään
- kehittää
- Kehittäjä
- kehittäjille
- kehittämällä
- Johtaja
- jaettu
- hajautetut järjestelmät
- sukellus
- jakaa
- do
- tekee
- alas
- asemat
- helposti
- reuna
- painos
- tehokkuus
- sitoumus
- Moottori
- Tekniikka
- yhtä
- tapahtuma
- Tapahtumat
- Joka
- jokainen
- esimerkki
- innostaa
- jännittävä
- experience
- Elämykset
- Kasvot
- Ominaisuudet
- harvat
- Kuva
- Etunimi
- LAIVASTON
- vaihtelut
- varten
- Joukot
- eturintamassa
- eteenpäin
- alkaen
- edelleen
- peli
- tuottaa
- generatiivinen
- Generatiivinen AI
- saada
- Antaa
- Goes
- hyvä
- Ryhmä
- Kasvu
- HAD
- kahva
- tapahtua
- Happening
- Kova
- Olla
- headed
- tätä
- Miten
- Miten
- HTTPS
- Hybridi
- mainostemppu
- ideoita
- if
- Vaikutus
- Vaikutukset
- tärkeä
- vaikuttunut
- parantaa
- parantaminen
- in
- Muilla
- kasvoi
- Lisäykset
- indeksit
- Innovaatio
- innovatiivinen
- tuloa
- sisällä
- esimerkki
- sen sijaan
- Integrointi
- tulee
- yksittäinen
- IT
- ivan
- yhdistää
- tuloaan
- hypätä
- vain
- avain
- Viive
- käynnistää
- kerrokset
- OPPIA
- Vaikutusvalta
- pitää
- rajallinen
- kuormitus
- Aula
- sijainti
- Pitkät
- pitkän aikavälin
- katso
- Katso ylös
- Erä
- tehty
- tehdä
- TEE
- monet
- massat
- massiivinen
- ottelu
- matching
- maksimointi
- maksimi
- Saattaa..
- tarkoitti
- miljoonia
- minimi
- pöytäkirja
- ML
- lisää
- aamu
- eniten
- moninkertainen
- luonto
- Tarve
- tarvitaan
- tarpeet
- verkot
- Uusi
- Uudet ominaisuudet
- nyt
- useat
- of
- on
- optimoimalla
- Vaihtoehdot
- or
- Muut
- meidän
- ulos
- yli
- erityinen
- erityisesti
- Ohi
- kuviot
- Peak
- Ihmiset
- aika
- näkökulma
- Paikka
- paikat
- suunnitelmat
- foorumi
- Platforms
- Platon
- Platonin tietotieto
- PlatonData
- Pelaa
- soitin
- pistettä
- Suosittu
- mahdollinen
- Ennustettavissa
- paine
- Ongelma
- prosessi
- ominaisuudet
- Työnnä
- työntää
- Työnnä
- nopea
- sijoitus
- rivit
- HARVINAINEN
- tavoittaa
- valmis
- todellinen
- reaaliaikainen
- tajusi
- Suositus
- suosituksia
- säännöllinen
- säännöllisesti
- vapauta
- luotettavuus
- luottaen
- pyyntö
- pyynnöt
- vaatimukset
- Vaatii
- johtanut
- oikein
- Roblox
- sama
- tyytyväisyys
- lauantai
- Asteikko
- skaalaus
- skannaus
- skannaa
- Toinen
- sekuntia
- nähdä
- lähettää
- Sarjat
- palvelin
- Palvelut
- useat
- Jaa:
- siirtää
- Lyhyt
- Lyhytaikainen
- So
- sosiaalinen
- sosiaaliset verkostot
- Yksin
- Ratkaisumme
- SOLVE
- ratkaistu
- Solving
- jonkin verran
- Joku
- jotain
- erityinen
- viettää
- piikkarit
- standardi
- Osavaltio
- äkillinen
- syntyy
- järjestelmä
- järjestelmät
- puuttua
- Taklaukset
- puuttumalla
- ottaa
- ottaen
- Neuvottelut
- joukkue-
- teknologia
- Tekninen
- tekniikat
- Technologies
- termi
- että
- -
- Valtion
- heidän
- Niitä
- Siellä.
- Nämä
- ne
- asiat
- ajatella
- Ajattelu
- kolmas
- tätä
- ne
- tuhansia
- aika
- että
- ylin
- kohti
- raita
- perinteinen
- valtava
- todella
- kaksi
- tyyppi
- tyypit
- ymmärtää
- unique
- Päivitykset
- us
- käyttää
- käyttäjä
- Käyttäjäkokemus
- Käyttäjät
- arvo
- hyvin
- Virtual
- Vierailla
- odottaa
- haluaa
- Aalto
- tavalla
- we
- HYVIN
- Mitä
- kun
- vaikka
- KUKA
- tulee
- with
- Referenssit
- työskentely
- te
- Sinun
- zephyrnet