Bird
Raised Fist0
AWScloud~5 mins

Network Load Balancer (NLB) in AWS - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Network Load Balancer (NLB)
O(n)
Understanding Time Complexity

We want to understand how the work done by a Network Load Balancer grows as more requests come in.

Specifically, how does the number of operations change when the number of incoming connections increases?

Scenario Under Consideration

Analyze the time complexity of handling incoming connections with a Network Load Balancer.

// Create a Network Load Balancer
aws elbv2 create-load-balancer --name my-nlb --type network --subnets subnet-123 subnet-456

// Create a target group
aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-789

// Register targets
aws elbv2 register-targets --target-group-arn arn:aws:elasticloadbalancing:... --targets Id=i-123 Id=i-456

// Create a listener
aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:... --protocol TCP --port 80 --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:...

// Incoming connections are routed to targets by the NLB

This sequence sets up an NLB that forwards TCP connections to registered targets.

Identify Repeating Operations

Look at what happens repeatedly as traffic flows through the NLB.

  • Primary operation: Routing each incoming TCP connection to a target instance.
  • How many times: Once per incoming connection.
How Execution Grows With Input

Each new connection causes the NLB to perform routing work.

Input Size (n)Approx. Api Calls/Operations
1010 routing operations
100100 routing operations
10001000 routing operations

Pattern observation: The number of routing operations grows directly with the number of connections.

Final Time Complexity

Time Complexity: O(n)

This means the work the NLB does grows in a straight line as more connections come in.

Common Mistake

[X] Wrong: "The NLB handles all connections instantly without extra work as connections increase."

[OK] Correct: Each connection requires routing and resource use, so more connections mean more work.

Interview Connect

Understanding how load balancers scale with traffic helps you design systems that stay reliable as they grow.

Self-Check

"What if the NLB had to perform health checks on each target for every connection? How would the time complexity change?"

Practice

(1/5)
1. What is the primary purpose of an AWS Network Load Balancer (NLB)?
easy
A. To efficiently distribute TCP/UDP traffic at the connection level
B. To manage HTTP requests with advanced routing rules
C. To store and retrieve data in a scalable way
D. To provide a user interface for managing AWS resources

Solution

  1. Step 1: Understand NLB's traffic handling

    NLB works at the connection level and handles TCP/UDP traffic efficiently.
  2. Step 2: Compare with other AWS services

    Unlike Application Load Balancer, NLB does not manage HTTP features but focuses on low latency and high throughput for TCP/UDP.
  3. Final Answer:

    To efficiently distribute TCP/UDP traffic at the connection level -> Option A
  4. Quick Check:

    NLB purpose = TCP/UDP load balancing [OK]
Hint: NLB handles TCP/UDP, not HTTP features [OK]
Common Mistakes:
  • Confusing NLB with Application Load Balancer
  • Thinking NLB manages HTTP routing
  • Assuming NLB stores data
2. Which of the following is a valid characteristic of an AWS Network Load Balancer (NLB)?
easy
A. Only supports HTTP and HTTPS protocols
B. Requires manual scaling for high traffic
C. Automatically modifies HTTP headers
D. Supports static IP addresses for the load balancer

Solution

  1. Step 1: Identify NLB features

    NLB supports static IP addresses, which is useful for fixed IP requirements.
  2. Step 2: Eliminate incorrect options

    NLB does not only support HTTP/HTTPS (it supports TCP/UDP), does not modify HTTP headers, and scales automatically.
  3. Final Answer:

    Supports static IP addresses for the load balancer -> Option D
  4. Quick Check:

    Static IP support = true for NLB [OK]
Hint: NLB supports static IPs, unlike ALB [OK]
Common Mistakes:
  • Thinking NLB only supports HTTP/HTTPS
  • Assuming NLB modifies HTTP headers
  • Believing NLB requires manual scaling
3. Given an NLB configured to balance TCP traffic across three targets, what happens if one target becomes unhealthy?
medium
A. NLB stops sending traffic to the unhealthy target and continues with healthy ones
B. NLB sends traffic evenly to all targets regardless of health
C. NLB shuts down until the unhealthy target recovers
D. NLB redirects traffic to a backup Application Load Balancer

Solution

  1. Step 1: Understand NLB health checks

    NLB performs health checks and routes traffic only to healthy targets.
  2. Step 2: Analyze behavior on unhealthy target

    If a target is unhealthy, NLB excludes it from routing until it recovers.
  3. Final Answer:

    NLB stops sending traffic to the unhealthy target and continues with healthy ones -> Option A
  4. Quick Check:

    Health checks exclude unhealthy targets [OK]
Hint: NLB routes only to healthy targets [OK]
Common Mistakes:
  • Assuming NLB sends traffic to unhealthy targets
  • Thinking NLB stops completely on failure
  • Believing NLB redirects to ALB automatically
4. You configured an NLB but notice it is not distributing UDP traffic as expected. What is the most likely cause?
medium
A. Health checks are disabled for the target group
B. The target group is configured for TCP instead of UDP
C. NLB does not support UDP traffic
D. NLB requires HTTP listeners for UDP traffic

Solution

  1. Step 1: Check protocol configuration

    NLB supports UDP, but the target group must be set to UDP to handle UDP traffic.
  2. Step 2: Identify misconfiguration

    If the target group is set to TCP, UDP traffic won't be routed correctly.
  3. Final Answer:

    The target group is configured for TCP instead of UDP -> Option B
  4. Quick Check:

    Target group protocol must match traffic [OK]
Hint: Match target group protocol to traffic type [OK]
Common Mistakes:
  • Thinking NLB does not support UDP
  • Ignoring target group protocol settings
  • Assuming health checks cause traffic issues
5. You need to design a highly scalable system that requires static IP addresses and low latency for millions of TCP connections. Which AWS load balancer should you choose and why?
hard
A. Gateway Load Balancer, because it manages HTTP and TCP traffic with static IPs
B. Application Load Balancer, because it supports HTTP routing and static IPs
C. Network Load Balancer, because it supports static IPs and handles millions of TCP connections with low latency
D. Classic Load Balancer, because it is the newest and fastest option

Solution

  1. Step 1: Identify requirements

    The system needs static IPs, low latency, and support for millions of TCP connections.
  2. Step 2: Match requirements to load balancer features

    NLB supports static IPs, is designed for extreme scalability, and handles TCP traffic efficiently with low latency.
  3. Step 3: Eliminate incorrect options

    ALB focuses on HTTP, Classic LB is older and less scalable, Gateway LB is for network appliances, not general TCP load balancing.
  4. Final Answer:

    Network Load Balancer, because it supports static IPs and handles millions of TCP connections with low latency -> Option C
  5. Quick Check:

    Static IP + TCP + scalability = NLB [OK]
Hint: For static IP and TCP scale, choose NLB [OK]
Common Mistakes:
  • Choosing ALB for TCP static IP needs
  • Confusing Classic LB as newest
  • Assuming Gateway LB handles general TCP load balancing
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