Bird
Raised Fist0
HLDsystem_design~7 mins

Layer 4 vs Layer 7 load balancing in HLD - Architecture Trade-offs

Choose your learning style10 modes available
Problem Statement
When a single server handles all incoming traffic, it becomes a bottleneck causing slow responses and potential downtime if it fails. Without proper distribution, some servers may be overloaded while others remain idle, leading to inefficient resource use and poor user experience.
Solution
Load balancers distribute incoming network traffic across multiple servers to prevent overload and improve availability. Layer 4 load balancing directs traffic based on network information like IP addresses and ports, while Layer 7 load balancing makes decisions based on application data like HTTP headers and content, enabling smarter routing.
Architecture
Clients
Clients
↓
Layer 4 Load
Layer 4 Load
↓
Srv 1
↓
Clients
Clients
↓
Layer 7 Load
Layer 7 Load
↓
Srv 1

The diagram shows two setups: one with Layer 4 load balancing directing traffic based on network info, and one with Layer 7 load balancing directing traffic based on application data.

Trade-offs
✓ Pros
→
Layer 4 load balancing is faster and uses fewer resources because it only inspects network headers.
→
Layer 7 load balancing enables advanced routing like directing requests based on URL paths or cookies.
→
Layer 7 can perform health checks and modify requests for better control.
✗ Cons
→
Layer 4 load balancing cannot make decisions based on application content, limiting routing flexibility.
→
Layer 7 load balancing adds processing overhead, increasing latency and resource use.
→
Layer 7 requires deeper packet inspection, which can complicate encryption handling.
Use Layer 4 load balancing when high throughput and low latency are critical and routing decisions can be made using IP and port. Use Layer 7 load balancing when application-aware routing, content-based decisions, or advanced features like SSL termination are needed.
Avoid Layer 7 load balancing for extremely high-volume, low-latency systems where added processing delays are unacceptable. Avoid Layer 4 load balancing when routing needs depend on application data or user context.
Real World Examples
Netflix
Uses Layer 7 load balancing to route streaming requests based on user location and device type for personalized content delivery.
Amazon
Employs Layer 4 load balancing for fast distribution of network traffic to backend servers in their global data centers.
Uber
Uses Layer 7 load balancing to route API requests based on request paths and headers to different microservices.
Alternatives
DNS Load Balancing
Distributes traffic by resolving domain names to different IP addresses rather than inspecting packets.
Use when: Use when simple geographic or round-robin distribution is sufficient and low latency is less critical.
Anycast Load Balancing
Routes traffic to the nearest server based on network topology using the same IP address advertised from multiple locations.
Use when: Use for global services needing fast failover and geographic proximity routing.
Summary
Load balancing prevents server overload by distributing traffic across multiple servers.
Layer 4 load balancing routes based on network info, offering speed but limited routing options.
Layer 7 load balancing routes based on application data, enabling advanced routing at the cost of added processing.

Practice

(1/5)
1. Which layer does Layer 4 load balancing operate on?
easy
A. Network layer using routing tables
B. Application layer using request content
C. Transport layer using IP and port
D. Physical layer using hardware signals

Solution

  1. Step 1: Understand OSI layers relevant to load balancing

    Layer 4 corresponds to the transport layer, which handles IP addresses and ports.
  2. Step 2: Match Layer 4 load balancing function

    Layer 4 load balancing uses IP and port information to distribute traffic without inspecting content.
  3. Final Answer:

    Transport layer using IP and port -> Option C
  4. Quick Check:

    Layer 4 = Transport layer [OK]
Hint: Layer 4 uses IP and port, Layer 7 uses content [OK]
Common Mistakes:
  • Confusing Layer 4 with Layer 7
  • Thinking Layer 4 inspects request content
  • Mixing network and transport layers
2. Which of the following is a correct characteristic of Layer 7 load balancing?
easy
A. Routes traffic based on IP address only
B. Does not inspect HTTP headers
C. Is faster than Layer 4 load balancing
D. Operates at the application layer inspecting request content

