rhosus
Rhosus - distributed file storage
This project is currently under active development, please don't use it yet
Rhosus is a fast multipurpose distributed file storage written in Go. It uses BoltDB for memory-based storage backup and etcd for service discovery
Architecture
In Rhosus there are two types of working units: Registry and Node. Node's only purpose is to store raw blocks on machine. The main complexity is on Registry, which decides, where to store blocks, how to store it and so on.
Getting started
Installation
First you need to install etcd for service discovery. Please follow steps on this page
Once you installed etcd, you can now install Rhosus
install registry
$ go install github.com/parasource/rhosus/cmd/rhosusr@latest$ go install github.com/parasource/rhosus/cmd/rhosusd@latest$ go install github.com/parasource/rhosus/cmd/rhosus@latest
install datanode
For very basic deployment you need at least one registry and one data node.
$ make build...$ bin/rhosusr$ bin/rhosusd
Starting up
The bare minimum env configuration:
Registry
API_ADDR=127.0.0.1:8001CLUSTER_ADDR=127.0.0.1:8401RHOSUS_PATH=/var/lib/rhosusETCD_ADRR=127.0.0.1:2379
Data Node
SERVICE_ADDR=127.0.0.1:4500RHOSUS_PATH=/var/lib/rhosusETCD_ADRR=127.0.0.1:2379
Языки
Go
- Dockerfile
- Makefile