

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# GAMEPERF05-BP02 Verschieben Sie nicht latenzempfindliche Rechenaufgaben in asynchrone Workflows
<a name="gameperf05-bp02"></a>

 Wenn du die Leistung für dein Spiel optimierst, ist es wichtig zu bedenken, dass nur ein Teil der Interaktionen zwischen dem Client und dem Spiel-Backend synchron ausgeführt werden muss. Du solltest jede Funktion aus der Perspektive des Spielerlebnisses betrachten und entscheiden, ob bestimmte Interaktionen eine synchrone Kommunikation erfordern, die blockierend und ressourcenintensiv ist, oder ob diese Funktionen asynchron implementiert werden können. Verwenden Sie bei der Implementierung von Netzwerkanrufen einen asynchronen, nicht blockierenden Ansatz. Darüber hinaus sollte Ihr Spiel-Backend so konfiguriert sein, dass es die Arbeit auf effiziente Weise erledigt, indem Aufgaben in Warteschlangen verlagert werden und schnelle Antworten an Kunden nach Möglichkeit Vorrang haben. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** Hoch 

## Implementierungsleitfaden
<a name="implementation-guidance-55"></a>

 Beispielsweise kann die Aktualisierung einer Bestenliste am Ende einer Spielersitzung asynchron implementiert werden, sodass der Client nicht warten muss, bis die Aktualisierung der Rangliste abgeschlossen ist. Implementieren Sie dies stattdessen asynchron auf dem Spielclient und erwägen Sie, Ihren Backend-Service so zu gestalten, dass diese Art von Vorgängen in Warteschlangen verschoben wird, wie z. B. Amazon SQS. Konfigurieren Sie bei dieser Architektur Ihr Back-End so, dass es die Anfrage akzeptiert, sie in SQS in die Warteschlange stellt, wodurch Nachrichten dauerhaft für die asynchrone Verarbeitung gespeichert werden, und dem Client umgehend antworten. Wenn das Leaderboard-Update abgeschlossen ist, kann das Backend ein Update an den Spielclient senden, sodass die Ansicht des Spielers auf der Bestenliste aktualisiert wird. 

 Alternativ kann der Spieler auch einfach den Leaderboard-Bildschirm deines Spiels aufrufen, um die neuesten Daten abzurufen. Dadurch kann eine Webanfrage an dein Backend gesendet werden, um die neuesten Daten aus dem Cache abzurufen. 

### Implementierungsschritte
<a name="implementation-steps-54"></a>
+  Ermitteln Sie, ob Interaktionen zwischen Client und Backend eine synchrone Kommunikation erfordern. Implementieren Sie nach Möglichkeit asynchrone, nicht blockierende Ansätze, um die Ressourcennutzung zu optimieren. 
+  Verwenden Sie Amazon SQS, um unkritische Aufgaben wie das Aktualisieren der Bestenlisten auszulagern. 
+  Ermöglichen Sie dem Client, aktualisierte Daten asynchron abzurufen, z. B. die neuesten Bestenlistendaten bei Bedarf oder über Hintergrundaktualisierungen abzurufen. 

### Ressourcen
<a name="resources-11"></a>
+  [Grundlegendes zu asynchronem Messaging für Microservices ](https://aws.amazon.com/blogs/compute/understanding-asynchronous-messaging-for-microservices/) 
+  [Lambda — Verwendung von Serviceintegrationen und asynchroner Verarbeitung ](https://docs.aws.amazon.com/lambda/latest/operatorguide/integrations-asynchronous.html) 