1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-25 02:27:10 +08:00

Merge pull request #2058 from uncle-lv/main

docs(raft-algorithm.md): 错别字矫正
This commit is contained in:
Guide 2023-06-26 21:02:12 +08:00 committed by GitHub
commit 67fe023e46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -102,7 +102,7 @@ Leader 会向所有的 Follower 周期性发送心跳来保证自己的 Leader
由于可能同一时刻出现多个 Candidate导致没有 Candidate 获得大多数选票,如果没有其他手段来重新分配选票的话,那么可能会无限重复下去。
raft 使用了随机的选举超时时间来避免上述情况。每一个 Candidate 在发起选举后,都会随机化一个新的举超时时间,这种机制使得各个服务器能够分散开来,在大多数情况下只有一个服务器会率先超时;它会在其他服务器超时之前赢得选举。
raft 使用了随机的选举超时时间来避免上述情况。每一个 Candidate 在发起选举后,都会随机化一个新的举超时时间,这种机制使得各个服务器能够分散开来,在大多数情况下只有一个服务器会率先超时;它会在其他服务器超时之前赢得选举。
## 4 日志复制
@ -119,7 +119,7 @@ raft 保证以下两个性质:
- 在两个日志里,有两个 entry 拥有相同的 index 和 term那么它们一定有相同的 cmd
- 在两个日志里,有两个 entry 拥有相同的 index 和 term那么它们前面的 entry 也一定相同
通过“仅有 Leader 可以生 entry”来保证第一个性质第二个性质需要一致性检查来进行保证。
通过“仅有 Leader 可以生 entry”来保证第一个性质第二个性质需要一致性检查来进行保证。
一般情况下Leader 和 Follower 的日志保持一致然后Leader 的崩溃会导致日志不一样这样一致性检查会产生失败。Leader 通过强制 Follower 复制自己的日志来处理日志的不一致。这就意味着,在 Follower 上的冲突日志会被领导者的日志覆盖。