Skip to content

Repository files navigation

Moss

This system implements an anti-entropy synchronization between distributed servers in Go using merkle trees and gRPC. The system uses the Raft consensus algorithm based on a shared log that is a Conflict-Free Replicated Data Type (CRDT) based on Tango.

Design

  • secure-blobstore: immutable, signed blobs with RSA keys, supprting public-key-verification bindings
  • anti-entropy synchronization: uses merkle trees with base-32 fanout for efficient one-way syncing, nodes compare tree signatures and fetch missing blobs via build, path, and get RPCs
  • consensus: implements the Raft protocol for log replication and leader election, supports command forwarding, follower catch-up, and robust recovery
  • CRDT: uses a in-memory CRDT data-structure for the shared log that ensures linearizability, persistence, fast transactions across distributed nodes, enabling efficient partition state across nodes without affecting consistency

About

Distributed Blob Store

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages