Tair
Tair 是阿里巴巴自主研发的高性能、分布式、可扩展、高可靠的 key/value 存储系统。
一个 Tair 集群主要包括 3 个必选模块:configserver、dataserver 和 client,以及一个可选模块:invalidserver。
目前 Tair 常用的存储引擎包括 mdb、rdb 和 ldb,分别适用于不同的应用场景。
ConfigServer
- 两台 configserver 互为主备
- 通过维护和 dataserver 心跳来获知集群中存活节点的信息
- 根据存活节点的信息来构建数据在集群中的分布表
- 提供数据分布表的查询服务
- 调度 dataserver 之间的数据迁移、复制
DataServer
- 提供存储引擎
- 接受 client 的 put/get/remove 等操作
- 执行数据迁移,复制等
- 插件:在接受请求的时候处理一些自定义功能
- 访问统计
client
- 在应用端提供访问 Tair 集群的接口
- 更新并缓存数据分布表和 invalidserver 地址等
- LocalCache,避免过热数据访问影响 Tair 集群服务
- 流控
InvalidServer
- 接收来自 client 的 invalid/hide 等请求后,对属于同一组的集群(双机房独立集群部署方式)做 delete/hide
操作,保证同一组集群的一致 - 集群断网之后的,脏数据清理
- 访问统计