Intelligent Transaction Routing for Horizontal Monolith Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Monolithic applications face significant challenges in scalability and performance, as they can only be scaled vertically, leading to high costs and architectural limitations, and there is an upper bound on transaction processing throughput.
Innovation Solution
The implementation of an intelligent transaction routing system that decouples channel and interfacing applications from the backend, allowing transactions to be routed based on predefined routing information, enabling horizontal scaling of monolithic applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If vertical scaling is used to increase application capacity, then the throughput of the computing system is improved, but the system presents a single point of failure and has upper bound limitations
Solution Approach 1:
The patent segments the monolithic application into multiple independent application instances that can run in parallel. Each instance handles a portion of the traffic, eliminating the single point of failure. The routing layer divides incoming transactions and directs them to appropriate instances, enabling both horizontal scaling and improved reliability simultaneously.
Solution Approach 2:
The patent transitions from vertical scaling (adding resources to a single system) to horizontal scaling (adding multiple instances across different dimensions). By introducing the routing layer as a new dimensional component that orchestrates multiple instances, the system achieves unlimited scalability and fault tolerance while maintaining improved throughput.
2Reliability
If horizontal scaling is implemented to increase fault tolerance and reduce latency, then reliability is improved, but the implementation cost and complexity increase
Solution Approach 1:
The routing layer serves multiple functions simultaneously: it performs load balancing across instances, routes transactions based on product identifiers, enables horizontal scaling, and maintains system reliability. This multi-functionality reduces the need for separate specialized components, thereby reducing overall implementation complexity despite the horizontal scaling architecture.
Solution Approach 2:
The routing layer acts as an intermediary between the client and multiple application instances. It abstracts the complexity of managing multiple instances from the client, providing a simple interface while handling the complex routing logic internally. This mediator pattern reduces implementation complexity by centralizing the management of horizontal scaling components.
3Ease of manufacture
If monolithic application architecture is used, then ease of implementation is maintained, but scalability is limited to vertical scaling with upper bound constraints
Solution Approach 1:
The patent segments the monolithic application into multiple independent instances that can be deployed and scaled independently. Each instance remains a complete functional unit, maintaining the simplicity of the monolithic approach while enabling horizontal scaling. The routing layer coordinates these segments, providing both ease of implementation and enhanced scalability.
Solution Approach 2:
The patent implements partial segmentation by keeping each application instance as a complete monolithic unit rather than fully microservices-izing the system. This partial action approach maintains the operational simplicity of monolithic applications while achieving the scalability benefits of distributed systems through instance replication and intelligent routing.
Data Source
AI summary
Mechanisms are provided for routing transactions to backend application instances. The mechanisms receive a transaction from a source computing system, wherein the transaction comprises at least one identifier of a product or service associated with the transaction. The mechanisms perform a lookup operation in an in-memory database of transaction routing information, based on the at least one identifier. The transaction routing information maps the at least one identifier to a backend application instance identifier of a backend application instance. The mechanisms route the transaction to the backend application instance based on the backend application instance identifier, process, by the backend application instance, the transaction to generate transaction results, and return the transaction results to the source computing system.


