我访问了亚马逊的网站,阅读了关于最终一致性的可用信息,但我仍然不完全清楚。
我仍然不确定的是,在执行update / delete到最终实现一致性的这段时间内,S3的行为如何。
例如,如果我删除对象A,然后多次执行对象A的HEAD操作,会发生什么情况?
我想我最终会在某个时刻(当删除变得一致时)不断地收到RESOURCE_NOT_FOUND错误,但在那之前,我应该得到什么呢?
我看到了两个选择。
1)每次磁头操作都会成功,直到某个时间点,在此之后,每次磁头操作都会因RESOURCE_NOT_FOUND而不断失败。
2)每个头部操作“随机”成功或失败,直到达到最终一致性的某个时刻。
谁能澄清一下这两种行为中哪一种应该是预期的行为?
非常感谢。
发布于 2018-02-14 10:41:05
我看到了两个选择。
可能是这两个中的任何一个。两者都不一定是“预期”的行为。最终,所有请求都将返回404。
S3是一个大规模的系统,分布在该地区的多个可用区中,因此每个请求都可能到达几个可能的端点中的一个,每个端点都可以反映存储桶在略有不同的时间点的状态。只要它们都超过了对象被删除的点,它们就应该连续返回404,但是存储桶索引复制的状态不会暴露出来。
https://stackoverflow.com/questions/48770026
复制相似问题