아토믹 딜리버리 (Atomic Delivery)
전부 아니면 전무(All-or-Nothing).
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;
🧒 5살도 이해할 수 있게 설명
물건을 살 때 '돈을 주는 것'과 '물건을 받는 것'이 동시에 일어나는 것과 같아요. 물건을 못 받으면 돈도 나가지 않고, 돈을 안 주면 물건도 안 오는 거죠. 중간은 없어요.
🤓 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.