Server Failure Detection with Paxos. Built as a group project for UBC's CPSC 416 (Distributed Systems).
For a PDF containing the project's specifications, please view project-spec.pdf.
For a detailed final report written on the project, please view final-report.pdf.
You should have GoLand, Go v1.18.1 and Git installed on your PC.
-
Clone the repo using:
git clone https://github.com/sassansh/FD-Paxos.git
-
Open the project in GoLand.
-
First, start the tracing server by running:
go run cmd/tracing-server/main.go
-
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
-
Next, start the Client by running:
go run cmd/client/main.go
-
Quit or kill one of the server processes and watch the Paxos algorithim run on the server's terminals.
-
The client should now be reporting that server as dead.
Sassan Shokoohi - GitHub - LinkedIn - Personal Website
Naithan Bosse
Johnny Li
Felipe Caiado
Ken Utsunomiya
Jonathan Hirsch