From 22b59c1ec335564d07496688fc9b8dfee0050114 Mon Sep 17 00:00:00 2001 From: Kenshin <1427518212@qq.com> Date: Fri, 5 Aug 2022 22:25:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=20(#1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: root --- data/frames/election.js | 10 +++++----- data/frames/replication.js | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/data/frames/election.js b/data/frames/election.js index b10dc66..15d6841 100644 --- a/data/frames/election.js +++ b/data/frames/election.js @@ -81,7 +81,7 @@ define([], function () { subtitle('

...并向其他节点发送 Request Vote 请求投票消息

'); }) .after(model().defaultNetworkLatency, function () { - subtitle('

如果接收节点在这个学期中还没有投票,那么它将投票给候选人...

'); + subtitle('

如果接收节点在这个任期中还没有投票,那么它将投票给候选人...

'); }) .after(1, function () { subtitle('

...并且节点将重置其election timeout选举超时.

'); @@ -143,7 +143,7 @@ define([], function () { // Split Vote //------------------------------ .after(1, function () { - subtitle('

要获得多数票,可以确保每个任期只能选出一位领导者。

', false); + subtitle('

要求候选节点获得多数票才能成为领导者,可以确保每个任期只能选出一位领导者。

', false); }) .after(1, wait).indefinite() .after(1, function () { @@ -171,10 +171,10 @@ define([], function () { return (event.target.state() === "candidate"); }) .after(model().defaultNetworkLatency * 0.25, function () { - subtitle('

两个节点都开始以相同的任期进行选举...

'); + subtitle('

两个节点都开始以相同的任期请求进行选举...

'); }) .after(model().defaultNetworkLatency * 0.75, function () { - subtitle('

...每个都先到达一个跟随者节点。

'); + subtitle('

每个候选人节点的投票请求都先到达一个不同的跟随者节点。

'); }) .after(model().defaultNetworkLatency, function () { subtitle('

现在,每个候选人都有2票,并且在这个任期中将无法获得更多选票。

'); @@ -187,7 +187,7 @@ define([], function () { }) .after(1, function () { model().resetLatencies(); - subtitle('

节点 ' + model().leader().id + ' 在任期内获得多数选票 ' + model().leader().currentTerm() + '所以它成为新的领导者。

', false); + subtitle('

节点 ' + model().leader().id + ' 在任期' + model().leader().currentTerm() + '内获得多数选票,所以它成为新的领导者。

', false); }) .after(1, wait).indefinite() diff --git a/data/frames/replication.js b/data/frames/replication.js index eed7ff9..1aca75e 100644 --- a/data/frames/replication.js +++ b/data/frames/replication.js @@ -53,7 +53,7 @@ define([], function () { // Overview //------------------------------ .then(function () { - subtitle('

当选出一位领导人后,我们需要将系统的所有更改复制到所有节点。

', false); + subtitle('

当选出一位领导人后,领导人需要将系统的所有更改复制到所有存活节点。

', false); }) .then(wait).indefinite() .then(function () { @@ -82,16 +82,16 @@ define([], function () { }) .at(model(), "appendEntriesRequestsSent", function () {}) .after(model().defaultNetworkLatency * 0.25, function(event) { - subtitle('

...然后将更改操作在下一个心跳发送给追随者。

'); + subtitle('

然后将更改操作通过Append Entries消息发送给追随者。

'); }) .after(1, clear) .at(model(), "commitIndexChange", function (event) { if(event.target === model().leader()) { - subtitle('

一旦大多数追随者认可,便提交该条目。

'); + subtitle('

一旦大多数追随者接受了该消息,领导者便提交该条目到自己的状态机。

'); } }) .after(model().defaultNetworkLatency * 0.25, function(event) { - subtitle('

..然后将响应发送给客户端。

'); + subtitle('

然后将响应发送给客户端。

'); }) .after(1, clear) .after(model().defaultNetworkLatency, function(event) { @@ -132,7 +132,7 @@ define([], function () { }) .after(1, wait).indefinite() .after(1, function () { - subtitle('

让我们添加一个分区以将A和B与C,D,E分开。

', false); + subtitle('

让我们通过添加一个网络分区以将A、B与C、D、E分开。

', false); }) .after(1, wait).indefinite() .after(1, function () { @@ -175,7 +175,7 @@ define([], function () { }) .after(1, wait).indefinite() .after(1, function () { - subtitle('

这将会成功,因为它可以复制到大多数。

', false); + subtitle('

这将会成功,因为它可以复制到大多数节点。

', false); }) .after(1, wait).indefinite() .after(1, function () { @@ -193,7 +193,7 @@ define([], function () { return (event.target.id === "B" && event.target.state() === "follower"); }) .after(1, function () { - subtitle('

节点B将看到较高的选举期限并退出

'); + subtitle('

节点B将看到节点C有更高的任期并从领导者角色回退到追随者角色

'); }) .after(1, function () { subtitle('

节点A和B都将回滚其未提交的条目并匹配新领导者的日志。

');