Distributed systems involve having to deal with: * Group membership, which can be: * Centralized master, with concern being handling master failover. Here consensus algorithms like Paxos/Raft help. * Gossip based, but concern being to reduce network contention due to communication between peers. Here mechanisms like SWIM, Scuttlebutt, Dynamo's Merkle Tree approach help. * Failure detection (Ping based, SWIM, Scuttlebutt)
Probabilistic data structures use results from probability to help isolate desired properties. For e.g. Bloom filter uses it to create a memberset with a very small memory footprint, but can tell you if it does not have an item.