SplitBrainResolverProvider configures how an Akka cluster responds when nodes become unreachable. It helps the cluster choose which nodes to shut down so the remaining members can maintain a consistent state, especially when sharding distributes actors across the cluster. section 13.3 section 13.5
Enable the provider
Set the downing provider in configuration: akka.cluster.downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider". The resolver then makes downing decisions according to its configured strategy rather than requiring manual Down messages. section 8.2.6
Akka detects reachability through gossip between cluster nodes and a phi-accrual failure detector. Because unreachability is relative to the observing node, the resolver applies explicit rules instead of treating every temporary communication failure as a simple Boolean failure. section 8.2.4 section 8.2.6
Available SBR strategies include:
- Keep-majority retains the partition containing most cluster members. section 13.5
- Lease-majority and static-quorum provide alternative quorum-based policies. section 13.5
- Keep-oldest preserves the partition containing the oldest member. section 13.5
Manual downing versus automatic resolution
A manual intervention can send Down(address) through the cluster manager, marking an unreachable node Down and removing it. SBR is preferred for automatic decisions, using configured rules to handle unreachable nodes and network partitions. section 8.2.6
