From b8107289e3fa92ffcd761874f8cb5e4010589409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=9C=86?= <374072213@qq.com> Date: Sun, 11 Jun 2023 19:10:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=A0=87=E7=82=B9=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch9.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch9.md b/ch9.md index 9e066f9..681d420 100644 --- a/ch9.md +++ b/ch9.md @@ -755,7 +755,7 @@ XA 事务解决了保持多个参与者(数据系统)相互一致的现实 由所有未崩溃的节点来最终决定值。 -**一致同意** 和 **完整性** 属性定义了共识的核心思想:所有人都决定了相同的结果,一旦决定了,你就不能改变主意。**有效性** 属性主要是为了排除平凡的解决方案:例如,无论提议了什么值,你都可以有一个始终决定值为 `null` 的算法。;该算法满足 **一致同意** 和 **完整性** 属性,但不满足 **有效性** 属性。 +**一致同意** 和 **完整性** 属性定义了共识的核心思想:所有人都决定了相同的结果,一旦决定了,你就不能改变主意。**有效性** 属性主要是为了排除平凡的解决方案:例如,无论提议了什么值,你都可以有一个始终决定值为 `null` 的算法,该算法满足 **一致同意** 和 **完整性** 属性,但不满足 **有效性** 属性。 如果你不关心容错,那么满足前三个属性很容易:你可以将一个节点硬编码为 “独裁者”,并让该节点做出所有的决定。但如果该节点失效,那么系统就无法再做出任何决定。事实上,这就是我们在两阶段提交的情况中所看到的:如果协调者失效,那么存疑的参与者就无法决定提交还是中止。