diff options
Diffstat (limited to 'note/weedfs.txt')
| -rw-r--r-- | note/weedfs.txt | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/note/weedfs.txt b/note/weedfs.txt deleted file mode 100644 index 329bb5690..000000000 --- a/note/weedfs.txt +++ /dev/null @@ -1,46 +0,0 @@ -How to submit a content -1. Find physical volumes -1.c Create a hash value -1.d find a write logic volume id, and return [logic volume id, {physical volume ids}] -2. submit to physical volumes -2.c - generate the cookie - generate a unique id as key - choose the right altKey - send bytes to physical volumes -2.s each - save bytes - store map[key uint64, altKey uint32]<offset, size> - for updated entry, set old entry's offset to zero -3.c - wait for all physical volumes to finish - store the /<logic volume id>/<key>_<cookie>_<altKey>.<ext> - -How to retrieve a content -1.c - send logic volume id -1.d - find least busy volume's id -2.c - send URI /<physical volume id>/<key>_<cookie>_<altKey>.<ext> - - -How to submit a content -1. send bytes to SeaweedFS, got <volume id, key uint64, cookie code> - store <key uint64, volume id uint32, cookie code uint32, ext>, and other information - -To read a content -2. use logic volume id to lookup a <machine id> - render url as /<machine id>/<volume id>/<key>/<cookie>.ext - -The directory server -0.init - load and collect <logic volume id, machine ids> mapping -1.on submit content - find a free logic volume id, start sending content to 3 machines - if all of them finishes, return <logic volume id, key, cookie code> -2.on read content - based on logic volume id, pick a machine with less load, - return <machine id> - - |
