Consistency & Consensus for System Design Interview (5): total order broadcast

SystemDesign
Tech Wrench
Published in
8 min readOct 27, 2023

--

PREV | HOME | NEXT | System Design Resource List

Don’t forget to get your copy of Designing Data Intensive Applications, the single most important book to read for system design interview prep!

Check out ByteByteGo’s popular System Design Interview Course

Introduction

Total order broadcast also known as the atomic broadcast is described as a protocol to exchange messages among the nodes of a distributed system. Note that the word “atomic” in the phrase “atomic broadcast” doesn’t imply atomicity in the sense as used in the context of transactions or operations. A total broadcast satisfies two requirements:

  1. Messages are guaranteed to be delivered. If a particular message is received by one node, then that message must have been received by every other node in the system eventually.
  2. All nodes receive messages in exactly the same order. A node can’t retroactively insert a message in between the order of already received messages. Another way to think about message delivery is that of an append-only log, where new messages can only be appended to an existing list of messages. Since all messages are delivered in the same order to all the nodes, this hypothetical log can be read by any of the nodes and the nodes will find the messages in exactly the same order.

--

--