mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-07-28 12:22:17 +08:00
Compare commits
6 Commits
91934887c9
...
93266231c3
Author | SHA1 | Date | |
---|---|---|---|
|
93266231c3 | ||
|
bad9ae955c | ||
|
ca3a59030c | ||
|
b58b46c41e | ||
|
9623d8077d | ||
|
ea40bbb6cd |
@ -285,7 +285,7 @@ select name,phone from customer where id = '111';
|
||||
如:
|
||||
|
||||
```
|
||||
insert into values ('a','b','c');
|
||||
insert into t values ('a','b','c');
|
||||
```
|
||||
|
||||
应使用:
|
||||
|
@ -71,7 +71,7 @@ tag:
|
||||
|
||||
如图 3 所示,raft 算法将时间划分为任意长度的任期(term),任期用连续的数字表示,看作当前 term 号。每一个任期的开始都是一次选举,在选举开始时,一个或多个 Candidate 会尝试成为 Leader。如果一个 Candidate 赢得了选举,它就会在该任期内担任 Leader。如果没有选出 Leader,将会开启另一个任期,并立刻开始下一次选举。raft 算法保证在给定的一个任期最少要有一个 Leader。
|
||||
|
||||
每个节点都会存储当前的 term 号,当服务器之间进行通信时会交换当前的 term 号;如果有服务器发现自己的 term 号比其他人小,那么他会更新到较大的 term 值。如果一】个 Candidate 或者 Leader 发现自己的 term 过期了,他会立即退回成 Follower。如果一台服务器收到的请求的 term 号是过期的,那么它会拒绝此次请求。
|
||||
每个节点都会存储当前的 term 号,当服务器之间进行通信时会交换当前的 term 号;如果有服务器发现自己的 term 号比其他人小,那么他会更新到较大的 term 值。如果一个 Candidate 或者 Leader 发现自己的 term 过期了,他会立即退回成 Follower。如果一台服务器收到的请求的 term 号是过期的,那么它会拒绝此次请求。
|
||||
|
||||
### 2.3 日志
|
||||
|
||||
@ -101,7 +101,7 @@ Leader 会向所有的 Follower 周期性发送心跳来保证自己的 Leader
|
||||
|
||||
由于可能同一时刻出现多个 Candidate,导致没有 Candidate 获得大多数选票,如果没有其他手段来重新分配选票的话,那么可能会无限重复下去。
|
||||
|
||||
raft 使用了随机的选举超时时间来避免上述情况。每一个 Candidate 在发起选举后,都会随机化一个新的枚举超时时间,这种机制使得各个服务器能够分散开来,在大多数情况下只有一个服务器会率先超市;它会在其他服务器超时之前赢得选举。
|
||||
raft 使用了随机的选举超时时间来避免上述情况。每一个 Candidate 在发起选举后,都会随机化一个新的枚举超时时间,这种机制使得各个服务器能够分散开来,在大多数情况下只有一个服务器会率先超时;它会在其他服务器超时之前赢得选举。
|
||||
|
||||
## 4 日志复制
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user