mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Updated Replication (markdown)
parent
0b63f33366
commit
d9ed8f256f
|
@ -67,6 +67,17 @@ In plain words, all the writes are strongly consistent and all N replica should
|
|||
|
||||
For failed write request, there might be some replicas written. These replica would be deleted. Since volumes are append only, the physical volume size may deviate over time.
|
||||
|
||||
### write-path
|
||||
|
||||
When a client do a write request, here follows the work-flow:
|
||||
1. a client sends a specific replication to the master in order to get assigned a fid
|
||||
2. the master receives the assign request, depending of the replication, it chooses volume servers that will handle them
|
||||
3. the client sends the write request to one of the volume servers and wait for the ACK
|
||||
4. the volume server persist the file and also replicated the file if needed.
|
||||
5. If everything is fine, the client get a OK response.
|
||||
|
||||
When the client talks to the filer, the filer acts a client on the above.
|
||||
|
||||
## Fix replication
|
||||
|
||||
If one replica is missing, there are no automatic repair right away. This is to prevent over replication due to transient volume sever failures or disconnections. In stead, the volume will just become readonly. For any new writes, just assign a different file id to a different volume.
|
||||
|
|
Loading…
Reference in a new issue