

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# GAMEPERF05-BP02 Mova tarefas de computação não sensíveis à latência para fluxos de trabalho assíncronos
<a name="gameperf05-bp02"></a>

 Ao otimizar o desempenho do seu jogo, é importante ter em mente que somente algumas das interações entre o cliente e o back-end do jogo devem ser realizadas de forma síncrona. Você deve considerar cada recurso do ponto de vista da experiência do jogador e determinar se determinadas interações exigem comunicações síncronas, que são bloqueadoras e consomem muitos recursos, ou se esses recursos podem ser implementados de forma assíncrona. Ao implementar chamadas de rede, use uma abordagem assíncrona e sem bloqueio. Além disso, o back-end do jogo também deve ser configurado para realizar o trabalho de maneira eficiente, transferindo tarefas para filas e priorizando respostas rápidas aos clientes sempre que possível. 

 **Nível de risco exposto se esta prática recomendada não for estabelecida:** Alto 

## Orientação para implementação
<a name="implementation-guidance-55"></a>

 Por exemplo, a atualização de uma tabela de líderes no final de uma sessão de jogador pode ser implementada de forma assíncrona para que o cliente não precise esperar que a atualização da tabela de líderes seja concluída. Em vez disso, implemente isso de forma assíncrona no cliente do jogo e considere criar seu serviço de back-end para colocar esses tipos de operações em filas, como o Amazon SQS. Com essa arquitetura, configure seu back-end para aceitar a solicitação, enfileirá-la no SQS, o que ajuda a armazenar mensagens de forma durável para processamento assíncrono e responder prontamente ao cliente. Quando a atualização da tabela de líderes for concluída, o back-end poderá enviar uma atualização ao cliente do jogo para que a visão do jogador sobre a tabela de líderes seja atualizada. 

 Como alternativa, o jogador pode simplesmente visitar a tela da tabela de classificação do jogo para recuperar os dados mais recentes, o que pode emitir uma solicitação da web ao seu back-end para recuperar os dados mais recentes do cache. 

### Etapas de implementação
<a name="implementation-steps-54"></a>
+  Determine se as interações cliente-back-end exigem comunicação síncrona; implemente abordagens assíncronas e sem bloqueio sempre que possível para otimizar o uso de recursos. 
+  Use o Amazon SQS para descarregar tarefas não críticas, como atualizações da tabela de classificação. 
+  Permita que o cliente busque dados atualizados de forma assíncrona, como recuperar os dados mais recentes da tabela de classificação sob demanda ou por meio de atualizações em segundo plano. 

### Recursos
<a name="resources-11"></a>
+  [Entendendo as mensagens assíncronas para microsserviços ](https://aws.amazon.com/blogs/compute/understanding-asynchronous-messaging-for-microservices/) 
+  [Lambda - Usando integrações de serviços e processamento assíncrono ](https://docs.aws.amazon.com/lambda/latest/operatorguide/integrations-asynchronous.html) 