Swift工作原理二

  • Swift存储系统的工作原理的核心是虚节点(Partition Space)和环(Ring)。
    • 虚节点:用于存放一批数据。存储系统把虚节点看做一个移动的整体。
    • 环:虚节点映射到磁盘的物理地址。
      • 当任何一个模块需要对账号、容器、或对象进行操作的时候,他们需要通过环来确定账号、容器、或对象在集群中的地址。虚节点地址都记录在环的映射中。环通过区域的概念来保证数据的隔离。
      • 当新的存储设备添加的时候,环就会自动移动一些虚节点到新加入的设备中,以达到平衡。Swift中引入“权重”的概念来平衡集群中虚节点在驱动器上的分布。
    • 一致性服务器:负责发现和改正由于数据损坏和硬件故障带来的错误。一致性服务器有3类:审计器(Auditors)、更新器(Updaters)和复制器(Replicator)。
      • 审计器:运行在每个节点的后台,在本地服务器上反复的检查存放在服务器上的对象、容器、和账号的完整性,连续扫描磁盘上的数据不会因为磁盘的坏点或文件系统的损坏而丢失。
      • 更新器:保证账号和容器的列表是正确的。负责更新账号元数据中对象的个数、容器的个数以及所使用存储的字节数。当高负荷时,不会立即更新,会将此次更新加入更新队列,以便后续处理,但保证用户可以可以使用。
      • 复制器:面对网络中断或者驱动器故障等临时性故障情况是来保持系统的一致性。当文件已删除,swift会将墓碑文件(.ts)作为最新的版本。
    • 数据存储采用“尽量独特”(unique-as-possible)的安置算法。首先考虑的是地区,然后是区域,再后是服务器,最后是存储器。
      • 区域:swift可以通过配置“可用区域”来限制故障边界。一个可用区域由一组具有单独的故障隔离的物理硬件组成。
      • 地区:因为距离原因,不同地区之间的通信会有所滞后。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值