The detailed steps for two-phase consensus

To start with experimental environment

  • 下图为实验环境,有一个协调者和四个参与者。
    The original interface in this experiment

1. 提交成功实验

Objective: 将run这个变量修改为10

  1. 首先在run右边的标题输入10,然后点击Prepare。这一步是模拟第一阶段协调者向参与者发送prepare请求。
    The first step:

  2. 现在所有的参与者都接收到了prepare请求,可以看见参与者的状态都为prepare。接下来点击所有参与者的Prepared按钮,这一步模拟参与者第一阶段的prepared响应。
    the second step

  3. 现在所有的参与者都已经响应完毕。然后点击绿色的Commit按钮,模拟协调者第一阶段的Commit请求。
    The third step

  4. Commit之后,所有参与者的值都被同步成10,提交成功。

2. 提交失败实验

Objectives:将go这个变量修改为20

  1. 首先在go标题的右边输入20,然后点击Prepare。这一步是模拟第一阶段协调者向参与者发送prepare请求。
    STEP1

  2. 现在所有的参与者都接收到了prepare请求,可以看见参与者的状态都为prepare。接下来点击一部分参与者的Prepared按钮,这一步模拟参与者第一阶段的prepared响应。不点击Prerpaed按钮表示参与者不同意变更。
    STEP2

  3. 现在进入下一步,点击绿色的Commit按钮,模拟协调者第一阶段的Commit请求。
    STEP4

  4. Commit之后,go的值并没有变化,提交失败。

猜你喜欢

转载自blog.csdn.net/weixin_38396940/article/details/121725780
今日推荐