Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Você pode fornecer um exemplo de uso de aceleradores de roteamento personalizados em uma configuração de jogos multiplayer


Você pode fornecer um exemplo de uso de aceleradores de roteamento personalizados em uma configuração de jogos multiplayer


Em uma configuração de jogos multiplayer, os aceleradores de roteamento personalizados podem ser usados ​​para otimizar as conexões do jogador, roteando o tráfego diretamente para instâncias específicas do servidor de jogo com base na lógica do aplicativo, como resultados de correspondência. Essa abordagem melhora a latência, reduz o jitter e aprimora a experiência do jogador, alavancando a rede privada do AWS Global Acelerator e os endereços IP estáticos.

Exemplo de usar aceleradores de roteamento personalizado em jogos multiplayer

1. Configuração de servidores de jogo e sub -redes
Suponha que você tenha uma frota de servidores de jogo em execução em instâncias do Amazon EC2 em uma ou mais sub -redes VPC. Cada instância hospeda várias sessões de jogo, cada uma ouvindo em diferentes portas. Por exemplo, duas instâncias do EC2 podem estar sendo executadas na mesma sub -rede com IPS 10.1.1.1 e 10.1.1 privadas, cada uma das sessões de jogo de servir nas portas TCP 80, 81 e 82.

2. Crie um acelerador de roteamento personalizado
Você cria um acelerador de roteamento personalizado no AWS Global Accelerator e adiciona as sub -redes VPC relevantes como pontos de extremidade. Você define um intervalo de portas do ouvinte (por exemplo, 1001 a 1050) no acelerador e mapeia -o para o intervalo de portas de destino (por exemplo, 80 a 82) em suas instâncias do EC2. Esse mapeamento permite que o tráfego de entrada nas portas 1001-1050 seja roteado para combinações específicas de IP: porta nos servidores de back-end.

3. Mapeamento de portas e controle de tráfego
O acelerador gera uma tabela de mapeamento de porta que mapeia estaticamente cada porta do acelerador para um endereço IP e porta específico da instância do EC2. Por exemplo, a porta 1001 no acelerador mapeia para 10.1.1.1:80, porta 1002 a 10.1.1.1:81, e assim por diante. Você pode permitir ou negar o tráfego a instâncias ou portas específicas, garantindo que apenas servidores de jogos ativos recebam tráfego.

4. Lógica de correspondência e roteamento
Quando um jogador se conecta, seu serviço de matchmaking determina qual sessão de jogo (e, portanto, qual instância e porta do EC2) o jogador deve entrar com base em critérios como localização, nível de habilidade ou disponibilidade de sessão. A lógica de correspondência consulta a API do Acelerador Global para recuperar a porta do acelerador que corresponde à sessão de servidor de jogo selecionada.

5. Conexão do jogador via acelerador
O jogador recebe o endereço IP estático do acelerador e a porta mapeada (por exemplo, porta 1003). Quando o jogador se conecta, o Global Accelerator direciona o tráfego sobre a rede global da AWS para a instância exata do EC2 e a porta que hospeda a sessão do jogo (por exemplo, 10.1.1.1:82). Isso reduz a latência, evitando a Internet pública e usando os caminhos de rede otimizados da AWS.

6. Benefícios
-Baixa latência e instabilidade reduzida: o tráfego é roteado na rede de alta velocidade e congestionamento da AWS.
- Escalabilidade: você pode gerenciar milhares de sessões de jogo em várias regiões com um único acelerador.
- Tolerância a falhas: se um servidor de jogo ou terminal de sub -rede se tornar prejudicial, o tráfego poderá ser redirecionado sem a interrupção do jogador.
- Flexibilidade do protocolo: suporta TCP, UDP ou ambos, acomodando diferentes requisitos de rede de jogos.

Resumo

Usando o roteamento personalizado do AWS Global Acelerator, um jogo multiplayer pode direcionar jogadores para instâncias específicas do servidor de jogo, mapeando portas do acelerador para endereços IP privados e portas de instâncias do EC2 nas sub -redes VPC. O serviço de correspondência controla qual jogador conecta onde atribuindo a porta acelerador apropriada, permitindo o roteamento determinístico e de baixa latência sem a necessidade de alterações do cliente. Essa configuração é ideal para jogos multiplayer globais em larga escala, que precisam de controle de granulação fina sobre atribuições de jogador para servidor e otimização de desempenho [2] [6] [7] [9].

Citações:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-ruting-how-it-works.html
[2] https://aws.amazon.com/blogs/gametech/deploy-game-shervers-with-amazon-gamelift-fleetiq-and-integrate-with-custom--routing-aws-global-accelerator/
[3] https://www.youtube.com/watch?v=yxqjyly80pc
[4] https://pages.awscloud.com/rs/112-tzm-766/images/2023_ott-od-0502-ngi_slide-deck.pdf
[5] https://coda.io/@kirtanc25/aws-r53-cf-ga/aws-global-accelerator-14
[6] https://pages.awscloud.com/rs/112-tzm-766/images/ptnr-aws-amd-gamelift-gameservers.pdf
[7] https://www.alibabacloud.com/help/en/ga/user-guide/how-custom--routing-listeners-work
[8] https://www.youtube.com/watch?v=qlaauf_zq4i
[9] https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-global-accelerator-custom--routing-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-cecelation-for-multiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/modernize-game-backend-services-with-aws-global-accelerator/