Journal-Based State Replication for Service Continuity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional primary replica node fault tolerance methods often result in secondary replica nodes not being in the same state as the primary node when it fails, leading to service disruptions and inefficiencies, with potential for returning incorrect or outdated responses.
Innovation Solution
Implementing a system where a management device maintains a journal of client requests and responses, ensuring that secondary replica nodes process requests in the same order and sequence as the primary node, allowing them to seamlessly take over and maintain the same state, thereby minimizing service disruption and ensuring accurate responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional primary replica node fault tolerance methods are used, then service continuity is maintained during node failure, but secondary replica nodes are not in the same state as the primary node, leading to incorrect or outdated responses
Solution Approach 1:
The system performs preliminary actions by having secondary replica nodes process client requests in advance and maintain a journal of requests and responses before primary node failure occurs. This ensures that when failover is needed, the secondary node already has the correct state and can immediately provide accurate responses without needing to replay journal entries.
2Productivity
If secondary replica nodes process requests asynchronously without strict ordering, then processing speed is improved, but state consistency between primary and secondary nodes deteriorates
Solution Approach 1:
The system segments the request processing workflow into distinct phases: primary node receives and processes requests, maintains a journal of requests and responses, and secondary nodes process requests in the same sequence from the journal. This segmentation allows asynchronous processing while maintaining strict ordering through the journal mechanism, ensuring both speed and state consistency.
3Reliability
If secondary replica nodes maintain identical state as primary node, then fault tolerance reliability is improved, but system complexity increases due to journal maintenance and ordered processing requirements
Solution Approach 1:
The journal acts as an intermediary mechanism between the primary node and secondary replica nodes. It stores the sequence of client requests and responses, allowing secondary nodes to reconstruct the exact state of the primary node without requiring complex direct synchronization protocols. This intermediary simplifies the overall system architecture while ensuring reliable state replication.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to receive, from a first node, a client request and a response corresponding to the processed client request, in which the first node is configured to generate the response by processing the client request on a service and processed client request is configured to change a state of the service. The instructions are also to cause the processor to receive, from the first node, a response corresponding to the received request, generate an entry including the received request and response, commit the generated entry into a journal, and send an acknowledgement of the received request and response to the first node after the generated entry is committed into the journal.