Skip to content

A distributed failure detection system that supports multiple nodes and clients communicating through RPC on Azure

License

Notifications You must be signed in to change notification settings

sassansh/FD-Paxos

Repository files navigation


Logo

Paxos Failure Detection

Server Failure Detection with Paxos. Built as a group project for UBC's CPSC 416 (Distributed Systems).

Logo

Table of Contents

Project Spec 🎯

For a PDF containing the project's specifications, please view project-spec.pdf.

Final Report 📑

For a detailed final report written on the project, please view final-report.pdf.

Technology Stack 🛠️

Go

Prerequisites 🍪

You should have GoLand, Go v1.18.1 and Git installed on your PC.

Setup 🔧

  1. Clone the repo using:

      git clone https://github.com/sassansh/FD-Paxos.git
  2. Open the project in GoLand.

  3. First, start the tracing server by running:

      go run cmd/tracing-server/main.go
  4. Next, start Servers 1-5 by running:

      go run cmd/server/main.go
      go run cmd/server2/main.go
      go run cmd/server3/main.go
      go run cmd/server4/main.go
      go run cmd/server5/main.go
  5. Next, start the Client by running:

      go run cmd/client/main.go
  6. Quit or kill one of the server processes and watch the Paxos algorithim run on the server's terminals.

  7. The client should now be reporting that server as dead.

Team 😁

Sassan Shokoohi - GitHub - LinkedIn - Personal Website

Naithan Bosse

Johnny Li

Felipe Caiado

Ken Utsunomiya

Jonathan Hirsch

About

A distributed failure detection system that supports multiple nodes and clients communicating through RPC on Azure

Resources

License

Stars

Watchers

Forks