HA Cluster Node Handshake for Split-Brain Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-availability clusters face the challenge of preventing split-brain scenarios, where multiple nodes become available and accept service requests, leading to invalid services and data corruption, without introducing additional hardware and software requirements or single points of failure.
Innovation Solution
A method where a first node in a high-availability cluster determines if it cannot communicate with a second node, initiates a handshake operation with clients to assess the second node's status, and requests restoration of communication, ensuring only one node provides services by using connected clients to determine the status and prevent split-brain scenarios.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional HA cluster communication methods are used, then nodes can maintain service availability, but split-brain scenarios occur where multiple nodes accept service requests leading to data corruption
Solution Approach 1:
The patent introduces a handshake operation as an intermediary mechanism between HA cluster nodes and service clients. When a node detects communication failure with other nodes, it initiates a handshake with connected clients to verify whether those clients can still reach other nodes in the cluster. This intermediary verification step prevents split-brain scenarios by ensuring that only nodes with confirmed isolation from other active nodes can accept service requests, thereby eliminating the harmful effect of data corruption while maintaining service availability.
2Reliability
If additional hardware or software mechanisms are introduced to prevent split-brain, then reliability improves, but device complexity increases
Solution Approach 1:
The patent implements a self-service approach where existing service clients in the HA cluster perform dual functions: they provide services to the cluster while simultaneously acting as verification agents during handshake operations. When a node needs to verify its isolation status, it reuses existing client connections to send handshake requests through the same service channels already established in the system. This eliminates the need for additional dedicated hardware or software components, achieving reliable split-brain prevention without increasing device complexity.
Data Source
AI summary
As disclosed herein a method, executed by a computer, includes determining, by a processor, that a first node of a HA cluster is unable to communicate with a second node of the HA cluster, and initiating, by a processor, by the first node, a handshake operation with a connected client, wherein the handshake operation comprises requesting that the client determine a status of the second node and receiving, from the client, a response indicating the status of the second node. The method further includes accepting, by a processor, new requests in response to determining that the second node is unavailable, and requesting, by a processor, restoration of communications between the first node and the second node in response to determining that the second node is available. A computer system and computer program product corresponding to the above method are also disclosed herein.


