Tair源码分析_对照表创建流程

本文详细分析了Tair中对照表的创建过程,包括统计节点bucket数量、构建index map、分配bucket、计算预期存储数量、快速创建对照表以及节点存储判断等步骤。在不同策略下,如负载均衡和位置优先,对照表的构建有所不同,主要关注节点的负载分布和数据安全性。
摘要由CSDN通过智能技术生成

Tair 中存放在主节点中的表的创建共分为五步:


1)根据当前m_hash_table表,统计出每一个alive节点上存储的bucket数量(包括master bucket和slave bucket)。假设有节点A,B,C和D,则形成数据如下的map,同时在扫描主节点的过程当中判断主节点是否down,如果不可用,则需要执行第五步快速建表:


注意:

在检查可用节点列表的过程中如果为负载均衡优先策略,group会统计当前可用节点列表,将该列表与m_hash_table一起作为算法的输入。这里对可用节点列表的唯一约束就是,列表中的节点都是alive的。而在位置优先策略中,对可用节点列表的约束加强了,即除了要求列表中的每个节点是alive的外,还需要统计2个机房中dataserver的数量差异不超过一个阈值。(若不满足这个2个约束,在该策略下,对照表是无法正常构建的)


例如:有两个集群一个集群70台机器一个有30台,阈值为0.5,那么该例子中的数量差异为(70-30)/7>0.5故不满足策略建表失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值