简介
Tair 是一种高可用、高性能、高扩展的kv结构的存储系统,支持分布式集群部署。
功能
- 临时数据存储:应用有大量的临时数据存储,可通过使用 mdb 来存储这类数据,避免应用内存管理的开销,提升应用性能。如 session 数据、权限信息等
- 数据库缓存:作为后端数据库之上的缓存,降低应用对后端数据库的访问压力。
- 持久化存储:将 Tair 当成传统数据库使用,数据写入磁盘。
缺点
分布式系统的可靠性和一致性无法同时保证,特别是有网络延迟的情况下。Tair 在有 dataServer 宕机时,可能会有数据延迟或丢失的情况。
架构
client
- 提供访问Tair集群的 Api
- 更新及缓存本地数据分布表
- LocalCache,对 Tair 集群的保护,避免热点问题影响 Tair 集群服务
- 单机限流等
Config Server
- 两台机器互为主备,心跳监听对方存活情况
- 通过 diamond 存储元数据配置、localcache、hotzone、forbiddenKeys等配置数据
- 通过和 Data Server 机器之间的心跳检测,用来检测集群中存活的机器,并构造数据在集群中的分布表
- 提供数据分布表的查询服务
- 调度 Data Server 中