Merge pull request #9 from filecoin-project/docs/architecture
readme: Add a section about architecture
This commit is contained in:
commit
a6d0938385
41
README.md
41
README.md
@ -8,6 +8,47 @@
|
||||
|
||||
The sector-storage project provides a implementation-nonspecific reference implementation of the [specs-storage](https://github.com/filecoin-project/specs-storage) interface.
|
||||
|
||||
## Architecture
|
||||
|
||||
![high-level architecture](docs/sector-storage.svg)
|
||||
|
||||
### `Manager`
|
||||
|
||||
Manages is the top-level piece of the storage system gluing all the other pieces
|
||||
together. It also implements scheduling logic.
|
||||
|
||||
### `package stores`
|
||||
|
||||
This package implements the sector storage subsystem. Fundamentally the storage
|
||||
is divided into `path`s, each path has it's UUID, and stores a set of sector
|
||||
'files'. There are currently 3 types of sector files - `unsealed`, `sealed`,
|
||||
and `cache`.
|
||||
|
||||
Paths can be shared between nodes by sharing the underlying filesystem.
|
||||
|
||||
### `stores.Local`
|
||||
|
||||
The Local store implements SectorProvider for paths mounted in the local
|
||||
filesystem. Paths can be shared between nodes, and support shared filesystems
|
||||
such as NFS.
|
||||
|
||||
stores.Local implements all native filesystem-related operations
|
||||
|
||||
### `stores.Remote`
|
||||
|
||||
The Remote store extends Local store, handles fetching sector files into a local
|
||||
store if needed, and handles removing sectors from non-local stores.
|
||||
|
||||
### `stores.Index`
|
||||
|
||||
The Index is a singleton holding metadata about storage paths, and a mapping of
|
||||
sector files to paths
|
||||
|
||||
### `LocalWorker`
|
||||
|
||||
LocalWorker implements the Worker interface with ffiwrapper.Sealer and a
|
||||
store.Store instance
|
||||
|
||||
## License
|
||||
|
||||
The Filecoin Project is dual-licensed under Apache 2.0 and MIT terms:
|
||||
|
3
docs/sector-storage.svg
Normal file
3
docs/sector-storage.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 75 KiB |
Loading…
Reference in New Issue
Block a user