Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GAMEREL03-BP01Pantau gangguan server game, dan gunakan data untuk meningkatkan arsitektur hosting untuk mencapai tujuan keandalan
Pantau metrik server game dan dampak kegagalan atau penurunan kinerja, seperti peningkatan latensi di bawah beban, pada perilaku pemain dari waktu ke waktu sehingga Anda dapat menyesuaikan strategi hosting server game Anda untuk memenuhi persyaratan keandalan game Anda. Infrastruktur server game yang akan terdegradasi harus segera dihapus dari layanan jika berdampak pada pemain atau diganti secara proaktif ketika tidak ada sesi pemain aktif yang dihosting di server.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
Untuk skenario di mana game dihosting sebagai REST API, keandalan sistem dapat dikelola seperti arsitektur aplikasi web tradisional, di mana lalu lintas dapat diseimbangkan di beberapa server secara terdistribusi untuk mengurangi risiko kegagalan server.
Untuk gameplay sinkron waktu nyata, sesi game biasanya dihosting pada proses server game yang berjalan pada mesin virtual, atau instance server game, karena status gameplay perlu dipertahankan dengan cara yang berkinerja tinggi dan direplikasi ke klien game yang terhubung. Implementasi ini berarti bahwa pengalaman pemain digabungkan erat dengan kinerja dan keandalan proses server game yang menjadi tuan rumah sesi permainan mereka. Jenis arsitektur ini membuat pengelolaan keandalan server game lebih kompleks daripada pendekatan tradisional.
Untuk mengurangi dampak kegagalan server game, konfigurasikan game Anda untuk terus melakukan pembaruan asinkron status permainan pemain ke cache atau database yang sangat tersedia seperti Amazon ElastiCache (Redis OSS) atau Amazon MemoryDB.
Namun, pendekatan ini menambah biaya dan kompleksitas tambahan untuk mengelola status eksternal ini, dan mungkin tidak cocok untuk game serba cepat atau kompetitif di mana perubahan status sangat sering dan terjadi pada skala yang begitu signifikan sehingga memperkenalkan penyimpanan data cache dalam memori yang berkinerja tinggi akan mengakibatkan jeda replikasi yang terlalu signifikan untuk berguna untuk memulihkan sesi. Untuk permainan seperti ini, pendekatan optimal adalah menerima kehilangan server dan mengirim pemain kembali ke lobi permainan untuk menemukan sesi lain atau Anda dapat secara otomatis mengarahkannya ke sesi permainan lain.
Tangkap sebanyak mungkin data log yang berguna tentang apa yang menyebabkan gangguan server sehingga Anda dapat menyelidiki masalah nanti. Amazon GameLift memberikan panduan untuk men- debug masalah armada dan menyediakan kemampuan untuk mengakses instans GameLift armada Amazon dari jarak jauh.
Langkah-langkah implementasi
-
Pantau metrik server game untuk penurunan kinerja, dan hapus atau ganti server yang terdegradasi seperlunya untuk menjaga keandalan.
-
Gunakan Amazon ElastiCache atau MemoryDB untuk pembaruan status game asinkron untuk mengaktifkan pemulihan sesi setelah kegagalan server bila memungkinkan.
-
Tangkap data log terperinci tentang gangguan server untuk penyelidikan dan debugging, memanfaatkan alat seperti Amazon GameLift untuk pemantauan armada dan akses jarak jauh.