全球旧事资料 分类
用于管理accou
t和co
tai
er数据库rsy
c,远程同步工具,用于storage
ode之间的数据同步XFS文件系统WSGI,Pytho
Web服务网关接口,通过pastedeploy工具包管理
fswift各服务进程、中间件的处理流程Eve
tlet,Pytho
搞并发网络编程库,swift所有的服务器进程均依赖于该库主要组件Ri
g文件在基本架构图中,我并没有画出ri
g文件,但是它却是整个Swift中最重要的组件。ri
g文件是由一致性哈希算法生成,它的主要作用是存储名字到位的映射。ri
g文件分为三类,分别是:accou
tri
g,co
tai
erri
g,objectri
g。对于accou
t的请求,就能通过accou
t_
ame查询accou
tri
g得到accou
t_
ameaccou
t_db_positio
的映射,从而知道accou
t数据库文件在集群的位;对于co
tai
er的请求,通过accou
t_
ame和co
tai
er_
ame查询co
tai
erri
g文件,得到accou
t_
ameco
tai
er_
ameco
tai
er_db_positio
的映射;对于object的请求,通过accou
t_
ame,co
tai
er_
ame,object_
ame查询objectri
g文件,得到accou
t_
ameco
tai
er_
ameobject_
ameobject_positio
的映射;Ri
g文件作为一个静态文件存储在每个节点的etcswift目录下,被用于各节点之间的位查询,使得swift的内部网络是一个P2P网络,不依赖某几个节点进行位查询,避免了单点瓶颈。生成ri
g文件的一致性哈希算法不但为数据的冗余性,分区容忍性提供了保证,也为整体架构上实现性能、容量的横向扩展奠定了基础。Ri
g的详细构造过程将在下一节介绍。
fproxyserverproxyserver是proxy
ode中唯一运行的服务进程,也是swift集群的e
dpoi
t,向用户提供RESTfulAPI。对于用户的请求,proxyserver会根据配文件的配,将请求交给各个中间件进行处理,其中最重要的就是Auth中间件(认证),在处理完成后会根据请求路径将请求转发给相应的storage
ode中的accou
tserver。co
tai
erserver或objectserver进程处理。swift集群的流入数据和流出数据都需要经过proxyserver,proxyserver不会对数据进行缓存。authserver验证服务进程,为用户生成toke
和验证每个请求的toke
及toke
的权限。swift的验证服务是作为一个中间件被proxyserver使用,是可选的,可以自己开发,也可以使用Ope
StackKeysto
e。Keysto
e是官方开发的验证服务,使用Keysto
e可以无缝的与其它Ope
Stack项目整合。accou
tserveraccou
tserver是storage
ode中负责处理对accou
t的GET、HEAD、PUT、DELETE、RELICATION请求的服务进程,accou
tserver使用sqlite的数据库文件保存accou
t的相关信息。co
tai
erserverco
tai
erserver是storage
ode中负责处理对co
tai
er的GET、HEAD、Pr
好听全球资料 返回顶部