raft
flyfox_1988
这个作者很懒,什么都没留下…
展开
-
[etcd]raftpd confchange.go
______________________看前须知_________________在状态改变的程序中需要使用如下接口定义。首先有2个ConfChange,一个是ConfChange,另外一个是ConfChangeV2,这两个接口需要统一化,但是在proto中定义有差异,所以后面的go文件对这两个接口统一化写了一些函数来处理。所以这里要看清楚这两个接口到底有哪些不一样的地方。messa...原创 2020-03-20 17:23:53 · 269 阅读 · 0 评论 -
[etcd]raftpd confstate.go
_________________看前须知__________________message ConfState { // The voters in the incoming config. (If the configuration is not joint, // then the outgoing config is empty). repeated uint64 voters...原创 2020-03-20 15:57:50 · 131 阅读 · 0 评论 -
[etcd]raftpd protobuf
Raft中的序列化是借助于Proto buff来实现的,这个文件夹就定义了需要序列化的几个数据结构,Proto buff(https://github.com/protocolbuffers/protobuf/releases/tag/v3.7.1)是序列化和结构化数据的方法,常用于用于通信协议,数据存储,实现跨平台的数据结构转换。Raft中的序列化数据结构在raftpb/raft.proto...原创 2020-03-20 15:19:40 · 216 阅读 · 0 评论 -
[etcd]Raft模块(一)(readme)
Raft是一种协议,节点群集可以使用该协议维护复制的状态机。通过使用复制的日志,状态机保持同步。有关Raft的更多详细信息,请参见DiegoOngaro和JohnOusterhout撰写的“寻找可理解的共识算法”(https://raft.github.io/raft.pdf)。(这个论文在之前的博客翻译了一遍,基本上讲了raft的原理)该Raft库稳定且功能齐全。截至2016年,它是**...原创 2020-03-19 22:30:53 · 226 阅读 · 1 评论 -
[etcd] Raft理论学习(五)(客户端交互)
8 Client interactionThis section describes how clients interact with Raft, including how clients find the cluster leader and how Raft supports linearizable semantics [10]. These issues apply to all ...原创 2020-03-19 22:11:13 · 212 阅读 · 0 评论 -
[etcd] Raft理论学习(四)(日志压缩)
7 Log compactionRaft’s log grows during normal operation to incorporate more client requests, but in a practical system, it cannot grow without bound. As the log grows longer, it occupies more space...原创 2020-03-19 22:06:50 · 582 阅读 · 0 评论 -
[etcd] Raft理论学习(三)(集群成员和配置变化)
6 Cluster membership changesUp until now we have assumed that the cluster configuration (the set of servers participating in the consensusalgorithm) is fixed. In practice, it will occasionally be n...原创 2020-03-19 21:56:32 · 458 阅读 · 1 评论 -
[etcd] Raft理论学习(二)(选举+复制日志)
4 Designing for understandabilityWe had several goals in designing Raft: it must provide a complete and practical foundation for system building,so that it significantly reduces the amount of desig...原创 2020-03-19 21:39:08 · 1631 阅读 · 0 评论 -
[etcd] Raft理论学习(一)(为啥开发Raft?)
一、Raft理论In Search of an Understandable Consensus Algorithm(Extended Version)(这篇文章下载的地址https://raft.github.io/raft.pdf)寻找一种可以理解的共识算法(扩展版)AbstractRaft is a consensus algorithmfor managing a repli...原创 2020-03-19 20:48:01 · 312 阅读 · 0 评论