Skip to content

Make do Twitter clone with a Raft based distributed key-value data store

License

Notifications You must be signed in to change notification settings

Priyadarshanvijay/DistributedTwitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e7a0a3f · Dec 26, 2022

History

5 Commits
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022
Dec 25, 2022

Repository files navigation

DistributedTwitter

Make do Twitter clone with a Raft based distributed key-value data store.

Project requirements are stated in prompt.md

Steps to run:

  1. Run go mod download to download all dependencies
  2. Compile proto files: ./scripts/protoc.sh
  3. Start etcd instances if using Raft as the storage implementation (Hint: look into scripts/initEtcd.sh file)
  4. Check the server config (cmd/server/config.yaml)
  5. Check the client config (cmd/web/config.yaml)
  6. Start the server: go run cmd/server/twitter.go
  7. Start the client: go run cmd/web/web.go
  8. Navigate to localhost:3000 (or depending on your config.yaml in client)

Current storage implementations:

  1. Memory: In-memory storage for users and posts, non-persistent.
  2. etcd: Distributed key-value based persistent storage

TODO Implementations:

  1. Zookeeper
  2. PostgreSQL
  3. Cassandra
  4. Consul

TODO:

  1. Better unit testing

About

Make do Twitter clone with a Raft based distributed key-value data store

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published