🎯 2017.08.02 tair框架介绍
type
Post
status
Published
date
Aug 2, 2017
slug
2017.08.02 tair框架介绍
summary
2017.08.02 tair框架介绍
tags
推荐
工具
category
算天算地系列
icon
password
 
tair 是一个类似于 map 的 key/value 结构存储系统(也就是缓存系统),是淘宝的一个开源项目,于 2010 年 6 月 30 号在淘宝开源平台上正式对外开源,不过目前这个项目好像已经没有维护了,主页已经没有任何东西了。tair 具备标准的特性是:高性能、高扩展、高可靠,也就是传说中的三高产品,支持分布式集群部署。官网说目前支持 java 和 c 这两个版本。适用场景是轻量级缓存应用,是为小文件和零碎文件、固定数据文件做的存储优化。本文的 pdf 版本这里
一般一个 tair 集群主要包括 3 个必选模块:config server、data server 和 client,一个可选模块:invalid server。通常情况下,一个集群中包含 2 台中心控制节点 config server 及多台服务节点 data server。 其中的 config server 负责管理所有的 data server,并维护 data server 的状态信息,构建数据在集群中的分布信息(对照表)。为了保证高可用(High Available),config server 可通过 hear beat 以一主一备形式提供服务。data server 则对外提供各种数据存储服务,并以心跳的形式将自身状况汇报给 config server,并按照 config server 的指示完成数据的复制和迁移工作,所有的 data server 地位都是等价的。client 在启动的时候,从 config server 获取数据分布信息,根据数据分布信息和相应的 data server 交互完成用户的请求。invalid server 主要负责对等集群的删除和隐藏操作,保证对等集群的数据一致。
从架构上看,config server 的角色类似于传统应用系统的中心节点,整个集群服务依赖于 config server 的正常工作。但实际上相对来说,tair 的 config server 是非常轻量级的,当正在工作的服务器宕机的时候另外一台会在秒级别时间内自动接管。而且,如果出现两台服务器同时宕机的最恶劣情况,只要应用服务器没有新的变化,tair 依然服务正常。而有了 config server 这个中心节点,带来的好处就是应用在使用的时候只需要配置 config server 的地址(现在可以直接配置 Diamond key),而不需要知道内部节点的情况。如下图所示为 tair 集群的架构图。
notion image
🎯 2017.01.20 从 MC 到 MCMC
type
Post
status
Published
date
Jan 20, 2017
slug
2017.01.20 从 MC 到 MCMC
summary
2017.01.20 从 MC 到 MCMC
tags
算法
category
算天算地系列
icon
password
 
参考自己的一篇古老文章