Api Gateway easy
What is the primary security advantage of using an API Gateway to mask the 'Topology' of your internal microservices?
- A It prevents external attackers from discovering the private IP addresses and physical ports of your internal servers, making direct attacks much harder.
- B It ensures that the internet service provider (ISP) cannot charge you for internal network traffic.
- C It allows the Gateway to automatically compress internal traffic to 50% of its original size.
- D It makes it easier for the microservices to run on slower, less expensive hardware.
Answer: A. It prevents external attackers from discovering the private IP addresses and physical ports of your internal servers, making direct attacks much harder.
Abstraction is key to security. By only exposing the Gateway's IP, you create a controlled entry point. If a hacker wants to attack your 'Payments Service', they can't address it directly because it doesn't have a public IP address—it only talks to the Gateway.
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?