mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
adjust mount read write
parent
126c84cc15
commit
0401227605
|
@ -44,7 +44,8 @@ There are no network round trip to lookup the volume id location.
|
|||
|
||||
For reads:
|
||||
1. Client Reads File Metadata => Weed Filer => Weed Filer database (LevelDB, Cassandra, Redis, Mysql, Postgres, etc)
|
||||
2. Client Reads File Chunks => Weed Volume Servers
|
||||
2. Client optionally lookup volume Id => Weed Filer => Weed Master
|
||||
3. Client Reads File Chunks => Weed Volume Servers
|
||||
|
||||
![](MountRead.png)
|
||||
|
||||
|
|
BIN
MountRead.png
BIN
MountRead.png
Binary file not shown.
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 100 KiB |
BIN
MountWrite.png
BIN
MountWrite.png
Binary file not shown.
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 110 KiB |
32
zenuml.txt
Normal file
32
zenuml.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
fileContent = WeedMount.ReadFile{
|
||||
metadata = WeedFiler.ReadMetaData{
|
||||
metadata = FilerStore.ReadMetaData{}
|
||||
}
|
||||
location = WeedFiler.LookupVolumeId{
|
||||
location = Master.LookupVolumeId{}
|
||||
}
|
||||
chunks = VolumeServer.ReadChunks(){}
|
||||
}
|
||||
|
||||
success = WeedMount.WriteFile{
|
||||
fileIds = WeedFiler.Assign{
|
||||
fileIds = Master.Assign{}
|
||||
}
|
||||
success = VolumeServer.WriteChunks(fileId){}
|
||||
success = WeedFiler.WriteMetaData{
|
||||
success = FilerStore.SaveMetaData{}
|
||||
VolumeServer.PurgeOldChunks{}
|
||||
}
|
||||
}
|
||||
|
||||
metadata = Filer.Read(path){
|
||||
metadata = FilerStore.Lookup(path)
|
||||
}
|
||||
volumeServerLocation = WeedMaster.Lookup(volumdId)
|
||||
content = VolumeServer.Read(fileId) {
|
||||
}
|
||||
|
||||
fileContent = WeedMount.ReadFile{
|
||||
metadata = WeedFiler.ReadMetaData{}
|
||||
chunks = VolumeServer.ReadChunks(){}
|
||||
}
|
Loading…
Reference in a new issue