4 ms·
The specific challenge here is: "You are tasked with creating a client/server application in Golang that runs in Google Cloud. The client in this application m
by gafferongames 3y ago
The specific challenge here is:
"You are tasked with creating a client/server application in Golang that runs in Google Cloud. The client in this application must communicate with the server over UDP.
Each client sends 100 requests per-second. Each request is 100 bytes long. The server processes each request it receives and forwards it over HTTP to the backend.
The backend processes the request, and returns a response containing the FNV1a 64 bit hash of the request data. The server returns the response it receives from the backend down to the client over UDP.
Implement the client, server and backend in Golang and Terraform such that it scales to more than 1M clients. Provide estimates of the cost to run the solution each month at a steady load of 1M clients, as well as some options you would recommend as next steps to reduce the cost.
IMPORTANT: When you load test this system, make sure you are communicating between the client, server and backend using internal addresses to avoid egress bandwidth charges."
- dilyevsky 3y agoOk so if NAT punch-through is not needed I guess the only tricky thing is connection pooling on the backend side? I sort of agree with the other poster - that if you had done something like this before it's trivial and if you haven't, it's a bit hard to research on your own.
- gafferongames 3y ago100%. There is a class of programmer for whom this would be a toy problem. There is another class of programmer who may be young or not directly experienced in this space, but who is very intelligent and an excellent problem solver and is willing to work hard. The question was designed to find both types of applicants.