Solution

  1. Step 1: Identify Layer 7 load balancing features

    Layer 7 load balancing works at the application layer and inspects request content like HTTP headers.
  2. Step 2: Evaluate options

    Operates at the application layer inspecting request content correctly states Layer 7 inspects request content; others are incorrect or misleading.
  3. Final Answer:

    Operates at the application layer inspecting request content -> Option D
  4. Quick Check:

    Layer 7 = Application layer content inspection [OK]
Hint: Layer 7 inspects content, Layer 4 does not [OK]
Common Mistakes:
  • Assuming Layer 7 ignores HTTP headers
  • Believing Layer 7 is faster than Layer 4
  • Confusing IP-based routing with content-based routing
3. Given a load balancer that routes requests based on URL paths, which layer is it operating at?
medium
A. Layer 2
B. Layer 7
C. Layer 4
D. Layer 3

Solution

  1. Step 1: Understand URL path inspection

    URL paths are part of the application data in HTTP requests, which Layer 7 can inspect.
  2. Step 2: Match to OSI layer

    Layer 7 is the application layer that can route based on URL paths, unlike lower layers.
  3. Final Answer:

    Layer 7 -> Option B
  4. Quick Check:

    URL path routing = Layer 7 [OK]
Hint: URL path routing means Layer 7 [OK]
Common Mistakes:
  • Choosing Layer 4 for URL-based routing
  • Confusing network layers with application layer
  • Ignoring request content in routing decisions
4. A system uses a load balancer that inspects HTTP headers but is running slower than expected. What is a likely cause?
medium
A. Layer 7 load balancing adds processing overhead due to content inspection
B. Using Layer 4 load balancing instead of Layer 7
C. Layer 4 load balancing inspects too many headers
D. Layer 7 load balancing does not support IP-based routing

Solution

  1. Step 1: Identify load balancer type and performance impact

    Layer 7 load balancing inspects request content like HTTP headers, which adds processing overhead.
  2. Step 2: Analyze options for cause of slowness

    Layer 7 load balancing adds processing overhead due to content inspection correctly explains that Layer 7's content inspection slows processing; others are incorrect.
  3. Final Answer:

    Layer 7 load balancing adds processing overhead due to content inspection -> Option A
  4. Quick Check:

    Content inspection causes slower Layer 7 [OK]
Hint: Content inspection slows Layer 7 load balancers [OK]
Common Mistakes:
  • Blaming Layer 4 for inspecting headers
  • Ignoring processing overhead of Layer 7
  • Assuming Layer 7 cannot route by IP
5. You need to design a scalable web service that routes requests based on user authentication tokens in HTTP headers and also requires high throughput. Which load balancing approach is best?
hard
A. Layer 7 load balancing to inspect tokens despite some overhead
B. Layer 4 load balancing for speed, ignoring tokens
C. Use DNS round-robin instead of load balancers
D. Combine Layer 2 switching with Layer 3 routing

Solution

  1. Step 1: Identify requirement to inspect authentication tokens

    Authentication tokens are in HTTP headers, requiring application-level inspection.
  2. Step 2: Choose load balancing approach balancing inspection and throughput

    Layer 7 load balancing inspects headers and supports smart routing, suitable despite overhead.
  3. Step 3: Evaluate other options

    Layer 4 cannot inspect tokens; DNS round-robin lacks smart routing; Layer 2/3 unrelated to content inspection.
  4. Final Answer:

    Layer 7 load balancing to inspect tokens despite some overhead -> Option A
  5. Quick Check:

    Token inspection needs Layer 7 [OK]
Hint: Inspect tokens? Use Layer 7 despite overhead [OK]
Common Mistakes:
  • Choosing Layer 4 ignoring token inspection need
  • Using DNS round-robin for smart routing
  • Confusing network layers with application logic
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