BackAged / chubby

Project for COS 518: distributed lock service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chubby

A (very simplified) implementation of Chubby, Google's distributed lock service, written for COS 518, Spring 2019.

Instructions

To bring up five Chubby nodes in individual Docker containers, run docker-compose up. Superuser privileges may be required.

Chubby nodes can also be run locally as individual processes. To build, cd into the chubby subdirectory and run make chubby. We can bring up three Chubby nodes as follows:

  1. First node: ./chubby -id "node1" -raftdir ./node1 -listen ":5379" -raftbind ":15379"
  2. Second node: ./chubby -id "node2" -raftdir ./node2 -listen ":6379" -raftbind ":16379" -join "127.0.0.1:5379"
  3. Third node: ./chubby -id "node3" -raftdir ./node3 -listen ":7379" -raftbind ":17379" -join "127.0.0.1:5379"

Example Chubby clients can be found in the cmd folder. To run, build using make [CLIENT NAME], then run the resulting executable (e.g., make simple_client; ./simple_client).

About

Project for COS 518: distributed lock service


Languages

Language:Go 98.8%Language:Makefile 1.2%