Atomic Delivery
A property of communication protocols where a message is either successfully delivered to all intended recipients or delivered to none.
Atomic Delivery (or Atomic Multicast) ensures consistency in distributed systems. If a coordinator sends a broadcast to a cluster of nodes, the system guarantees that they will all reach the same state. If even one node fails to receive the message due to a network or hardware failure, the entire operation is rolled back or compensated for, preventing a split-brain scenario.
graph LR
Center["Atomic Delivery"]:::main
Pre_distributed_systems["distributed-systems"]:::pre --> Center
click Pre_distributed_systems "/terms/distributed-systems"
Pre_networking["networking"]:::pre --> Center
click Pre_networking "/terms/networking"
Pre_consensus_mechanism["consensus-mechanism"]:::pre --> Center
click Pre_consensus_mechanism "/terms/consensus-mechanism"
Rel_atomic_swap["atomic-swap"]:::related -.-> Center
click Rel_atomic_swap "/terms/atomic-swap"
Rel_all_or_none_order["all-or-none-order"]:::related -.-> Center
click Rel_all_or_none_order "/terms/all-or-none-order"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explain Like I'm 5
It's like buying a toy at a shop. You only give the money if you actually get the toy in your hand. If the shopkeeper doesn't have the toy, you keep your money. Both things happen together, or not at all.
🤓 Expert Deep Dive
Atomic delivery is often implemented via Two-Phase Commit (2PC) or consensus protocols like Paxos and Raft. It requires reliable multicast foundations and a persistent log.