Skip to content

A GFS-alike DFS to store sheet files for collaborative editing.

License

Notifications You must be signed in to change notification settings

fourstring/sheetfs

Repository files navigation

SheetFS

Go Reference

A GFS-alike DFS built for collaborative electronic sheet editing applications, providing developer-friendly SheetFile abstractions. See docs directory and reference above for more design and usage information.

Project structure

This project is composed of several top-level packages:

  • fsclient: the client of our DFS, encapsulates all RPC interactions between Filesystem nodes. Applications should refer to this package.
  • master: codes of MasterNode of our filesystem. This package can be built into a standalone executable file, which should be run as a MasterNode process.
  • datanode: codes of DataNode. This package can be built into a standalone executable file, which should be run as a DataNode process.
  • protocol: defines gRPC protocol between the client and nodes of filesystem.
  • election: encapsulates common election algorithms using Zookeeper
  • common_journal: common journaling support for replication in a cluster using Kafka
  • tests: testing utils and integration tests.

Deployment

Currently, this project can be deployed using docker-compose. Example dockerfile and docker-compose configuration are provided under the root directory of the project. However, Kubernetes support is poor now.

About

A GFS-alike DFS to store sheet files for collaborative editing.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages