b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

一致性哈希算法232取_redis一致性哈希算法_一致性哈希算法(4)

电脑杂谈  发布时间:2017-02-06 13:16:36  来源:网络整理

4.3.2.3 Slave选举的过程

Slave节点递增自己的currentEpoch字段

发送FAILOVER_AUTH_REQUEST数据包给每一个MASTER节点

若Slave在MAX((2*NODE_TIMEOUT),2)的时间内获得大多数MASTER节点的投票,则赢得选举

其间,所有currentEpoch小于选举发起时取值的MASTER投票都会被丢弃

若没有任何Slave赢得选举,选举可以在MAX(NODE_TIMEOUT * 4,4)的时间后重新举行

4.3.2.4 Master节点投票逻辑

请求选举的Slave的Master必须处于FAIL状态

Master节点维护lastVoteEpoch字段,每当MASTER给某个选举请求投票时,更新lastVoteEpoch字段为请求的currentEpoch值

currentEpoch<lastVoteEpoch的选举请求都不予投票

currentEpoch<MASTER currentEpoch字段的选举请求都不予投票

4.2.3.5 选举优先权

当Slave节点发现Master节点处于FAIL状态时,不会立刻试图进行选举,而是会延迟一段时间,延迟时常用以下公式进行计算:

DELAY = 500 milliseconds + random delay between 0 and 500 milliseconds +   SLE_RANK * 1000 milliseconds

其中,SLE_RANK由Slave收到Master数据复制的更新程度来衡量。在发起选举之前,Slave之间交换各自获得Master数据复制的更新排名,最新更新的SLE_RANK = 0, 其次更新的SLE_RANK = 1,以此类推...

4.2.3.6 故障转移耗时评估

假设配置NODE_TIMEOUT=2s,FAIL_REPORT_VALIDITY_MULT=3s

标记Master为PFAIL状态耗时NODE_TIMEOUT=2s

升级PFAIL状态为FAIL状态,耗时:NODE_TIMEOUT * FAIL_REPORT_VALIDITY_MULT = 6s

选举前随机延时期望:1s

收集足够多Master投票:MAX((2*NODE_TIMEOUT),2)=4s

总计耗时约:13s

4.3.3 主备平衡功能

Redis Cluster能够自动的迁移Slave节点,从Slave节点有冗余的Master节点到完全没有Slave节点的Master节点。

具体算法:

首先定义Good Slave:对于某一节点来说,如果另一个Slave节点没有处于FAIL状态,则认为该Slave节点为Good Slave节点。

当有Slave节点发现有Master节点没有Good Slave时开始触发主备平衡迁移。

所有发现有主备平衡需求之后,拥有最多Good Slave节点的Master节点的所有Slave中,Node ID最小的Slave节点真正开始迁移。成为没有没有Good Slave Master新Master。

可以配置cluster-migration-barrier参数,控制主备平衡迁移的时候,迁出Master最少需要拥有的Good Slave数

4.4 Codis

支持故障检测并报警

codis-redis-group中的Slave节点无法自动提升为Master节点

由管理员通过Web界面/命令行来手动操作

5.功能限制

Twemproxy:

不支持多key操作

不支持MULTI/EXEC


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30886-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...