Transparent Load Balancing for Scalable Client IP Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Elastic load balancers face scalability issues when certain applications require client IP addresses for processing, as designating a single load balancer as the default gateway prevents scaling out and limits cluster performance.
Innovation Solution
Implement a cluster of transparent load balancers that concurrently receive and forward client traffic without modifying source IP addresses, with active load balancers providing flow information to a default gateway for responsive message forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single load balancer is designated as the default gateway to preserve client IP addresses, then applications can receive client IPs for processing, but the load balancer cluster cannot scale out and is limited to one active load balancer
Solution Approach 1:
The patent segments the load balancer cluster into two distinct functional roles: transparent load balancers that preserve client IP addresses and a default gateway load balancer that handles IP preservation. This segmentation allows multiple transparent load balancers to operate concurrently for load distribution while only one default gateway is needed for IP preservation, thereby resolving the contradiction between scalability and reliability.
Solution Approach 2:
The default gateway load balancer acts as an intermediary between the transparent load balancers and the servers. It receives client traffic from transparent load balancers, preserves the client IP addresses, and forwards the traffic to servers. This intermediary role allows transparent load balancers to focus on load distribution without compromising IP preservation, enabling cluster scalability while maintaining reliability.
2Productivity
If load balancers modify source IP addresses with SNAT operation, then the load balancer cluster is scalable with independent load balancing, but applications cannot receive the original client IP addresses
Solution Approach 1:
The patent segments the load balancing functionality into two distinct components: transparent load balancers that perform load distribution without modifying client IP addresses, and a default gateway that handles IP preservation. This segmentation allows the system to maintain client IP information while achieving cluster scalability, resolving the contradiction between productivity and information preservation.
Solution Approach 2:
The default gateway load balancer serves as an intermediary that receives traffic from transparent load balancers and preserves the original client IP addresses before forwarding to servers. This intermediary approach allows transparent load balancers to scale the cluster independently while the default gateway ensures client IP information is not lost, simultaneously achieving both scalability and information preservation.
3Productivity
If multiple active load balancers are deployed for load distribution, then cluster performance and scalability improve, but IP preservation for applications becomes impossible with a single default gateway
Solution Approach 1:
The patent segments the load balancer cluster into transparent load balancers dedicated to load distribution and a separate default gateway dedicated to IP preservation. This segmentation enables multiple transparent load balancers to improve load balancing performance while the single default gateway maintains IP preservation capability, resolving the contradiction between productivity and reliability.
Solution Approach 2:
The default gateway load balancer acts as an intermediary that receives client traffic from multiple transparent load balancers and preserves the original client IP addresses. This intermediary function allows the system to deploy multiple active load balancers for improved performance while maintaining IP preservation capability through the centralized default gateway.
Data Source
AI summary
Some embodiments provide a method of performing load balancing on client traffic sent to a cluster of servers that are associated with a common network address (e.g., for a VIP address associated with a service provided by the cluster of servers). The method assigns a cluster of two or more transparent load balancers to the common network address associated with the server cluster. The method configures at least two of these transparent load balancers as active transparent load balancers that concurrently (1) receive data message flows sent by clients directed to the common network address, (2) select one of the servers for each flow, and (3) forward each flow to the server selected for the flow without modifying a source network address (e.g., IP network address) of the flow.


