This commit is contained in:
Xing 2021-12-14 09:25:15 +08:00
parent feb7bd3ea6
commit 8f1b202b5d

2
ch9.md
View File

@ -183,7 +183,7 @@
![](img/fig9-5.png)
**图9-5 Web服务器和图像缩放器通过文件存储和消息队列进行通信打开竞争条件的可能性。**
如果文件存储服务是线性一致的,那么这个系统应该可以正常工作。如果它不是线性一致的,则存在竞争条件的风险:消息队列([图9-5](img/fig9-5.png)中的步骤3和4可能比存储服务内部的复制replication更快。在这种情况下当缩放器读取图像步骤5可能会看到图像的旧版本或者什么都没有。如果它处理的是旧版本的图像则文件存储中的全尺寸图和缩图就产生了永久性的不一致。
如果文件存储服务是线性一致的,那么这个系统应该可以正常工作。如果它不是线性一致的,则存在竞争条件的风险:消息队列([图9-5](img/fig9-5.png)中的步骤3和4可能比存储服务内部的复制replication更快。在这种情况下当缩放器读取图像步骤5可能会看到图像的旧版本或者什么都没有。如果它处理的是旧版本的图像则文件存储中的全尺寸图和缩图就产生了永久性的不一致。
出现这个问题是因为Web服务器和缩放器之间存在两个不同的信道文件存储与消息队列。没有线性一致性的新鲜性保证这两个信道之间的竞争条件是可能的。这种情况类似于[图9-1](img/fig9-1.png)数据库复制与Alice的嘴到Bob耳朵之间的真人音频信道之间也存在竞争条件。