Bird
Raised Fist0
HLDsystem_design~12 mins

API gateway concept in HLD - Architecture Diagram

Choose your learning style10 modes available
System Overview - API gateway concept

An API Gateway acts as a single entry point for clients to access multiple backend services. It handles requests by routing them to the appropriate service, managing security, and sometimes aggregating responses. This simplifies client interactions and improves system scalability and security.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |        |        |
  v        v        v
Service A Service B Service C
  |        |        |
  v        v        v
Database Database Database
  
Cache (optional) connected to each Service
Components
User
client
Initiates requests to the system
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Routes requests to appropriate backend services, handles authentication, rate limiting, and response aggregation
Service A
service
Handles specific business logic for a domain or feature
Service B
service
Handles specific business logic for another domain or feature
Service C
service
Handles specific business logic for another domain or feature
Database
database
Stores persistent data for each service
Cache
cache
Stores frequently accessed data to reduce database load and improve response time
Request Flow - 11 Hops
User → Load Balancer
Load Balancer → API Gateway
API Gateway → Cache
Cache → API Gateway
API Gateway → Service A/B/C
Service A/B/C → Database
Database → Service A/B/C
Service A/B/C → API Gateway
API Gateway → Cache
API Gateway → Load Balancer
Load Balancer → User
Failure Scenario
Component Fails:API Gateway
Impact:All incoming requests fail to route to backend services, causing system unavailability for users.
Mitigation:Deploy multiple API Gateway instances behind the load balancer for redundancy and failover. Use health checks to remove unhealthy instances.
Architecture Quiz - 3 Questions
Test your understanding
What is the main role of the API Gateway in this architecture?
ATo store persistent data for services
BTo route client requests to the correct backend service
CTo balance load between database replicas
DTo cache frequently accessed data
Design Principle
This architecture demonstrates the principle of a single entry point for clients via the API Gateway, which simplifies client interactions and centralizes cross-cutting concerns like authentication and rate limiting. Using a load balancer before the API Gateway ensures scalability and availability. Caching reduces database load and improves response times.

Practice

(1/5)
1. What is the primary role of an API gateway in a system architecture?
easy
A. It replaces the need for backend services.
B. It stores all the data for the application.
C. It directly manages the database connections.
D. It acts as a single entry point for client requests to backend services.

Solution

  1. Step 1: Understand the role of API gateway

    An API gateway serves as the main entry point for clients to access multiple backend services, simplifying communication.
  2. Step 2: Eliminate incorrect roles

    Storing data, managing database connections, or replacing backend services are not responsibilities of an API gateway.
  3. Final Answer:

    It acts as a single entry point for client requests to backend services. -> Option D
  4. Quick Check:

    API gateway = single entry point [OK]
Hint: API gateway = one door for all client requests [OK]
Common Mistakes:
  • Confusing API gateway with database or storage
  • Thinking API gateway replaces backend services
  • Assuming API gateway manages data directly
2. Which of the following is the correct function of an API gateway in handling client requests?
easy
A. Directly querying the database for each request.
B. Serving static files like images and videos.
C. Routing requests to appropriate backend services.
D. Replacing the client application.

Solution

  1. Step 1: Identify API gateway functions

    An API gateway routes incoming client requests to the correct backend services based on the request type or URL.
  2. Step 2: Remove unrelated functions

    Serving static files, querying databases directly, or replacing clients are not typical API gateway roles.
  3. Final Answer:

    Routing requests to appropriate backend services. -> Option C
  4. Quick Check:

    API gateway routes requests = C [OK]
Hint: API gateway directs traffic to backend services [OK]
Common Mistakes:
  • Thinking API gateway queries databases directly
  • Confusing API gateway with CDN or static server
  • Assuming API gateway replaces client apps
3. Consider this simplified API gateway flow:
Client -> API Gateway -> Service A (auth) -> Service B (data)

If the API gateway receives a request and Service A rejects it due to failed authentication, what will the client receive?
medium
A. Authentication error response
B. Data from Service B
C. No response (timeout)
D. Success response with empty data

Solution

  1. Step 1: Trace request through services

    The request first goes to Service A for authentication. If Service A rejects it, the request does not proceed further.
  2. Step 2: Determine client response

    Since authentication failed, the API gateway returns an authentication error to the client instead of data or success.
  3. Final Answer:

    Authentication error response -> Option A
  4. Quick Check:

    Failed auth = error response [OK]
Hint: Failed auth stops flow, returns error [OK]
Common Mistakes:
  • Assuming data is returned despite failed auth
  • Thinking client gets no response (timeout)
  • Believing success with empty data is sent
4. An API gateway is configured to route requests to multiple services. However, clients report 404 errors for valid endpoints. What is the most likely cause?
medium
A. Backend services are down.
B. API gateway routing rules are misconfigured.
C. Client requests are malformed.
D. API gateway is overloaded.

Solution

  1. Step 1: Analyze 404 error meaning

    A 404 error means the requested resource was not found, often due to incorrect routing or URL mapping.
  2. Step 2: Identify likely cause in API gateway

    If backend services are up and clients send correct requests, misconfigured routing rules in the API gateway cause 404 errors.
  3. Final Answer:

    API gateway routing rules are misconfigured. -> Option B
  4. Quick Check:

    404 = routing misconfiguration [OK]
Hint: 404 usually means wrong routing path [OK]
Common Mistakes:
  • Assuming backend services are down without checking
  • Blaming client requests without validation
  • Thinking overload causes 404 errors
5. You want to design an API gateway that aggregates data from three backend services before responding to the client. Which approach best fits this requirement?
hard
A. API gateway calls all three services, combines their responses, then sends one response to client.
B. API gateway caches data and never calls backend services.
C. API gateway sends separate responses from each service to the client.
D. API gateway forwards client requests directly to one backend service only.

Solution

  1. Step 1: Understand aggregation requirement

    The API gateway must collect data from multiple services and combine it into a single response for the client.
  2. Step 2: Evaluate options for aggregation

    Forwarding to one service or sending separate responses does not aggregate data. Caching alone does not fulfill aggregation if fresh data is needed.
  3. Final Answer:

    API gateway calls all three services, combines their responses, then sends one response to client. -> Option A
  4. Quick Check:

    Aggregation = combine multiple service responses [OK]
Hint: Aggregate by combining multiple service responses [OK]
Common Mistakes:
  • Thinking forwarding to one service aggregates data
  • Sending multiple responses instead of one combined
  • Assuming caching replaces aggregation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard