DISTRIBUTED SYSTEM
CHAPTER 10 : CASE STUDY
LAB WORK SOLUTION- DISTRIBUTED SYSTEM
DISTRIBUTED SYSTEM -BCA -ALL SLIDES
MCQ- DISTRIBUTED SYSTEM

CONSENSUS

Consensus in distributed systems is a fundamental problem where multiple nodes (or processes) must agree on a single data value, decision, or course of action. Achieving consensus ensures consistency and reliability in the presence of failures and network partitions. It is essential for various distributed applications such as databases, file systems, and blockchain technologies.

Key Challenges in Consensus

  1. Fault Tolerance: Nodes can fail or behave incorrectly (Byzantine failures).
  2. Network Issues: Network partitions, delays, and message losses can disrupt communication.
  3. Consistency: All non-faulty nodes must agree on the same value.
  4. Liveness: The system must eventually reach a decision.

Common Consensus Algorithms

  1. Paxos
  2. Raft
  3. Byzantine Fault Tolerance (BFT) Algorithms

 

Paxos

Paxos is a family of protocols for solving consensus in a network of unreliable processors. It is designed to handle failures of nodes and network partitions while ensuring consistency.

  • Roles: Proposers, Acceptors, and Learners.
  • Phases:
    1. Prepare: A proposer sends a prepare request with a proposal number to a quorum of acceptors.
    2. Promise: Acceptors respond with a promise not to accept proposals with lower numbers and may include the highest-numbered proposal they have accepted.
    3. Accept: If the proposer receives promises from a quorum, it sends an accept request with the proposal.
    4. Accepted: Acceptors send accepted messages to indicate they have accepted the proposal.