面试题答案
一键面试随机分配策略
- 原理:在Redis事件调度场景下,随机分配策略从可用的节点集合中随机选择一个节点来处理新的事件请求。每次选择时,每个节点都有相同的概率被选中。
- 运作方式:当有新的事件(如客户端的读写请求)到达Redis服务器时,调度器会从当前所有可用的Redis节点列表中,通过随机数生成算法,随机选择一个节点来处理该事件。例如,假设有3个Redis节点A、B、C,每次事件到来,节点A、B、C被选中处理事件的概率均为1/3 。这种策略实现简单,但可能导致节点负载不均衡,某些节点可能被频繁选中,而某些节点很少被选中。
轮询策略
- 原理:轮询策略按照顺序依次将事件分配给各个可用节点。它维护一个节点列表,每次分配事件时,按列表顺序选择下一个节点。
- 运作方式:假设Redis集群中有节点1、节点2、节点3。当第一个事件到达时,调度器将该事件分配给节点1;第二个事件到达,分配给节点2;第三个事件到达,分配给节点3;第四个事件到达时,又重新从节点1开始分配。如此循环,确保每个节点都能依次处理事件请求。这种策略能相对均匀地分配负载,但如果节点处理能力不同,可能出现处理能力强的节点得不到充分利用,而处理能力弱的节点负担过重的情况。