Layer 3 · Go deeper · 10 min
Go deeper
Size it, build it, then make the calls an interviewer will push you on.
Back of the envelope
Size it up
Tap through each step of the arithmetic.
One of four backends slows to 500 ms. What does least outstanding requests save?
Five layers each make 3 attempts. How many calls can one click cause?
Build-up · 6 steps
Follow one request through both tiers
From one public address to one healthy backend, and why no single machine on the way can take the site down.
Step 1 of 6
One address
Clients dial one public address, the VIP. DNS or anycast has already picked the site; everything behind the VIP can change without clients noticing.
4 interview moments
You’re the candidate
The interviewer pushes on the hard parts. Pick an approach and see how it holds up.
Deep dive 1 of 4
Interviewer
“Your services talk gRPC through an L4 balancer. Backends added at 9 pm sit idle while the old ones run hot. What do you change?”
Your move. Pick an approach:
Deep dive 2 of 4
Interviewer
“Four backends share 400 requests a second. One is stuck in garbage-collection pauses at 500 ms. Which algorithm do your proxies use?”
You run twenty L7 proxies, each counting requests in flight from its own, slightly stale view.
Your move. Pick an approach:
Deep dive 3 of 4
Interviewer
“A backend hangs just after passing a health check. On ALB defaults it keeps getting traffic for about 65 s. What do you add?”
Your move. Pick an approach:
Deep dive 4 of 4
Interviewer
“Checkout keeps carts in server memory, so the team asks for sticky sessions. What do you recommend?”
Your move. Pick an approach:
Build-up · 5 steps
Restart a backend without dropping a request
One backend through a rolling deploy, with a 30 s deregistration delay, health checks every 10 s that need 3 passes, and a 60 s slow start.
Step 1 of 5
Serving its share
One of four backends takes a quarter of new requests. A rolling deploy has to restart it without any client seeing an error.