Merge pull request #9 from filecoin-project/docs/architecture
readme: Add a section about architecture
This commit is contained in:
2 files changed
+44
No files matched your search
@@ -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
|
||||
|
||||

|
||||
|
||||
### `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:
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="851px" height="1001px" viewBox="-0.5 -0.5 851 1001" content="<mxfile host="app.diagrams.net" modified="2020-04-06T17:42:42.123Z" agent="5.0 (X11)" etag="ilAX9XQorx-cbKmfSJum" version="12.9.8" type="browser"><diagram id="6lDjA8ebbJXz-MvvKowY" name="Page-1">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 truncated
|
||||
|
After Width: | Height: | Size: 75 KiB |
Reference in new issue
Block a user