Java Traffic, limits and delivery

What sits between the user and your service, and how you protect it from more load than it can take.

3 concepts · 9 interview questions

What this topic covers

Every concept in traffic, limits and delivery, and the questions each one gets asked as. Where a question links, it has a full write-up.

Load balancing and routing

Spreading requests across instances, and deciding whether a user must keep reaching the same one.

  • Which load balancing algorithm would you choose, and why?
  • What is sticky session routing, and what does it cost you?
  • Layer 4 or layer 7?

Rate limiting and backpressure

A limit protects a service from more work than it can do. Refusing early is a feature; queueing without a bound is how a system dies slowly.

  • How would you implement a rate limiter?
  • What is backpressure, and what happens without it?
  • How do you rate limit fairly across tenants?

CDNs and static delivery

Serving bytes from close to the user, and never asking your origin for something that has not changed.

  • What belongs on a CDN, and what must not?
  • How do you deploy a change when the old file is cached everywhere?
  • What do ETag and Cache-Control actually do?

More in System design

See the whole reference map →