Exposing Multiple VMs over a Single IP Address for Multiplayer Game Backend

Scale Your Game Backend with Multiple VMs and a Single IP Address

Question

Your company developed a mobile game that is deployed on Google Cloud.

Gamers are connecting to the game with their personal phones over the Internet.

The game sends UDP packets to update the servers about the gamers' actions while they are playing in multiplayer mode.

Your game backend can scale over multiple virtual machines (VMs), and you want to expose the VMs over a single IP address.

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

A.

https://cloud.google.com/solutions/connecting-securely

The most appropriate option for this scenario is option D, "Configure an External Network load balancer in front of the application servers."

UDP packets are used for gaming, real-time video, and other applications that require low latency and high throughput. As UDP is connectionless, there is no handshake between the client and server, making it a faster protocol than TCP. However, it also means that UDP packets can be lost, duplicated or delivered out of order.

A load balancer distributes incoming traffic across multiple servers to improve reliability, availability, and scalability of the application. In this case, the game backend can scale over multiple virtual machines (VMs), and the load balancer will expose the VMs over a single IP address. This way, the gamers can connect to any VM in the backend without knowing the actual IP address of each server.

Option A, "Configure an SSL Proxy load balancer in front of the application servers," is not suitable because SSL Proxy load balancer is used for HTTP(S) traffic and does not support UDP traffic.

Option B, "Configure an Internal UDP load balancer in front of the application servers," is not suitable because an Internal load balancer is used to distribute traffic within a VPC network, not over the Internet.

Option C, "Configure an External HTTP(s) load balancer in front of the application servers," is not suitable because HTTP(s) load balancer is used for HTTP(S) traffic and does not support UDP traffic.

Therefore, the best option is D, "Configure an External Network load balancer in front of the application servers."