Centralized Connection Pool for Microservice Transaction Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing transactions across multiple micro services for database updates is inefficient and resource-intensive, especially when dealing with large monolithic applications, as it is difficult to track and coordinate successful updates or rollbacks across separate processes executed on different machines or nodes.
Innovation Solution
A centralized connection pool service system generates reference identifiers for connections between micro services and databases, allowing a parent process to determine which services are needed for updates, and uses AI to dynamically allocate connections based on usage patterns, enabling efficient data updates and rollbacks through a single commit or abort point.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If separate micro services are used for different processes, then efficiency is improved compared to monolithic applications, but connection and management of the separate micro services becomes problematic
Solution Approach 1:
A centralized transaction coordinator service is introduced as an intermediary between micro services and the database. This coordinator manages connection pools centrally, assigns connections to micro services, and coordinates transactions across multiple services, reducing the complexity of connection management while maintaining the efficiency benefits of micro services.
Solution Approach 2:
Multiple separate connection pools used by individual micro services are merged into a single centralized connection pool managed by the transaction coordinator. This consolidation reduces duplicate connections, optimizes resource utilization, and simplifies management while allowing micro services to operate independently.
2Adaptability or versatility
If multiple micro services are executed on different machines or nodes, then distribution and scalability are improved, but tracking and managing transactions/updates becomes difficult
Solution Approach 1:
The centralized transaction coordinator implements a feedback mechanism where micro services report their transaction status back to the coordinator. The coordinator maintains a central transaction state registry that tracks the status of all micro services participating in a transaction, enabling reliable coordination across distributed machines while preserving scalability.
3Ease of operation
If each micro service has its own connection pool, then service independence is maintained, but all connections may not be utilized or needed for each process
Solution Approach 1:
The centralized connection pool serves multiple micro services simultaneously, making the connection resources universal rather than dedicated to single services. The transaction coordinator dynamically assigns connections from the shared pool to micro services based on actual demand, maintaining service independence while optimizing resource utilization and preventing connection waste.
Data Source
AI summary
A system, method, and computer-readable medium are disclosed for management of a centralized service for transaction handling across multiple processes that sends connections to a parent process that determines the multiple processes that are used to provide data or upgrade to a user database. Reference identifiers are generated for the connections. The reference identifiers are mapped. Connection of the multiple processes is performed using the reference identifiers to the database to provide data or upgrade to the user database. An abort or rollback is received if all of the other processes are not successful in providing the data or upgrading user database. A commit is received if all of the multiple processes are successful in providing the data or upgrading the user database.


