Microservices Failover via Lockstep Metadata Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing microservices architectures face challenges in intelligently handling failover issues, particularly in disaggregated computing environments where microservices are deployed across heterogeneous hardware devices, leading to inefficiencies in failure management.
Innovation Solution
The proposed solution involves a dynamic end-to-end microservices failover mechanism that utilizes failover microservice agents operating in lockstep mode. When an uncorrectable hardware error occurs, a failover trigger is activated, and a secondary microservice takes over the task performance based on failover metadata persisted by the primary microservice, while the primary microservice is taken offline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If microservices are deployed across heterogeneous hardware devices in disaggregated computing environments, then resource utilization and flexibility are improved, but failure management complexity and downtime increase
Solution Approach 1:
The patent implements preliminary action by deploying secondary microservice instances in advance on different hardware devices before failures occur. These standby instances remain ready to immediately take over when primary instances fail, eliminating the need for complex failure management decisions during actual failures and reducing downtime in disaggregated computing environments.
Solution Approach 2:
The patent applies copying by creating redundant copies of microservice instances across multiple heterogeneous hardware devices. These copied instances serve as failover targets, allowing the system to replicate service functionality across different hardware platforms and seamlessly switch between them when failures occur, thereby improving reliability without sacrificing the adaptability benefits of disaggregated computing.
2Ease of manufacture
If traditional monolithic application failure handling is used, then implementation simplicity is maintained, but failure response time and service availability deteriorate
Solution Approach 1:
The patent segments the monolithic application into multiple independent microservice instances that can fail and recover independently. This segmentation allows individual instances to be taken offline for maintenance or restarted after failures without affecting the entire application, thereby reducing failure response time and improving service availability while maintaining implementation simplicity through standardized microservice deployment patterns.
Solution Approach 2:
The patent implements preliminary action by pre-configuring multiple microservice instances and establishing failover relationships before failures occur. This allows the system to immediately activate standby instances when failures happen, dramatically reducing failure response time compared to traditional monolithic approaches that require complex post-failure analysis and manual intervention.
3Device complexity
If reactive failure handling is implemented, then system complexity is reduced, but service availability and reliability deteriorate
Solution Approach 1:
The patent applies preliminary action by proactively deploying redundant microservice instances and establishing failover mechanisms before failures occur. This eliminates the need for complex reactive failure handling logic, as the system automatically transitions to standby instances upon failure detection, thereby maintaining low system complexity while significantly improving service availability and reliability.
Solution Approach 2:
The patent implements self-service by enabling microservice instances to automatically detect failures and trigger failover to standby instances without external intervention. This self-service mechanism simplifies failure handling complexity by eliminating manual intervention requirements while ensuring continuous service availability through automatic recovery processes.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments described herein are generally directed to intelligent management of microservices failover. In an example, responsive to an uncorrectable hardware error associated with a processing resource of a platform on which a task of a service is being performed by a primary microservice, a failover trigger is received by a failover service. A secondary microservice is identified by the failover service that is operating in lockstep mode with the primary microservice. The secondary microservice is caused by the failover service to takeover performance of the task in non-lockstep mode based on failover metadata persisted by the primary microservice. The primary microservice is caused by the failover service to be taken offline.