Serverless Fault Recovery Using Replica Nodes and State Snapshots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Serverless architecture distributed systems lack adequate fault tolerance, leading to job failures when a node fails, requiring restarts from the beginning and affecting task execution progress.
Innovation Solution
A serverless architecture distributed fault-tolerant system that includes a serverless architecture control module monitoring computing nodes, constructing replica nodes from persistent storage units to continue task execution, and using proxy and computing units to restore tasks based on stored graph and state snapshot data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a serverless architecture distributed system is used to simplify infrastructure management, then ease of operation is improved, but fault tolerance deteriorates causing job failures when nodes fail
Solution Approach 1:
The system performs preliminary actions by creating checkpoint snapshots of task execution states and maintaining graph data in persistent storage before failures occur. When a node fails, the system can restore task execution from these pre-saved states rather than restarting from scratch, thus resolving the fault tolerance issue while maintaining serverless simplicity
Solution Approach 2:
The system creates replica computing nodes by copying the failed node's persistent storage data including graph data and state snapshots. These replica nodes can take over task execution seamlessly, providing fault tolerance without requiring complex manual intervention, thus maintaining ease of operation while improving reliability
2Reliability
If the system restarts task execution from the beginning after node failure, then reliability is improved by ensuring complete task completion, but loss of time increases due to re-execution of already completed portions
Solution Approach 1:
The system saves checkpoint snapshots at intermediate states during task execution in persistent storage. When failure occurs, these pre-saved states enable resumption from the last successful checkpoint rather than restarting from the beginning, significantly reducing time loss while ensuring complete task completion
Solution Approach 2:
The system implements feedback mechanisms where the control module monitors node execution states and continuously updates persistent storage with graph data and state snapshots. This feedback loop ensures that the system always has current task state information available for recovery, balancing reliability and time efficiency
3Reliability
If the system monitors and manages fault tolerance at the node level, then reliability is improved, but device complexity increases due to additional monitoring and replica management components
Solution Approach 1:
The control module serves multiple functions: it monitors node execution states, manages persistent storage operations, creates replica nodes, and coordinates task restoration. By consolidating these diverse functions into a single control module, the system achieves node-level fault tolerance without proportionally increasing overall system complexity
Solution Approach 2:
When a node fails, the system automatically detects the failure through monitoring, creates a replica node from persistent storage data, and restores task execution without requiring manual intervention. This self-service capability improves reliability while minimizing the operational complexity burden
Data Source
AI summary
The present disclosure provides a serverless architecture distributed fault-tolerant system and method, an apparatus, a device, and a medium. The system comprises: a serverless architecture control module and distributed architecture-based computing nodes. The serverless architecture control module monitors a working state of distributed architecture-based computing nodes, and in response to monitoring a faulty computing node, constructs a replica computing node for the faulty computing node based on a persistent storage unit in the faulty computing node. The replica computing node replaces the faulty computing node to continue to execute a target task undertaken by the faulty computing node. The replica computing node restores an execution of the target task based on graph data and state snapshot data corresponding to the target task that are stored in the persistent storage unit.


