mirror of
https://github.com/Vonng/ddia.git
synced 2024-12-06 15:20:12 +08:00
commit
ddf0721e5d
2
ch9.md
2
ch9.md
@ -755,7 +755,7 @@ XA 事务解决了保持多个参与者(数据系统)相互一致的现实
|
|||||||
|
|
||||||
由所有未崩溃的节点来最终决定值。
|
由所有未崩溃的节点来最终决定值。
|
||||||
|
|
||||||
**一致同意** 和 **完整性** 属性定义了共识的核心思想:所有人都决定了相同的结果,一旦决定了,你就不能改变主意。**有效性** 属性主要是为了排除平凡的解决方案:例如,无论提议了什么值,你都可以有一个始终决定值为 `null` 的算法。;该算法满足 **一致同意** 和 **完整性** 属性,但不满足 **有效性** 属性。
|
**一致同意** 和 **完整性** 属性定义了共识的核心思想:所有人都决定了相同的结果,一旦决定了,你就不能改变主意。**有效性** 属性主要是为了排除平凡的解决方案:例如,无论提议了什么值,你都可以有一个始终决定值为 `null` 的算法,该算法满足 **一致同意** 和 **完整性** 属性,但不满足 **有效性** 属性。
|
||||||
|
|
||||||
如果你不关心容错,那么满足前三个属性很容易:你可以将一个节点硬编码为 “独裁者”,并让该节点做出所有的决定。但如果该节点失效,那么系统就无法再做出任何决定。事实上,这就是我们在两阶段提交的情况中所看到的:如果协调者失效,那么存疑的参与者就无法决定提交还是中止。
|
如果你不关心容错,那么满足前三个属性很容易:你可以将一个节点硬编码为 “独裁者”,并让该节点做出所有的决定。但如果该节点失效,那么系统就无法再做出任何决定。事实上,这就是我们在两阶段提交的情况中所看到的:如果协调者失效,那么存疑的参与者就无法决定提交还是中止。
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user