Connection Pool Manager for Clustered System Event Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional clustered computing systems face inefficiencies in managing connections and redistributing sessions during system changes, leading to prolonged downtime and resource wastage due to slow reorganization of connections upon node or service failures.
Innovation Solution
Implementing a connection pool manager that receives notifications of system events and rapidly redistributes connections across active instances, marking invalid connections as such and rebalancing them to ensure high availability and efficient resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional connection management methods are used in clustered computing systems, then system stability is maintained, but connection reorganization speed deteriorates during node or service failures
Solution Approach 1:
The system performs preliminary actions by maintaining a connection pool with pre-established connections to multiple instances before failures occur. When a node or service fails, the connection manager can immediately redistribute existing connections without waiting for new connection establishment, thus reducing downtime and improving connection reorganization speed
Solution Approach 2:
The connection pool manager acts as an intermediary layer between client applications and clustered instances. It receives notifications of system events and autonomously manages connection redistribution, isolating the complexity of failure recovery from both clients and individual instances while enabling fast reorganization
2Reliability
If connections are rapidly redistributed across all instances, then system availability improves, but connection management complexity increases
Solution Approach 1:
The connection pool manager serves as an intermediary that centralizes connection management logic. It receives event notifications, identifies affected connections, and redistributes them across available instances without requiring complex coordination between multiple components, thus improving reliability while managing complexity through centralization
Solution Approach 2:
The connection pool manager implements self-service by autonomously responding to system events without external intervention. It automatically detects failed nodes, identifies valid connections, and redistributes them to healthy instances based on pre-configured policies, eliminating the need for manual connection management while maintaining high availability
3Reliability
If connection pool size is increased to handle failures, then system resilience improves, but resource consumption increases
Solution Approach 1:
The system dynamically adjusts connection pool parameters based on system conditions. The connection pool manager monitors instance availability and modifies the number of active connections in the pool accordingly, maintaining adequate resilience during normal operation while reducing resource consumption when instances fail or are unavailable
Solution Approach 2:
The connection pool maintains a partial reserve of connections beyond immediate needs to handle failures. By keeping some connections in standby state and using lazy initialization for connection creation, the system achieves sufficient resilience without allocating excessive resources, only consuming what is necessary for current operational requirements
Data Source
AI summary
Techniques for fast recovery and/or balancing of connections to a clustered computing system provide management of such connections by determining a number of connections to load balance across nodes and by triggering creation of such connections. In one aspect, a notification of an event regarding the clustered computing system is received by a connection pool manager, a pool of connections to the system is identified based on the notification, and one or more connections from the pool are processed in response to the event. According to an embodiment, the notification comprises the identities of the service, database, server instance and machine that correspond to the event.


