Parallel Microservice Request Management via Conditional Cancellation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing environments lack flexibility in managing parallel microservices, leading to inefficiencies in resource usage and execution time, as they require serial request processing and cannot invoke multiple target microservices in parallel from an architectural level.
Innovation Solution
A method that identifies available target microservices, sends requests based on predefined conditions, and executes actions when those conditions are met, allowing for parallel invocation and cancellation of requests to optimize resource usage and execution time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If serial request processing is used, then system simplicity is maintained, but execution time and resource usage increase
Solution Approach 1:
The system segments the request processing into independent parallel tasks that can be executed simultaneously across multiple microservices. Each microservice instance processes a specific portion of the workload independently, enabling concurrent execution and reducing overall execution time while maintaining manageable system complexity through structured task division.
Solution Approach 2:
The system dynamically adjusts the number of parallel microservice instances and request distribution based on real-time availability and system conditions. This dynamic scaling allows the system to optimize execution time by launching more parallel tasks when resources are available while maintaining simplicity through automated management of complexity.
2Productivity
If parallel microservice invocation is enabled, then productivity increases, but device complexity increases
Solution Approach 1:
The system introduces a mediator component that manages the complexity of parallel microservice invocation by handling task distribution, availability checking, and coordination. This intermediary layer abstracts the complexity from the main system logic, enabling high productivity through parallel processing while keeping the overall architecture manageable through centralized coordination.
Solution Approach 2:
The system employs a universal microservice framework that handles multiple functions including request routing, availability management, parallel task coordination, and result aggregation. This multi-functional approach increases productivity by consolidating various management functions into a single scalable platform, reducing the need for separate complex management systems.
3Loss of time
If multiple target microservices are invoked in parallel, then execution time decreases, but reliability challenges increase
Solution Approach 1:
The system implements feedback mechanisms that continuously monitor microservice availability and response status. Based on this feedback, the system dynamically adjusts which microservices are invoked in parallel and handles failures by redirecting requests to available services. This feedback-driven approach maintains reliability while enabling parallel processing to reduce execution time.
Solution Approach 2:
The system performs availability checking of target microservices before initiating parallel requests. This preliminary verification acts as a cushion against potential failures, ensuring that only available and reliable services are invoked in parallel. By filtering out unavailable services upfront, the system maintains high reliability while still benefiting from parallel execution speedups.
Data Source
AI summary
A method, computer program product, and system for managing parallel microservices are provided. The method may include identifying information pertaining to each of a plurality of target microservices to be invoked by an issuer microservice, a predefined condition associated with the plurality of target microservices, and an action to be executed by the issuer microservice in response to the predefined condition being satisfied. The method may also include sending a first request to available target microservices of the plurality of target microservices based on the information pertaining to the respective available target microservices. The method may also include, in response to receiving a response to the first request from an available target microservice of the available target microservices, determining whether the predefined condition is satisfied, and in response to determining that the predefined condition is satisfied, causing the action to be executed by the issuer microservice.


