Direct Client-Server Service Discovery to Ease Load Balancer Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional server-side discovery systems using load balancers result in performance issues, scalability limitations, and increased resource consumption due to the need for all requests and responses to pass through the load balancers, especially when handling large data volumes and high client traffic.
Innovation Solution
Implementing direct client-to-server connections facilitated by load balancers, allowing clients to establish a secure connection with a load balancer, receive a server's network address, and then directly connect with the server for data exchange, reducing the load balancer's involvement in subsequent requests and responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If requests and responses pass through load balancers for service discovery, then service routing is achieved, but performance and scalability deteriorate due to increased processing load and bandwidth consumption
Solution Approach 1:
The patent extracts the service discovery function from the load balancer's request/response path. Clients perform service discovery independently by querying a service registry directly, removing this function from the load balancer's processing chain. This allows load balancers to focus solely on load balancing without the overhead of service discovery processing.
Solution Approach 2:
The patent implements preliminary service discovery where clients query the service registry before establishing connections to load balancers. This preliminary action obtains service endpoint information in advance, so clients can directly connect to appropriate load balancers without requiring them to perform service discovery during the request handling process.
2Adaptability or versatility
If load balancers handle all client requests and responses, then service distribution is achieved, but scalability is limited due to load balancer bottlenecks
Solution Approach 1:
The patent segments the system into independent components: clients perform service discovery, load balancers handle load balancing, and service instances process requests. This segmentation allows each component to scale independently, removing the bottleneck where load balancers had to handle both service discovery and load balancing functions.
Solution Approach 2:
The patent implements self-service where clients autonomously perform service discovery by querying the service registry themselves. This eliminates the need for load balancers to provide service discovery services, allowing load balancers to scale more efficiently without the additional processing burden.
3Reliability
If load balancers process service discovery requests, then service routing is enabled, but resource consumption increases due to CPU usage and bandwidth requirements
Solution Approach 1:
The patent extracts service discovery processing from load balancers and relocates it to clients and a dedicated service registry. This extraction eliminates the CPU usage and bandwidth consumption associated with load balancer service discovery processing, as clients perform discovery independently and communicate directly with the service registry.
Solution Approach 2:
The patent introduces a dedicated service registry as an intermediary between clients and load balancers. This service registry handles service discovery queries from clients, providing service endpoint information without requiring load balancer involvement in the discovery process, thereby reducing load balancer resource consumption.
Data Source
AI summary
There are provided systems and methods for scalable service discover and load balancing using direct client connections to servers. A service provider, such as an electronic transaction processor for digital transactions, may provide different computing services to users through client devices, which utilize server instances from server pools and the like to provide the computing services to users. This may include providing servers to handle client requests and process data with users. When client devices connect to the service provider's system, service discovery may be performed to find an available server instance to handle client requests. To provide scalable service discovery, load balancers may, instead of managing client requests through the load balancers, ping server instances from a server pool to identify a network address of an available server. This may be returned to the client device and a direction connection may be made between the device and server.


