View a markdown version of this page

Arsitektur backend game berbasis kontainer - Lensa Industri Game

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Arsitektur backend game berbasis kontainer

Bagian ini menguraikan arsitektur backend game berbasis container.

Hosting backend game menggunakan wadah

Hosting backend game menggunakan wadah

  • Pemain mengakses game menggunakan perangkat lunak klien game, yang dapat didistribusikan kepada mereka melalui sistem game, etalase digital, atau unduhan langsung dari jaringan pengiriman konten (CDN), seperti Amazon. CloudFront CDNsmenyediakan caching di lokasi tepi untuk mempercepat kinerja bagi pengguna yang mengunduh konten. Misalnya, CloudFront dapat digunakan untuk mendistribusikan perangkat lunak klien game ke pemain Anda serta aset game dan konten lainnya.

  • AWS Global Accelerator menyediakan akselerasi lalu lintas dan kontrol yang dapat disesuaikan untuk merutekan lalu lintas dari klien game pemain ke penyeimbang beban Anda serta merutekan lalu lintas lintas Wilayah untuk tujuan Multi-wilayah dan failover. Nama domain khusus untuk REST backend game Anda APIs dikonfigurasi di Amazon Route 53 untuk merutekan lalu lintas ke titik akhir Global Accelerator. Tidak ditampilkan dalam diagram,AWS Shield Advanced dapat memberikan mitigasi DDo S tambahan untuk akselerator dan backend game Anda.

  • NAT Gateway dan Application Load Balancer dikerahkan ke subnet publik di setiap Availability Zone yang digunakan oleh backend game untuk menyediakan ketersediaan tinggi dengan Wilayah.AWS WAF digunakan pada Application Load Balancer untuk menyediakan penyaringan lalu lintas web layer-7.

  • Backend game di-host sebagai kumpulan layanan mikro berbasis kontainer individu yang digunakan ke cluster Amazon EKS di subnet pribadi yang tersebar di Availability Zone untuk ketahanan. Penskalaan otomatis secara dinamis menyesuaikan kapasitas layanan dan node cluster berdasarkan pemanfaatan sumber daya, yang biasanya berkorelasi dengan permintaan pemain. Sedangkan Cluster Autoscaler secara otomatis menyesuaikan jumlah node di cluster, Horizontal Pod Autoscaler secara otomatis menskalakan pod yang di-deploy ke dalam cluster.

  • Data game dan pemain disimpan dalam database backend dan cache yang digunakan ke subnet pribadi di seluruh Availability Zones dengan replikasi antara node primer dan replika. Amazon Aurora adalah pilihan populer untuk kasus penggunaan seperti profil pemain, hak, dan pembelian dalam game, yang dapat memiliki persyaratan kueri yang lebih kompleks dan dapat memanfaatkan kemampuan pemodelan data relasional MySQL dan PostgreSQL. Amazon ElastiCache berguna untuk membangun papan peringkat berkinerja tinggi, pub/sub perpesanan, dan untuk menyimpan data yang sering diakses untuk mengurangi latensi dan beban pada database. Amazon DynamoDB adalah penyimpanan data NoSQL yang dikelola sepenuhnya yang ideal untuk pola akses yang tidak dapat diprediksi dan kemampuan untuk menskalakan ke throughput yang hampir tidak terbatas untuk kasus penggunaan seperti data status pemain dan game, data sesi, inventaris dan penyimpanan item, atau kasus penggunaan di mana Anda menginginkan database global dengan overhead minimal.

  • Alur kerja pemrosesan asinkron harus digunakan untuk melakukan pekerjaan yang dapat dilakukan di latar belakang, seperti memperbarui papan peringkat atau mengirim permintaan pertemanan. Konfigurasikan backend game Anda untuk mendorong jenis pekerjaan ini ke dalam antrian Amazon SQS agar sesuai skala saat game Anda tumbuh atau pertimbangkan untuk menggunakan topik Amazon SNS untuk mendistribusikan pekerjaan di antara banyak antrian aplikasi konsumen untuk pemrosesan paralel. Gunakan fungsi AWS Lambda untuk melakukan pemrosesan dengan cara yang didorong oleh peristiwa untuk mengurangi biaya infrastruktur komputasi dan overhead manajemen Anda. Untuk alur kerja yang berumur panjang atau memerlukan koordinasi tugas dengan beberapa langkah, pertimbangkan untuk mengatur seluruh alur kerja menggunakan.AWS Step Functions Amazon EventBridge dapat digunakan untuk memulai fungsi untuk menanggapi AWS layanan dan peristiwa aplikasi kustom.