CurveFS rename 接口实现方案Concurrency Controller (备注:我认为利用 MVCC 可以保证事务 ACID 中的 C(一致性) 和 I(隔离性)) 方案主要借鉴 leveldb 与 etcd(boltdb) 中事务的实现(主要利用 mvcc),方案设计如下:© XXX Page 7 of 15 整体思路如下: 在 MDS 所有 copyset 中增加一个 txid 字段,保存当前 dentry 不动),并设置 PendingTx 为本次事务 如果上一步骤成功了,就提交事务,将 srcDentry, dstDentry 所在 copyset 的 txid 都加 1(这一步是通过 etcd 的事务保证的),如果上一步或这一步失败,因为 txid 不变,原始数据版本也在,还是保证原子性(其实就是一个 txid 对应一个版本的数据)© XXX Page 8 of 15 下次访问的时候,带上对应 + name + copyset_txid+1, VALUE: flag = 0, nodeId=...) (3) 提交事务,将 2 个 copyset 对应的 txid 都加一 (这一步是通过 etcd 的事务实现,不存在一个 copyset_txid 加一,一个没加一) (4) 如果事务提交成功了,更新 Client 的 txid 缓存 (5) 下次访问的时候,带上对应 copyset 的最新0 码力 | 15 页 | 555.93 KB | 6 月前3
The Path to GitOpsin managing the Sealed Secret control- lers in your environment. Also, the private key is stored in etcd, which creates another attack vector. Still, storing encrypted secrets is a valid way to solve security0 码力 | 45 页 | 1.09 MB | 1 年前3
共 2 条
- 1













