Dalam pengaturan gaming multiplayer, akselerator routing khusus dapat digunakan untuk mengoptimalkan koneksi pemain dengan merutekan lalu lintas langsung ke instance server game tertentu berdasarkan logika aplikasi, seperti hasil perjodohan. Pendekatan ini meningkatkan latensi, mengurangi jitter, dan meningkatkan pengalaman pemain dengan memanfaatkan jaringan pribadi AWS Global Accelerator dan alamat IP statis.
Contoh penggunaan akselerator perutean kustom dalam game multipemain
1. Pengaturan server game dan subnet
Misalkan Anda memiliki armada server game yang berjalan di instance Amazon EC2 dalam satu atau lebih subnet VPC. Setiap contoh menjadi host beberapa sesi game, masing -masing mendengarkan di port yang berbeda. Sebagai contoh, dua instance EC2 mungkin berjalan di subnet yang sama dengan IPS Private 10.1.1.1 dan 10.1.1.2, masing -masing sesi game melayani di port TCP 80, 81, dan 82.
2. Buat akselerator perutean khusus
Anda membuat akselerator routing khusus di AWS Global Accelerator dan menambahkan subnet VPC yang relevan sebagai titik akhir. Anda mendefinisikan rentang port pendengar (mis., 1001 hingga 1050) pada akselerator dan memetakannya ke rentang port tujuan (mis., 80 hingga 82) pada instance EC2 Anda. Pemetaan ini memungkinkan lalu lintas yang masuk di port 1001-1050 untuk dialihkan ke kombinasi IP: port tertentu di server backend.
3. Pemetaan Port dan Kontrol Lalu Lintas
Akselerator menghasilkan tabel pemetaan port yang secara statis memetakan setiap port akselerator ke alamat dan port IP EC2 tertentu. Misalnya, port 1001 pada peta akselerator ke 10.1.1.1:80, port 1002 hingga 10.1.1.1:81, dan sebagainya. Anda dapat mengizinkan atau menolak lalu lintas ke instance atau port tertentu, memastikan hanya server game aktif yang menerima lalu lintas.
4. Logika perjodohan dan perutean
Ketika seorang pemain terhubung, layanan perjodohan Anda menentukan sesi game mana (dan dengan demikian instance dan port EC2 mana yang harus bergabung dengan kriteria seperti lokasi, tingkat keterampilan, atau ketersediaan sesi. Logika perjodohan menanyakan API Accelerator global untuk mengambil port akselerator yang sesuai dengan sesi server game yang dipilih.
5. Koneksi pemain melalui akselerator
Pemain diberikan alamat IP statis akselerator dan port yang dipetakan (mis., Port 1003). Ketika pemain terhubung, Global Accelerator merutekan lalu lintas melalui jaringan global AWS ke instance EC2 yang tepat dan port yang menampung sesi game (mis., 10.1.1.1:82). Ini mengurangi latensi dengan menghindari internet publik dan menggunakan jalur jaringan yang dioptimalkan AWS.
6. Manfaat
-Latensi rendah dan tereduksi jitter: Lalu lintas dialihkan karena jaringan berkecepatan tinggi AWS, bebas kemacetan.
- Skalabilitas: Anda dapat mengelola ribuan sesi game di berbagai wilayah dengan akselerator tunggal.
- Toleransi kesalahan: Jika server game atau titik akhir subnet menjadi tidak sehat, lalu lintas dapat dialihkan tanpa gangguan pemain.
- Fleksibilitas Protokol: Mendukung TCP, UDP, atau keduanya, mengakomodasi berbagai persyaratan jaringan game.
Ringkasan
Menggunakan AWS Global Accelerator Routing Kustom, game multipemain dapat mengarahkan pemain ke instance server game tertentu dengan memetakan port akselerator ke alamat IP pribadi dan port instance EC2 di subnet VPC. Layanan perjodohan mengontrol pemain mana yang menghubungkan di mana dengan menetapkan port akselerator yang sesuai, memungkinkan rute deterministik, latensi rendah tanpa memerlukan perubahan klien. Pengaturan ini sangat ideal untuk game multiplayer global skala besar yang membutuhkan kontrol berbutir halus atas penugasan pemain-ke-server dan optimasi kinerja [2] [6] [7] [9].
Kutipan:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-it-works.html
[2] https://aws.amazon.com/blogs/gametech/deploy-game-servers-with-amazon-gamelift-fleetiq-and-integrate-with-custom-couting-aws-global-accelerator/
[3] https://www.youtube.com/watch?v=yxqjyly80pc
[4] https://pages.awscloud.com/rs/112-tzm-766/images/2023_ott-od-0502-ngi_slide-deck.pdf
[5] https://coda.io/@kirtanc25/aws-r53-cf-a/aws-global-accelerator-14
[6] https://pages.awscloud.com/rs/112-tzm-766/images/ptnr-aws-amd-gamelift-gameserver.pdf
[7] https://www.alibabacloud.com/help/en/ga/user-guide/how-custom-routing-listeners-work
[8] https://www.youtube.com/watch?v=qlaauf_zq4i
[9] https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-global-accelerator-custom-routing-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-acceleration-for-hultiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/modernize-game-backend-services-with-aws-global-accelerator/