diff --git a/ch12.md b/ch12.md index e41ac27..2c40af0 100644 --- a/ch12.md +++ b/ch12.md @@ -602,7 +602,7 @@ ACID事务通常既提供及时性(例如线性一致性)也提供完整性 **恰好一次**或**等效一次**语义(请参阅“[容错](ch11.md#容错)”)是一种保持完整性的机制。如果事件丢失或者生效两次,就有可能违背数据系统的完整性。因此在出现故障时,容错消息传递与重复抑制(例如,幂等操作)对于维护数据系统的完整性是很重要的。 -正如我们在上一节看到的那样,可靠的流处理系统可以在无需分布式事务与原子提交协议的情况下保持完整性,这意味着它们有潜力达到与后者相当的正确性,同时还具备好得多的性能与运维稳健性。为了达成这种正确性,我们组合使用了多种机制: +正如我们在上一节中看到的,可靠的流处理系统可以在不需要分布式事务和原子提交协议的情况下保持完整性,这意味着它们可以潜在地实现可比的正确性,同时具有更好的性能和操作鲁棒性。我们通过多种机制实现了这种完整性: * 将写入操作的内容表示为单条消息,从而可以轻松地被原子写入 —— 与事件溯源搭配效果拔群(请参阅“[事件溯源](ch11.md#事件溯源)”)。 * 使用与存储过程类似的确定性衍生函数,从这一消息中衍生出所有其他的状态变更(请参阅“[真的串行执行](ch7.md#真的串行执行)”和“[应用代码作为衍生函数](ch12.md#应用代码作为衍生函数)”)