Microservice Fabric Controller Atomicity Enforcement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current microservice fabric controllers fail to ensure atomicity across a chain of microservices and lack the ability to measure success/failure metrics, leading to unpredictable behavior and cleanup challenges in transaction flows.
Innovation Solution
A microservice fabric controller initiates a call flow through a chain of microservices, detects transaction failures, and retries the failed transaction without disrupting successful microservices, using an atomicity agent that collaborates with sidecars to enforce atomicity and track metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If current microservice fabric controllers are used to manage microservice chains, then developers can focus on application logic and DevOps capabilities, but the controllers cannot ensure atomicity of operations across the microservice chain
Solution Approach 1:
The patent introduces an atomicity agent as an intermediary component that sits between the microservice fabric controller and the microservices chain. This agent intercepts calls, tracks their progress through the chain, and enforces atomicity by coordinating rollbacks when failures occur. The intermediary handles the complexity of atomicity enforcement without requiring changes to the microservices themselves or their application logic.
Solution Approach 2:
The atomicity agent implements feedback mechanisms by monitoring the state of each microservice in the chain and using this information to determine whether to proceed with or rollback operations. When a failure is detected, the agent provides feedback to initiate appropriate rollback actions, ensuring that the system returns to a consistent state. This feedback loop enables automatic enforcement of atomicity without human intervention.
2Adaptability or versatility
If individual applications are responsible for ensuring cleanup across microservice chains, then each microservice can operate independently, but the system cannot measure success/failure metrics or predict trends
Solution Approach 1:
The atomicity agent serves multiple functions: it enforces atomicity, tracks metrics, monitors chain behavior, and provides visibility into success/failure rates. This universal agent handles both the operational independence of individual microservices and the centralized measurement of system-wide metrics, eliminating the need for each application to independently implement both concerns.
Solution Approach 2:
The atomicity agent automatically collects and analyzes metrics about microservice chain behavior, including success and failure rates. This self-service capability enables the system to predict trends and identify issues without requiring external monitoring tools or manual tracking by individual applications. The agent autonomously provides insights into system health and performance.
3Reliability
If a transaction fails at one microservice in the chain, then the failure can be detected, but the entire chain must be rolled back disrupting previously successful microservices
Solution Approach 1:
The patent segments the microservice chain into independent units of work, each tracked by the atomicity agent. When a failure occurs, the agent identifies the specific segment that failed and only rolls back operations from that point forward, leaving previously successful segments intact. This segmentation enables selective rollback rather than forcing a complete chain rollback, reducing time loss and disruption.
4Productivity
If microservice chains are deployed without atomicity enforcement, then deployment is simpler and faster, but the system behavior becomes unpredictable and cleanup becomes difficult
Solution Approach 1:
The atomicity agent acts as a transparent intermediary that enforces atomicity without requiring changes to deployment processes or microservice code. It intercepts and manages transactions at the fabric controller level, allowing rapid deployment of microservices while automatically ensuring predictable behavior through enforced atomicity. The intermediary handles the complexity of atomicity enforcement without impacting deployment speed.
Data Source
AI summary
An approach is provided in which a microservice fabric controller initiates a call flow that includes a set of transactions through a microservices chain that includes a set of microservices. The microservice fabric controller detects a transaction failure at one of the microservices that is positioned in the microservices chain subsequent to at least one successful microservice. In turn, the microservice fabric controller retries the transaction on the failed microservice without disrupting the previously successful microservice.


