Skip to content

This repository provides a quorum-based total order broadcast system built on an actor-based model that manages node crashes with timeouts and coordinator crashes through a ring-based election algorithm

Notifications You must be signed in to change notification settings

TarasRashkevych99/distributed-systems

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Quorum-based Total Order Broadcast System

Alessandro Rizzetto - Taras Rashkevych

Table of Contents

Description

This project implements a quorum-based total order broadcast system using Akka. It ensures all replicas within a distributed system can handle updates and apply them in a consistent order, despite potential node failures.

Features

  • Two-phase broadcast protocol for update management.
  • Resilience to node failures with dynamic coordinator election.
  • Implements read and write operations on replicas with sequential consistency guaranteed.

System Requirements

  • Java 11 or higher
  • Akka 2.6
  • Gradle 7 or newer (for building and managing dependencies)

Installation

Clone this repository and build the project using Gradle:

git clone hhttps://github.com/AlessandroRizzetto/distributed-systems.git
cd distributed-systems
gradle build

Usage

Run the system using:

gradle run

Test the system using:

Uncomment one test at the time in the Main class and run the by following the suggested guidelines.

About

This repository provides a quorum-based total order broadcast system built on an actor-based model that manages node crashes with timeouts and coordinator crashes through a ring-based election algorithm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%