分布式一致性协议
文章平均质量分 86
wsqyz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
k8s选主机制应用
再过15s,release Lock超时,失去Leader的地位。关于选主原理的讲解及使用,网上已经有很多讲解的文章。这里主要记录对于不同的故障下,主从关系的变化。将Leader进程kill掉后,可以看到其他的slave进程并非是立马成为Leader,而是在。将Leader节点的网络断开,此时Leader节点和k8s的网络通信中断。提供了选主的工具,方便应用可以利用k8s的能力,实现主从模型。上下文也正常退出,此时主从切换可以按照正常的流程很快处理响应。后,节点2竞争成为Leader。原创 2025-02-21 20:00:00 · 355 阅读 · 0 评论 -
raft论文(五)
安全性证明论文使用了反证法证明了Leader Completeness特性,进而证明了State Machine Safety特性。需要证明问题:未来Leader一定包含以前Leader commit的日志(Leader Completeness)证明过程:原创 2022-02-22 14:58:05 · 1010 阅读 · 0 评论 -
raft论文(四)
Safety上面的章节,关于raft的特性,已经讨论了Election Safety, Log Matching, Leader Append-only。接下来,我们先讨论Leader Completeness。Leader Completeness首先,再次回顾对Leader Completeness的定义:如果一个日志entry在给定的任期已经被提交,那么这个日志entry必然会出现在所有任期大于这个给定任期的leaders的日志中对Leader Completeness,首先在选举的时候原创 2022-02-21 17:45:03 · 767 阅读 · 0 评论 -
raft论文(三)
Log replicationCommited日志首先引入Commited日志的概念,那么什么样的日志是Commited日志呢?Committed:Leader会决定什么样的日志entry应用到状态机是安全的,这样的日志entry被称为committed。如果一个日志entry被复制到大部分的server,那么这个日志就是一个committed。Commited的日志会有如下的特性:如果这个日志被这个Leader标记为commited,那么这个日志之前的日志也都是commited(注意:这里之前原创 2022-02-19 23:35:04 · 374 阅读 · 0 评论 -
raft论文(二)
Leader election选举触发当一个Follower一段时间内没有收到来自于Leader或者Candidate的消息时,该Follower会转化成Candidate进行一次选举:触发选举时,该Candidate做的事情:currentTerm++(自身任期号+1);votedFor = me(给自己投票);resetElectTimer (重置定时器);给除自己的所有server发送RequestVote请求;这里会涉及到的超时时间有:base_election_timeo原创 2022-02-17 16:48:59 · 666 阅读 · 0 评论 -
raft论文(一)
raft算法术语及定义关于raft的总结State所有server上的持久化的state(在respond RPCs之前会更新到持久化存储上)变量含义currentTermserver所知道的最后一个任期号(初始化为0,单调递增)votedFor当前任期获得选票的candidate IDlog[]日志entries;每一条日志包含一个状态机命令,以及从leader收到的日志任期(第一个index为1)所有server上的可变state变量含义原创 2022-02-16 14:51:00 · 272 阅读 · 0 评论
分享