Review cards · 16 cards
Resilience
Timeouts, retries with backoff, circuit breakers, rate limits and graceful degradation.
Cards
- What is graceful degradation? Give an example.
- A service gets 150% of the load it can handle. What keeps it most useful?
- Why must every remote call have a timeout, and how do you pick its value?
- Why add jitter to exponential backoff when clients retry?
- What is a bulkhead, and what failure does it prevent?
- What does a circuit breaker do when calls to a dependency keep failing?
- What is the flaw of a fixed-window rate limiter (100 requests per calendar minute), and what fixes it?
- A _____ rate limiter puts requests in a queue of fixed size and lets them out at a constant rate; when the queue is full, new requests are rejected.
- A request goes through services A → B → C → D. A, B and C each make up to 3 attempts when their call fails. If D is down, how many calls can one user request send to D?
- A rate limiter runs as 10 replicas, and each keeps its own counter with a limit of 100 requests a minute per client. What happens?
- Which rate-limiting algorithm lets a client burst up to N requests at once, then continue at a steady average rate?
- Passing the time a request has left along with each downstream call, so services stop work the original caller has already given up on, is called _____.
- The rate limiter's shared counter store goes down. Should the limiter fail open (allow) or closed (reject)?
- What is a hedged request, and what does it trade?
- A sliding window counter limits a client to 100 requests a minute. The previous minute had 80 requests; 20 seconds into the current minute there have been 30. What count does the limiter estimate for the last 60 seconds?
- Under load, requests wait 30 s in a server's queue, but clients give up after 5 s. What is the main problem?
More topics
- Estimation 21 cards
- Networking 16 cards
- API design 17 cards
- Caching 21 cards
- Databases 22 cards
- Replication 15 cards
- Sharding 18 cards
- Consistency 19 cards
- Queues 18 cards
- Streaming 18 cards
- Availability 14 cards
- Storage 14 cards
- Realtime 15 cards
- Data structures 16 cards
- Security 17 cards
- Observability 18 cards
- Coordination 16 cards