Api Gateway easy
Why is it more efficient to handle 'IP Whitelisting' at the API Gateway rather than within each individual microservice?
- A It prevents unauthorized traffic from ever entering your internal network, saving bandwidth and processing power for all backend services.
- B It allows the Gateway to bypass the need for any internal firewalls completely.
- C It ensures that the IP addresses of your users are deleted after every request to save disk space.
- D It is the only way to allow microservices to communicate with the public internet.
Answer: A. It prevents unauthorized traffic from ever entering your internal network, saving bandwidth and processing power for all backend services.
Processing a request within a microservice requires it to pass through the network and use that service's RAM and CPU. By blocking unauthorized IPs at the Gateway (the 'Edge'), you protect your entire infrastructure from wasting resources on invalid traffic.
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?