5.2 淘宝Tair
Tair是淘宝开发的一个分布式键/值存储引擎。Tair分为持久化和非持久化两种使用方式:非持久化的Tair可以看成是一个分布式缓存,持久化的Tair将数据存放于磁盘中。为了解决磁盘损坏导致数据丢失,Tair可以配置数据的备份数目,Tair自动将一份数据的不同备份放到不同的节点上,当有节点发生异常,无法正常提供服务的时候,其余的节点会继续提供服务。
5.2.1 系统架构
Tair作为一个分布式系统,是由一个中心控制节点和若干个服务节点组成。其中,中心控制节点称为Config Server,服务节点称为Data Server。Config Server负责管理所有的Data Server,维护其状态信息;Data Server对外提供各种数据服务,并以心跳的形式将自身状况汇报给Config Server。Config Server是控制点,而且是单点,目前采用一主一备的形式来保证可靠性,所有的Data Server地位都是等价的。
图5-5是Tair的系统架构图。客户端首先请求Config Server获取数据所在的Data Server,接着往Data Server发送读写请求。Tair允许将数据存放到多台Data Server,以实现异常容错。
图 5-5 Tair系统架构