数据中心差异化复制策略解析
1. DiR API 介绍
DiR 提供了一系列 API 来实现文件的存储和检索功能,具体如下表所示:
| 函数名 | 描述 |
| — | — |
| fetch(filename) | 从 DiR 系统中检索文件 |
| fetch(filename, service - type) | 从 DiR 系统中以特定服务类型检索文件 |
| store(filename) | 将本地文件系统中的文件插入到 DiR 中 |
| store(filename, service - type) | 将本地文件系统中的文件以指定服务类型插入到 DiR 中 |
可以看到,只需要在当前 Chord/DHash 的 API 中添加一个名为 service - type 的参数,就能表明用户所需的服务类型。需要注意的是,对于某个文件,fetch 操作的 service - type 需要与 store 操作的相匹配。
2. 可用性分析
提供不同级别的可用性主要有两种方式:
- 改变副本数量
- 改变副本位置
提高对象可用性可以通过增加副本数量或把副本放置在更“可用”的机器上实现。不过,在某些情况下,很难判断哪种方法能提供更好的可用性。系统需要在资源约束下决定可用性,以保证负载均衡,否则可能会给高可用性节点带来额外开销。
问题可以形式化描述为:给定某个对象/文件的期望可用性 A 和一组具有各自可用性的节点,需要找出副本数量以及存储副本的具体节点。假设 M 是 N 个节点的 ID 和对应可用性的集合:
$M = {(n_
超级会员免费看
订阅专栏 解锁全文
1993

被折叠的 条评论
为什么被折叠?



