Skip to content
Tian edited this page Jul 19, 2015 · 5 revisions

TDSS

TDSS是一个高可扩展、高可用、高性能、面向互联网服务的分布式存储系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TDSS提供了良好的读写性能。

主要特性

  • 节约成本 文件在全局有唯一key,上传文件前会对比文件key,全局单复本,且存储支持gzip压缩,压缩存储后更加节省空间
  • 简单易用 TDSS支持动态增加、减少存储节点,安装完新存储节点后程序会自动检测到并更新集群信息
  • 便于集成 开放的C源码及对应不同语言的库,以及丰富的在线文档支持,方便二次开发

系统架构

TDSS 一个TDSS集群由N个name_server节点(一主一备)和N个data_server节点组成。这些服务程序都是作为一个用户级的程序运行在普通Linux机器上的。
在TDSS中,name_server维护文件与data_server的关系。数据文件中的实际数据都存储在data_server上。而一台data_server服务器一般会有多个独立data_server进程存在,每个进程负责管理一个挂载点,这个挂载点一般是一个独立磁盘上的文件目录,以降低单个磁盘损坏带来的影响。

  • name_server
    管理维护数据文件和data_server相关信息, 数据文件和data_server的对应关系建立,解除。name_server不负责实际数据的读写,实际数据的读写由data_server完成。
  • data_server
    负责实际数据的存储和读写。
  • master_server
    管理维护name_server、data_server加入,退出, 心跳信息。

同时为了考虑容灾,name_server采用了Master和slave结构,即两台机器同时运行,一台为主,一台为从。

Clone this wiki locally