Distributed Load Balancer Message Bus Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancers face scalability issues in large network environments, such as cloud computing services, and rely on outdated techniques like max connections and round robin for load balancing, which are inefficient and difficult to manage in distributed systems.
Innovation Solution
A distributed load balancing system that employs multipath routing, consistent hashing, and health checking, allowing load balancer nodes to randomly select server nodes and enabling servers to manage TCP connections directly, thereby shifting decision-making closer to the point of service and improving scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional load balancers are used with max connections, round robin, and least connections techniques, then load balancing decisions can be made centrally, but the system does not scale well in environments with hundreds or thousands of host devices
Solution Approach 1:
The patent divides the centralized load balancer into multiple distributed load balancer nodes that operate independently. Each node manages a subset of host devices and makes local load balancing decisions, eliminating the single point of failure and scaling limitations of conventional centralized load balancers.
Solution Approach 2:
The patent introduces a new dimension of distribution by deploying load balancing functionality across multiple nodes in the network rather than relying on a single centralized device. This dimensional shift from centralized to distributed architecture enables the system to scale horizontally to handle hundreds or thousands of host devices.
2Ease of operation
If conventional load balancers terminate TCP connections and act as proxies, then connection management is centralized, but direct communication between clients and host devices is blocked
Solution Approach 1:
The patent extracts the TCP connection termination function from the load balancing path. Load balancer nodes forward TCP packets without terminating connections, allowing clients and host devices to establish direct TCP connections while still benefiting from distributed load balancing decisions.
Solution Approach 2:
The patent introduces load balancer nodes as intermediaries that forward packets between clients and host devices without terminating connections. These nodes act as transparent mediators that enable both direct communication and intelligent load balancing simultaneously.
3Productivity
If load balancer nodes make random selection of server nodes, then decision-making is distributed closer to service point, but connection tracking complexity increases
Solution Approach 1:
The patent implements preliminary action by having load balancer nodes pre-track connection states and maintain flow tables before packets arrive. This allows nodes to quickly make load balancing decisions based on pre-computed information rather than analyzing each packet in real-time, reducing the complexity of distributed decision-making.
Solution Approach 2:
The patent replaces complex mechanical connection tracking with a simplified packet forwarding mechanism. Load balancer nodes use consistent hashing and flow tables to determine destination nodes, substituting intricate state management with deterministic routing rules that are easier to track and manage.
Data Source
AI summary
A test system for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. The test system includes message bus technology that enables the distributed load balancer to be run in a single process without requiring load balancing code to be deployed to multiple hosts in a production network. The message bus technology may be implemented in message bus layers of the test system to simulate network segments. The message bus functionality hooks into the IP tables at the kernel level, intercepts packets, and sends the packets up into the message bus process for routing.


