Api Gateway hard
While 'Request Coalescing' (Single Flight) saves backend load, what is the critical 'Failure Mode' that must be addressed during a partial backend outage?
- A The 'Memory Leak' caused by the Gateway storing the same response 10,000 times for each user.
- B Resource Starvation: If the single backend request hangs, the Gateway continues to accept thousands of identical requests and puts them all into a 'Wait Group'. This consumes Gateway memory and worker threads, potentially leading to an OOM crash.
- C The Gateway might accidentally serve the same ID to two different users, leading to GDPR violations.
- D Coalescing only works for GET requests; it has no risk for POST or PUT requests.
Answer: B. Resource Starvation: If the single backend request hangs, the Gateway continues to accept thousands of identical requests and puts them all into a 'Wait Group'. This consumes Gateway memory and worker threads, potentially leading to an OOM crash.
Coalescing creates a 'Funnel'. If the tip of the funnel (the backend) is blocked, the funnel itself fills up. Proxies must implement 'Coalescing Timeouts' or 'Max Waiters' limits to ensure that the strategy for saving the backend doesn't accidentally destroy the Gateway itself.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- Your Gateway communicates with backends via HTTP/1.1 connections. A slow backend service causes 'Head-of-Line Blocking'. How does switching to HTTP/2 as the Gateway-to-Backend transport mitigate this?
- What is the primary architectural role of an API Gateway in a microservices environment?
- Why is 'Stateless Token Validation' (e.g., using JWTs) significantly more scalable at the Gateway level than 'Stateful Validation' (e.g., using Opaque/Reference Tokens)?
- Your Gateway is configured to cache any URL ending in `.css` or `.jpg`. An attacker tricks a victim into visiting `https://api.com/v1/profile/info/style.css`. How can this lead to an 'Account Takeover'?
- An API is receiving a sudden surge of 10,000 requests per second from a single IP address. How does an API Gateway preserve the stability of the backend services?
- How can an API Gateway help prevent 'Double Charging' in a payment system when a mobile client retries a failed request due to a poor connection?