本周笔记涵盖多个技术主题:模仿O'Reilly风格制图、面试中通过提问了解公司文化、Cron高级用法、Linux性能追踪工具、程序员应知的延迟数据、分布式系统数据一致性方案,以及WHR全历史排名中的打分算法。
本文介绍Raft分布式一致性算法的Go实现。Raft包含leader、candidate、follower三种角色,通过随机选举超时避免选票分裂,leader定期发送心跳维持权威。日志由任期、序号和命令组成,需过半节点复制后才提交。实现中将角色切换与定时器绑定,任期与投票对象封装为Term结构,核心循环按角色发送心跳或投票请求并处理事件。持久化仅需currentTerm、VoteFor和logs。作者总结常见错误包括未重置选举超时、日志校验不全、任期更新不及时,并指出该实现未支持集群成员变更。
完成下面两步后,将自动完成登录并继续当前操作。