Pular para o conteúdo principal

Como o matchmaking se dimensiona sob carga

Visão geral

Quando uma fila recebe um grande volume de tíquetes, o serviço dimensiona automaticamente seu processamento para manter baixa a latência das partidas. À medida que a carga aumenta, os tíquetes são agrupados usando as regras configuradas da sua fila, de modo que tíquetes semelhantes (tíquetes com maior probabilidade de serem compatíveis) sejam avaliados juntos. À medida que a carga diminui, esses grupos se consolidam, dando ao serviço um conjunto maior de tíquetes para escolher e melhorando a qualidade das partidas. Esse dimensionamento é transparente para os jogadores, mas as regras que você configura em uma fila influenciam a eficácia com que o serviço consegue distribuir o trabalho. Entender esse processo pode ajudar você a projetar configurações de fila que se dimensionem com eficiência.

O que faz uma regra se dimensionar bem

Quando o serviço precisa distribuir tíquetes por sua capacidade de processamento, ele procura atributos de regras que dividam naturalmente os tíquetes em grupos aproximadamente iguais. Regras com uma ampla variedade de valores distintos funcionam melhor, pois dão ao serviço mais opções para equilibrar a carga de maneira uniforme. Se nenhuma regra fornecer uma boa distribuição, o serviço recorrerá a uma distribuição de uso geral que equilibra a carga sem depender de atributos de regras. Por exemplo, isso acontece quando a maioria dos tíquetes compartilha valores de atributo idênticos.

Regras que particionam bem

  • Regras de igualdade de cadeia de caracteres com valores diversos: regras como GameMode ou Region, que têm vários valores distintos na sua população de jogadores, criam limites de partição naturais. O serviço pode dividir os tíquetes de forma limpa em grupos que compartilham o mesmo valor.
  • Regras obrigatórias: regras que permanecem impostas durante toda a correspondência (sem uma expansão) são preferidas para o particionamento porque representam restrições rígidas. Dividir com base nessas regras garante que os limites de partição se alinhem com seus requisitos de partida mais fortes.
  • Regras com peso maior: regras com um peso maior têm prioridade no particionamento. Essa abordagem significa que as regras que você considera mais importantes para a qualidade da partida também são as que têm maior probabilidade de orientar a distribuição dos tíquetes.
  • Regras de diferença com uma dispersão de valores: regras numéricas, como a classificação de habilidade, funcionam bem quando os valores dos jogadores estão distribuídos ao longo de um intervalo, permitindo que o serviço divida os tíquetes em grupos com valores semelhantes.

Regras menos eficazes para o particionamento

  • Regras em que a maioria dos tíquetes compartilha o mesmo valor: se quase todos os jogadores enviarem o mesmo valor de atributo para uma regra, o serviço não poderá usar essa regra para criar uma divisão significativa.
  • Regras com uso intenso de curingas: quando uma grande proporção de tíquetes usa um valor curinga (corresponde a qualquer um) para uma regra, essa regra se torna menos útil para dividir os tíquetes em grupos distintos.
  • Regras com expansões: regras que se tornam opcionais ao longo do tempo têm prioridade reduzida no particionamento porque representam restrições mais flexíveis que podem não se manter durante a vida útil de um tíquete.

Considerações de design

Ao projetar filas de matchmaking para jogos que podem ter grandes volumes de tíquetes, tenha em mente as seguintes considerações:
  • Distribua os valores dos atributos: regras com valores de atributo diversos na sua população de jogadores produzem melhores divisões de partição. Se a maioria dos jogadores compartilhar o mesmo valor para uma regra, ela não ajudará a equilibrar a carga entre as partições.
  • Atribua pesos maiores às regras importantes: o peso de uma regra afeta tanto a prioridade de ordenação das partidas quanto a prioridade de divisão das partições. Atribuir pesos maiores às regras mais importantes para a qualidade da partida garante que essas regras também orientem a distribuição dos tíquetes.
  • Evite curingas desnecessários: quando uma grande proporção de tíquetes usa valores curinga para uma regra, essa regra se torna menos útil para o particionamento. Avalie se o comportamento de curinga é necessário para o design do seu jogo.
  • Novas tentativas durante alterações de partição são normais: quando o layout das partições muda devido a uma divisão ou mesclagem, alguns tíquetes podem ser cancelados brevemente com um sinal de nova tentativa. O SDK de matchmaking lida com isso automaticamente, de modo que os jogadores percebem apenas um atraso momentâneo.
Última modificação em 8 de outubro de 2026