Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Puteți oferi un exemplu de utilizare a acceleratoarelor de rutare personalizate într -o configurație de jocuri multiplayer


Puteți oferi un exemplu de utilizare a acceleratoarelor de rutare personalizate într -o configurație de jocuri multiplayer


Într -o configurație de jocuri multiplayer, acceleratoarele de rutare personalizate pot fi utilizate pentru a optimiza conexiunile jucătorilor prin rutarea traficului direct către instanțe specifice serverului de joc bazate pe logica aplicațiilor, cum ar fi rezultatele potrivirii. Această abordare îmbunătățește latența, reduce bruiajul și îmbunătățește experiența jucătorului prin utilizarea rețelei private AWS Global Accelerator și a adreselor IP statice.

Exemplu de utilizare a acceleratorilor de rutare personalizate în jocuri multiplayer

1.. Configurarea serverelor și subrețelelor de joc
Să presupunem că aveți o flotă de servere de jocuri care rulează pe instanțele Amazon EC2 în cadrul uneia sau mai multor subrețele VPC. Fiecare instanță găzduiește mai multe sesiuni de joc, fiecare ascultând pe porturi diferite. De exemplu, două instanțe EC2 s -ar putea rula în aceeași subrețea cu IPS privat 10.1.1.1 și 10.1.1.2, fiecare sesiuni de joc care servesc pe porturile TCP 80, 81 și 82.

2. Creați un accelerator de rutare personalizat
Creați un accelerator de rutare personalizat în AWS Global Accelerator și adăugați subrețele VPC relevante ca puncte finale. Definiți un interval de porturi ascultător (de exemplu, 1001 până la 1050) pe accelerator și mapați -le în intervalul portului de destinație (de exemplu, 80 până la 82) în instanțele dvs. EC2. Această mapare permite traficul de intrare pe porturile 1001-1050 să fie dirijat către combinații specifice IP: port pe serverele backend.

3. Maparea porturilor și controlul traficului
Acceleratorul generează un tabel de mapare a porturilor care mapează static fiecare port de accelerație într -o adresă IP și port IP de instanță EC2. De exemplu, portul 1001 pe hărțile acceleratorului la 10.1.1.1:80, port 1002 până la 10.1.1.1:81, etc. Puteți permite sau refuza traficul către anumite instanțe sau porturi, asigurându -vă că doar serverele de joc active primesc trafic.

4..
Când un jucător se conectează, serviciul dvs. de confecționare determină ce sesiune de joc (și astfel, ce instanță și port EC2) ar trebui să se alăture jucătorului pe baza unor criterii precum locația, nivelul de abilități sau disponibilitatea sesiunii. Logica Matchmaking interogează API -ul Global Accelerator pentru a prelua portul de accelerație care corespunde sesiunii de server de joc selectat.

5. Conexiunea jucătorului prin accelerator
Playerului i se oferă adresa IP statică a acceleratorului și portul mapat (de exemplu, portul 1003). Când jucătorul se conectează, acceleratorul global trasează traficul prin rețeaua globală AWS către instanța exactă EC2 și portul care găzduiește sesiunea de joc (de exemplu, 10.1.1.1:82). Acest lucru reduce latența prin evitarea internetului public și utilizarea căilor de rețea optimizate AWS.

6. Beneficii
-Latență scăzută și bruiaj redus: traficul este dirijat pe rețeaua de mare viteză, fără congestie.
- Scalabilitate: puteți gestiona mii de sesiuni de joc în mai multe regiuni cu un singur accelerator.
- Toleranță la erori: Dacă un server de joc sau un punct de subrețea devine nesănătos, traficul poate fi redirecționat fără perturbarea jucătorului.
- Flexibilitatea protocolului: acceptă TCP, UDP sau ambele, care se potrivește cu cerințe diferite de rețea de jocuri.

Rezumat

Folosind rutarea personalizată AWS Global Accelerator, un joc multiplayer poate direcționa jucătorii către anumite instanțe de server de joc prin maparea porturilor de accelerare către adrese IP private și porturi ale instanțelor EC2 în subrețele VPC. Serviciul Matchmaking controlează ce jucător se conectează unde prin alocarea portului de accelerație corespunzător, permițând o rutare deterministă, cu latență scăzută, fără a necesita modificări ale clientului. Această configurație este ideală pentru jocurile multiplayer globale la scară largă, care au nevoie de control cu ​​granulație fină asupra atribuțiilor de la jucător la server și optimizarea performanței [2] [6] [7] [9].

Citări:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-how-it-works.html
]
[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-ga/aws-global-accelerator-14
[6] https://pages.awscloud.com/rs/112-tzm-766/images/ptnr-aws-amd-gamelift-gameser.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/introducting-aws-global-accelerator-custom-routing-accelerators/
[10] https://mas-bandwidth.com/the-case-for-network-acceleration-for-multiplayer-games/
[11] https://aws.amazon.com/blogs/gametech/modernize-game-backend-services-with-aws-global-accelerator/