CurveBS IO Processing FlowWhen majority nodes, including themselves, successfully persist the log entry, we call it commit5. After commit, apply can be applied. During apply, BRaft will call the function that we pass in through0 码力 | 13 页 | 2.03 MB | 6 月前3
Curve核心组件之chunkserverChunkServer 2. 请求封装,提交给Raft node 3. 本地持久化entry的同时发送给其他peer 4. 本地持久化log entry成功,并且有一个peer也落 盘成功,则commit 5. Commit后apply,此时把写请求写到chunkChunkServer核心模块-CopysetNode 坏盘(CS1对应的盘)后的迁移流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在0 码力 | 29 页 | 1.61 MB | 6 月前3
Raft在Curve存储中的工程实践raft模块在本地持久化 entry 的同时发送 entry 给其 他副本(ChunkServer)。 4. 本地持久化 log entry 成功,且另一个副本也写入 log entry 成功则 commit。 5. commit 后执行 apply,apply 把数据写入chunk。 6. 返回client写入成功。Curve块存储RAFT应用 raft apply • 由于chunk可以覆盖写,所以chunk的写入天然具有幂0 码力 | 29 页 | 2.20 MB | 6 月前3
Curve元数据节点高可用Then(v3.OpPut(k, val, v3.WithLease(s.Lease()))) txn = txn.Else(v3.OpGet(k)) resp, err := txn.Commit() if err != nil { return err } e.leaderKey, e.leaderRev, e.leaderSession = k, resp0 码力 | 30 页 | 2.42 MB | 6 月前3
共 4 条
- 1













