Alessandro Rizzetto - Taras Rashkevych
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.
- 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.
- Java 11 or higher
- Akka 2.6
- Gradle 7 or newer (for building and managing dependencies)
Clone this repository and build the project using Gradle:
git clone hhttps://github.com/AlessandroRizzetto/distributed-systems.git
cd distributed-systems
gradle build
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.