15.swift工作原理及ring简述

swift:

一种是没有备份存储

一种是多路备份,此处假设做两路备份,每个vnode对应两个zone

 

下图所示的是没有备份的情况,每个vnode只连接一个zone:

 

如果新加zone,当前的连接全部重新洗盘,重新分配involved 新的zone, 采用vnode可以减少load,只移动一部分数据,不是所有的数据

 

ring有三种:

容器ring: 是对于容器本身也需要一个ring,容器本身也需要映射到zone里

对象ring:就是上面讲的,用来映射容器里面的对象到zone的ring

账户ring:容器都是有权限的,还有一个ring是记录权限,映射到硬盘里

 

服务介绍:

代理服务器 proxy server

负责swift各个组件之间的通信

接收用户的请求

存储服务器:

容器服务

对象服务

账户服务

一致性服务:

auditor  定期检查zone1和zone2 之间数据有没有问题,是否损坏

replicate 复制,修复数据

update    如果修复没有成功,就会等一段时间再次修复,这个功能是由update来完成的

 

对应关系:

每创建一个文件的时候,要分配一个vnode 给它,vnode是对应好了到某个zone里的文件和vnode 是一对一的关系,vnode和zone是一对多的关系

 

 

 

猜你喜欢

转载自blog.csdn.net/u011446736/article/details/81082998