Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Architettura di backend di gioco basata su container
Questa sezione descrive un'architettura di backend di gioco basata su contenitori.
Ospitare un backend di gioco utilizzando contenitori
-
I giocatori accedono al gioco utilizzando un software client di gioco, che può essere distribuito loro tramite un sistema di gioco, una vetrina digitale o un download diretto da una rete di distribuzione dei contenuti (CDN), come Amazon. CloudFront CDNsforniscono la memorizzazione nella cache nelle postazioni periferiche per accelerare le prestazioni degli utenti che scaricano contenuti. Ad esempio, CloudFront può essere utilizzato per distribuire il software client di gioco ai giocatori, nonché le risorse di gioco e altri contenuti.
-
AWS Global Accelerator fornisce l'accelerazione del traffico e controlli personalizzabili per instradare il traffico dai client di gioco dei giocatori ai sistemi di bilanciamento del carico, nonché per instradare il traffico tra le regioni per scopi multiregionali e di failover. I nomi di dominio personalizzati per il backend di gioco REST APIs sono configurati in Amazon Route 53 per indirizzare il traffico verso gli endpoint Global Accelerator. Non mostrati nel diagramma,AWS Shield Advanced possono fornire un'ulteriore mitigazione DDo S per l'acceleratore e il backend di gioco.
-
NAT Gateway e Application Load Balancer vengono distribuiti su sottoreti pubbliche in ciascuna delle zone di disponibilità utilizzate dal backend del gioco per fornire un'elevata disponibilità con la regione.AWS WAF viene distribuito su Application Load Balancer per fornire il filtraggio del traffico web di livello 7.
-
Il backend del gioco è ospitato come una raccolta di singoli microservizi basati su container distribuiti in un cluster Amazon EKS in sottoreti private distribuite tra zone di disponibilità per garantire la resilienza. La scalabilità automatica regola dinamicamente la capacità dei servizi e dei nodi del cluster in base all'utilizzo delle risorse, che in genere è correlato alla domanda dei giocatori. Mentre Cluster Autoscaler regola automaticamente il numero di nodi nel cluster, Horizontal Pod Autoscaler ridimensiona automaticamente i pod distribuiti nel cluster.
-
I dati di gioco e dei giocatori vengono archiviati in database e cache di backend che vengono distribuiti in sottoreti private nelle zone di disponibilità con replica tra nodi primari e di replica. Amazon Aurora è una scelta popolare per casi d'uso come profili dei giocatori, diritti e acquisti in-game, che possono avere requisiti di interrogazione più complessi e possono trarre vantaggio dalle funzionalità di modellazione dei dati relazionali di MySQL e PostgreSQL. Amazon ElastiCache è utile per creare classifere ad alte prestazioni, pub/sub messaggistica e per memorizzare nella cache i dati a cui si accede di frequente per ridurre la latenza e il carico sui database. Amazon DynamoDB è un data store NoSQL completamente gestito, ideale per modelli di accesso imprevedibili e la capacità di scalare fino a un throughput praticamente illimitato per casi d'uso come dati sullo stato di giocatori e partite, dati di sessione, inventario e archivi di articoli o casi d'uso in cui si desidera un database globale con un sovraccarico minimo.
-
I flussi di lavoro di elaborazione asincrona devono essere utilizzati per eseguire attività che possono essere eseguite in background, come l'aggiornamento delle classiifiche o l'invio di richieste di amicizia. Configura il backend di gioco per inserire questo tipo di lavoro nelle code di Amazon SQS e adattarlo alla crescita del gioco, oppure valuta la possibilità di utilizzare gli argomenti di Amazon SNS per distribuire il lavoro tra molte code di applicazioni consumer per l'elaborazione parallela. Usa le funzioni AWS Lambda per eseguire l'elaborazione in base agli eventi per ridurre i costi dell'infrastruttura di elaborazione e il sovraccarico di gestione. Per flussi di lavoro di lunga durata o che richiedono il coordinamento delle attività con più passaggi, prendi in considerazione l'idea di orchestrare l'intero flusso di lavoro utilizzando.AWS Step Functions Amazon EventBridge può essere utilizzato per avviare funzioni per rispondere a eventi di AWS servizio e applicazioni personalizzate.