Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sherrybai/chubby
Project for COS 518: distributed lock service
https://github.com/sherrybai/chubby
Last synced: 8 days ago
JSON representation
Project for COS 518: distributed lock service
- Host: GitHub
- URL: https://github.com/sherrybai/chubby
- Owner: sherrybai
- Created: 2019-03-01T18:49:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-05-14T03:15:13.000Z (over 5 years ago)
- Last Synced: 2024-08-02T00:25:21.060Z (3 months ago)
- Language: Go
- Size: 9.36 MB
- Stars: 25
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-distributed-system-projects - chubby - A (very simplified) implementation of Chubby, Google's distributed lock service
README
# chubby
A (very simplified) implementation of [Chubby](https://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf), Google's distributed lock service, written for [COS 518, Spring 2019](http://www.cs.princeton.edu/courses/archive/spr19/cos518/index.html).## 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`).