Database Routing via Session Identifiers for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Designing a computing cluster that balances load and ensures high availability, particularly in handling client requests across web and database servers, is challenging due to the need for efficient routing and distribution of requests to maintain performance under heavy usage and minimize service disruptions.
Innovation Solution
Implementing session identifiers to route subsequent client requests to the same database server, while using load balancers to distribute requests geographically and ensure equal loading, and maintaining replicated database servers to handle requests efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If load balancers distribute requests across multiple database servers, then load balancing is improved, but request routing complexity increases
Solution Approach 1:
The patent introduces session identifiers as an intermediary mechanism between web servers and database servers. These identifiers are embedded in client requests and used by database servers to determine routing, eliminating the need for complex load balancer logic while maintaining effective load distribution across database servers.
Solution Approach 2:
The system performs preliminary action by assigning session identifiers to client requests before they reach the database servers. This pre-assignment of routing information simplifies subsequent request handling and database server routing decisions, reducing overall system complexity.
2Reliability
If session identifiers are used to route requests to the same database server, then high availability is improved, but routing mechanism complexity increases
Solution Approach 1:
Session identifiers serve as a simple intermediary that carries routing information through the system. The database server extracts these identifiers from incoming requests and uses them to determine which database server should handle the request, ensuring high availability while maintaining a simple routing mechanism.
Solution Approach 2:
The routing mechanism uses self-service principles where the session identifier itself contains the necessary routing information. The database server autonomously uses the identifier to determine routing without requiring complex external routing logic or additional control mechanisms.
Data Source
AI summary
A computing cluster may include servers that connect database servers. In one implementation, a server may receive a resource request from a client and extract a session identifier from the resource request. The server may determine, based on the session identifier, one of the database servers to use in fulfilling the resource request.


