Por Dentro da Tecnologia é uma série de blogs que anda de mãos dadas com o nosso Podcast de palestras sobre tecnologia. Aqui, nos aprofundamos em um desafio técnico importante que estamos enfrentando e compartilhamos as abordagens exclusivas que estamos adotando para fazer isso. Nesta edição de Por Dentro da Tecnologia, conversamos com o diretor técnico do grupo Growth, Ivan Marcin, para saber mais sobre matchmaking no Roblox.
Quais desafios técnicos você está resolvendo?
Matchmaking cria os serviços que combinam os usuários Roblox com um servidor de experiência no processo de adesão. Quando alguém deseja visitar uma experiência Roblox, analisamos milhares de pontos de dados de várias instâncias do mecanismo Roblox e os classificamos para fazer essa correspondência. Roblox é único porque as pessoas e os lugares mudam constantemente, e o sistema que estamos construindo precisa levar em conta essas flutuações.
Para isso, temos que desenvolver tecnologias para resolver dois desafios fundamentais para maximizar a satisfação do usuário. A primeira é determinar como rastrear e classificar os lugares aos quais combinamos as pessoas em tempo real. A segunda é otimizar a combinação para eficiência em escala. Esse sistema híbrido precisa combinar nossos milhões de usuários simultâneos com experiências com latência mínima e, ao mesmo tempo, orquestrar instâncias do mecanismo Roblox em nossa frota de data centers de ponta. É isso que impulsiona o envolvimento máximo.
O processo tem inúmeras complexidades, mas um bom exemplo de um desafio específico é o chamado “problema do rebanho trovejante”. É quando nossos sistemas percebem picos massivos de carga em um curto período de tempo. Por exemplo, quando milhões de pessoas tentam participar de uma experiência popular ao mesmo tempo em uma manhã de sábado.
Nesses casos, poderemos ver um rápido aumento de 10 vezes nas solicitações. Este súbito aumento de pressão sobrecarrega os nossos sistemas e, no passado, estes tipos de eventos derrubaram a plataforma. Mas agora, muitas experiências Roblox têm esse tipo de evento especial, lançamento limitado ou atualização. Embora aumente o envolvimento, também nos obriga a estar preparados para lidar com rebanhos trovejantes regulares.
O problema do rebanho trovejante é algo que outras redes e plataformas sociais têm?
Qualquer plataforma pode enfrentar um aumento repentino e massivo de usuários. Mas é particularmente desafiador para nós devido à nossa escala. O lançamento de um item limitado pode ser apenas um evento único para uma experiência, mas no Roblox existem milhões de experiências e muitas têm eventos populares como esses. Portanto, para Roblox, incidentes estrondosos com rebanhos não são raros, isolados ou previsíveis. Eles podem acontecer a qualquer momento em qualquer uma de nossas experiências e precisamos estar prontos. Reforçamos o matchmaking e outros sistemas para serem mais dependentes desses padrões.
Quais são algumas das soluções inovadoras que estamos construindo para enfrentar esses desafios?
Precisávamos construir um sistema personalizado de pesquisa e recomendação que indexasse constantemente as experiências do Roblox e combinasse as pessoas com elas em tempo real.
Para enviar os usuários ao melhor lugar e lidar com os rebanhos estrondosos a qualquer momento, em qualquer lugar do Roblox, o sistema considera entradas como estado do usuário, localização, latência e outras propriedades do jogador. Ele também precisa rastrear e atualizar o estado de todas as experiências Roblox a cada poucos segundos.
A partir daí, precisamos gerar essas recomendações de partidas em tempo real. Com muitos sistemas tradicionais de matchmaking, os usuários se conectam e aguardam em um lobby virtual o lançamento do jogo. Isso pode levar vários minutos, mas no Roblox, precisamos direcionar as pessoas para as experiências certas no segundo em que clicarem no botão ingressar.
Para fazer isso, é necessário construir um sistema de experiência que reindexe nossos dados a cada poucos segundos. Fazer isso em escala é um desafio importante porque não podemos usar técnicas padrão de sistemas distribuídos, como confiar apenas no cache, para lidar com picos de carga. Em vez disso, confiamos na construção de um sistema de indexação personalizado. Cada instância do mecanismo Roblox envia dados constantemente para este sistema. Qualquer solicitação de ingresso de experiência verifica as propriedades de cada local ativo, classifica-as em vários índices e faz uma recomendação de para onde enviar o usuário com base no que está acontecendo naquele momento exato.
Quais são os principais aprendizados ao realizar este trabalho técnico?
Um dos principais aprendizados ao realizar este trabalho técnico é que precisamos olhar as coisas de uma perspectiva equilibrada. Temos trabalhado arduamente para melhorar a confiabilidade da nossa plataforma, mas também estamos desenvolvendo novos recursos que irão melhorar a experiência do usuário a longo prazo. É como um pêndulo balançando para frente e para trás porque a mudança é constante. Temos que ser capazes de aprender, nos adaptar e descobrir o que podemos fazer no curto prazo e, ao mesmo tempo, construir para o longo prazo.
Vejamos, por exemplo, como lidamos com o problema do rebanho estrondoso. Nossa comunidade de desenvolvedores percebeu que poderia aproveitar o entusiasmo nos finais de semana para atrair usuários para suas experiências. Isso resultou em massas de pessoas participando de experiências nas manhãs de sábado. Então tivemos que mudar nossos planos de engenharia, já que esse desafio de escala não era algo que pudesse ser resolvido facilmente. Quando o conteúdo é estático, você resolve isso adicionando camadas de cache na parte superior e provisionando capacidade para uso máximo. Mas a natureza de tempo real dos nossos sistemas significou reestruturar os nossos sistemas de indexação e digitalização para dividir as pesquisas e dimensionar a nossa simultaneidade.
Qual valor da Roblox você acha que melhor se alinha com a forma como você e sua equipe enfrentam os desafios técnicos?
O respeito pela comunidade se alinha melhor com a forma como nossa equipe enfrenta os desafios técnicos. Nossa comunidade é composta por usuários e criadores que criam experiências e atendem aos nossos requisitos técnicos. Ambos são igualmente importantes. Então, quando mudamos alguma coisa, temos que estar muito atentos sobre como isso impacta a todos.
Por exemplo, se estamos pensando em modificar algo como as APIs que impactam o teletransporte, precisamos entender como isso afetará tanto os usuários quanto os desenvolvedores. Passamos muito tempo pensando em como fazer com que as pessoas joguem o jogo certo, mas também em como dar aos desenvolvedores mais opções e controles. Entramos regularmente em contato com desenvolvedores para debater novos recursos com eles.
O que mais te entusiasma sobre o rumo que Roblox e sua equipe estão tomando?
Três coisas. Primeiro, estou impressionado com nosso tremendo crescimento. O segundo é o potencial de criação e inovação no Roblox: as pessoas estão constantemente surgindo com novas ideias e experiências, e nos incentiva a sermos criativos também sobre como escalar essa criatividade. Terceiro, a IA/ML está crescendo e a Roblox está na vanguarda dessa onda. Por exemplo, estamos integrando ainda mais ML ao matchmaking e IA generativa de outras formas exclusivas e inovadoras na Roblox. É realmente emocionante.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://blog.roblox.com/2023/10/inside-tech-solving-matchmaking-roblox/
- :tem
- :é
- :onde
- $UP
- a
- Capaz
- Sobre
- Conta
- em
- ativo
- adaptar
- acrescentando
- endereço
- afetar
- AI
- AI / ML
- Alinha
- Todos os Produtos
- tb
- an
- e
- qualquer
- qualquer lugar
- APIs
- se aproxima
- SOMOS
- AS
- At
- tentativa
- atrair
- em caminho duplo
- baseado
- BE
- Porque
- sido
- MELHOR
- Blog
- ambos
- brainstorming
- Trazido
- construir
- Prédio
- Constrói
- mas a
- botão
- by
- chamado
- CAN
- Capacidade
- casos
- Centros
- desafiar
- desafios
- desafiante
- alterar
- mudança
- clique
- vinda
- comunidade
- complexidades
- concorrente
- Contato
- considerando
- considera
- constante
- constantemente
- conteúdo
- controles
- poderia
- criação
- Criatividade
- criatividade
- criadores
- personalizadas
- corte
- dados,
- centros de dados
- Os pontos de dados
- determinando
- desenvolver
- Developer
- desenvolvedores
- em desenvolvimento
- Diretor
- distribuído
- Sistemas distribuídos
- mergulho
- dividir
- do
- fazer
- down
- Acionadores
- facilmente
- borda
- edição
- eficiência
- COMPROMETIMENTO
- Motor
- Engenharia
- igualmente
- Evento
- eventos
- Cada
- todos
- exemplo
- excita
- emocionante
- vasta experiência
- Experiências
- Rosto
- Funcionalidades
- poucos
- Figura
- Primeiro nome
- ANIMARIS
- flutuações
- Escolha
- Forças
- Frente
- adiante
- da
- mais distante
- jogo
- gerar
- generativo
- IA generativa
- ter
- OFERTE
- vai
- Bom estado, com sinais de uso
- Grupo
- Growth
- tinha
- manipular
- acontecer
- Acontecimento
- Queijos duros
- Ter
- comandado
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- HÍBRIDO
- Hype
- idéias
- if
- Impacto
- Impacto
- importante
- Impressionado
- melhorar
- melhorar
- in
- Em outra
- aumentou
- Aumenta
- índices
- Inovação
- inovadores
- inputs
- dentro
- instância
- em vez disso
- Integração
- para dentro
- isolado
- IT
- ivan
- juntar
- juntando
- saltar
- apenas por
- Chave
- Latência
- lançamento
- camadas
- APRENDER
- Alavancagem
- como
- Limitado
- carregar
- entrada
- localização
- longo
- longo prazo
- olhar
- pesquisa
- lote
- moldadas
- fazer
- FAZ
- muitos
- massas
- maciço
- Match
- correspondente
- maximizando
- máximo
- Posso..
- significava
- milhões
- mínimo
- minutos
- ML
- mais
- manhã
- a maioria
- múltiplo
- Natureza
- você merece...
- necessário
- Cria
- redes
- Novo
- Novos Recursos
- agora
- numeroso
- of
- on
- otimizando
- Opções
- or
- Outros
- A Nossa
- Fora
- Acima de
- particular
- particularmente
- passado
- padrões
- Pico
- Pessoas
- significativo
- perspectiva
- Lugar
- Locais
- planos
- plataforma
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- jogador
- pontos
- Popular
- potencial
- Previsível
- pressão
- Problema
- processo
- Propriedades
- Empurrar
- empurra
- Empurrando
- Links
- classificar
- fileiras
- RARO
- alcançar
- pronto
- reais
- em tempo real
- realizado
- Recomendação
- recomendações
- regular
- regularmente
- liberar
- confiabilidade
- contando
- solicitar
- pedidos
- Requisitos
- exige
- resultou
- certo
- Roblox
- mesmo
- satisfação
- sábado
- Escala
- dimensionamento
- exploração
- digitaliza
- Segundo
- segundo
- Vejo
- enviar
- Série
- servidor
- Serviços
- vários
- Partilhar
- mudança
- Baixo
- assistência técnica de curto e longo prazo
- So
- Redes Sociais
- redes sociais
- unicamente
- Soluções
- RESOLVER
- resolvido
- Resolvendo
- alguns
- Alguém
- algo
- especial
- gastar
- picos
- padrão
- Estado
- súbito
- surge
- .
- sistemas
- equipamento
- Desarmes
- abordando
- Tire
- tomar
- negociações
- Profissionais
- tecnologia
- Dados Técnicos:
- técnicas
- Tecnologias
- prazo
- que
- A
- O Estado
- deles
- Eles
- Lá.
- Este
- deles
- coisas
- think
- Pensando
- Terceiro
- isto
- aqueles
- milhares
- tempo
- para
- topo
- para
- pista
- tradicional
- tremendo
- verdadeiramente
- dois
- tipo
- tipos
- compreender
- único
- Atualizar
- us
- usar
- Utilizador
- Experiência do Usuário
- usuários
- valor
- muito
- Virtual
- Visite a
- esperar
- quer
- Onda
- maneiras
- we
- BEM
- O Quê
- quando
- enquanto
- QUEM
- precisarão
- de
- Atividades:
- trabalhar
- Você
- investimentos
- zefirnet