Tair 是阿里巴巴自主研发的高性能、分布式、可扩展、高可靠的 key/value 存储系统,在淘宝网、天猫、聚划算等有着大规模的应用。Tair 的使用场景非常广泛,最简单的场景发生在用户登录淘宝并查看商品详情或者查看购物车时,Tair 就与这个用户发生了交互。
一个 Tair 集群主要包括 3 个必选模块:configserver、dataserver和client,以及一个可选模块:invalidserver。通常情况下,一个集群中包含 2 台 configserver 及多台 dataServer 。两台 configserver 互为主备并通过维护和 dataserver 之间的心跳获知集群中存活可用的 dataserver ,构建数据在集群中的分布信息(对照表)。dataserver 负责数据的存储,并按照 configserver 的指示完成数据的复制和迁移工作。client 在启动的时候,从 configserver 获取数据分布信息,根据数据分布信息和相应的 dataserver 交互完成用户的请求。invalidserver 主要负责对等集群的删除和隐藏操作,保证对等集群的数据一致。
具体来看,这些模块的主要功能分别如下:
ConfigServer
通过维护和 dataserver 心跳来获知集群中存活节点的信息
根据存活节点的信息来构建数据在集群中的分布表
提供数据分布表的查询服务
调度 dataserver 之间的数据迁移、复制
DataServer
提供存储引擎
接受 client 的 put/get/remove 等操作
执行数据迁移,复制等
插件:在接受请求的时候处理一些自定义功能
访问统计
client
在应用端提供访问 Tair 集群的接口
更新并缓存数据分布表和 invalidserver 地址等
LocalCache,避免过热数据访问影响 Tair 集群服务
流控
InvalidServer
接收来自 client 的 invalid/hide 等请求后,对属于同一组的集群(双机房独立集群部署方式)做delete/hide操作,保证同一组集群的一致
集群断网之后的,脏数据清理
访问统计
据悉,在 2015 年的阿里巴巴“双十一”全球狂欢节上,为了承受上亿次的调用服务, Tair 部署了将近 100 个集群,总机器数约 5000 台物理机,单节点 QPS 峰值近百万次,集群缓存命中率达90%以上,承担了天猫、淘宝、聚划算主站的绝大多数访问压力。Tair 的更多技术细节,阿里存储技术事业部技术专家将在10 月 11 日- 14 日的杭州云栖大会“互联网新型数据库专场”上为大家揭秘,敬请期待!
开源中国一直致力于为一线开发者提供最热门的技术干货,本次云栖大会我们也给用户带来了优惠福利,9月20日起购票活动再升级!返现 100 元基础上每天再抽 10 张门票免费送!赶紧登录:https://www.oschina.net/osc-aliyun-yunqi/?s=osc-wz 订购 2017 云栖大会门票吧!
点赞转发返现 100 元基础上每天再抽 10 张门票免费送!赶紧登录:https://www.oschina.net/osc-aliyun-yunqi/?s=osc-wz 订购 2017 云栖大会门票吧!
git上的代码3年没更新了,这里招魂是干什么?
😄😄 点赞转发返现 100 元基础上每天再抽 10 张门票免费送!赶紧登录:https://www.oschina.net/osc-aliyun-yunqi/?s=osc-wz 订购 2017 云栖大会门票吧!