Can someone explain the “Split Brain” design pattern for software?
This was selected as Best Answer “Split brain” can refer to a number of things, but I’m not familiar with it referring to a software design pattern. It typically refers to an undesireable clustered-node network situation. In the most general sense, a split brain scenario occurs when you have a number of clustered nodes, say, N, that are responsible for doing some kind of work. Occasionally, a node fails and stops doing work for a while, during which time it restarts itself. Because active nodes periodically send out “heartbeats” to alert another nodes that they’re still alive, the other nodes can note that heartbeats are no longer being sent, and continue working as if nothing had happened. When the inactive node comes back online, it rejoins the existing cluster. But now, imagine that a communications problem occurs on the network such that a bunch of nodes are split off from another bunch of nodes. Although each group can still communicate with other members of the same group, it can