Update ch9.md

This commit is contained in:
songzhibin97 2022-06-13 17:56:27 +08:00 committed by GitHub
parent 34b1598ac4
commit 9d179f07c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
ch9.md
View File

@ -165,7 +165,7 @@
唯一性约束在数据库中很常见:例如,用户名或电子邮件地址必须唯一标识一个用户,而在文件存储服务中,不能有两个具有相同路径和文件名的文件。如果要在写入数据时强制执行此约束(例如,如果两个人试图同时创建一个具有相同名称的用户或文件,其中一个将返回一个错误),则需要线性一致性。
这种情况实际上类似于一个锁:当一个用户注册你的服务时,可以认为他们获得了所选用户名的 “锁”。该操作与原子性的比较与设置CAS非常相似将用户名赋予声明它的用户前提是用户名尚未被使用。
这种情况实际上类似于一个锁:当一个用户注册你的服务时,可以认为他们获得了所选用户名的 “锁”。该操作与原子性的比较与设置CAS非常相似将用户名赋予声明它的用户前提是用户名尚未被使用。
如果想要确保银行账户余额永远不会为负数,或者不会出售比仓库里的库存更多的物品,或者两个人不会都预定了航班或剧院里同一时间的同一个位置。这些约束条件都要求所有节点都同意一个最新的值(账户余额,库存水平,座位占用率)。