MST

星途 面试题库

面试题:分布式系统中分布式领导选举的常用算法有哪些,简述其原理

在分布式系统云计算场景下,领导选举是关键环节。请列举至少两种分布式领导选举的常用算法,并简要阐述每种算法的核心原理。
26.2万 热度难度
后端开发分布式系统

知识考点

AI 面试

面试题答案

一键面试
  • Bully算法
    • 核心原理:假设每个节点都有唯一的ID。当一个节点发现当前领导者失效(比如一段时间内没有收到领导者的心跳信息),它会发起选举。该节点向所有ID比自己大的节点发送选举消息。如果没有收到回应(即不存在ID比自己大的存活节点),则该节点认为自己赢得选举,成为新的领导者,并向其他所有节点发送新领导者的通知。若收到ID比自己大的节点的回应,则停止选举,等待新领导者的通知。
  • Raft算法
    • 核心原理:Raft将时间划分为一个个任期(term),每个任期从选举开始。在选举阶段,节点处于候选人(Candidate)状态,会向其他节点发送投票请求。节点在一个任期内只能投一票,按照先来先得原则。当候选人获得超过半数节点的选票时,就成为领导者(Leader)。领导者负责管理日志复制等工作,定期向其他节点发送心跳(heartbeat)消息以维持领导地位。如果其他节点在一段时间内没有收到心跳,就会触发新一轮选举。