/pulsefs

An HTTP-based replicated filestore for distributed coordination

Primary LanguageJavaApache License 2.0Apache-2.0

PulseFS Build Status

PulseFS is an HTTP-based replicated filestore for distributed coordination. Its features include:

  • Sequentially consistent All the replicas see updates in the same order.
  • Ephemeral files and transient directories for implementing distributed coordination primitives such as locks and barriers.
  • Sequential files for ordering writes.
  • Dynamic cluster reconfiguration Add/remove servers without restarting the cluster.
  • Atomic updates Atomically execute multiple operations.

Getting Started

Compilation

mvn clean compile assembly:single

Usage

To start a cluster, run:

./bin/pulsefs -port 8080 -addr localhost:5000
./bin/pulsefs -port 8081 -addr localhost:5001 -join localhost:5000
./bin/pulsefs -port 8082 -addr localhost:5002 -join localhost:5000