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.
- API specifications describes the API in details.
mvn clean compile assembly:single
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