Amazon S3 - 最终一致性对删除操作意味着什么?

时间:2018-02-13 15:18:33

标签: amazon-web-services amazon-s3 eventual-consistency

我访问了亚马逊的网站,我阅读了有关最终一致性的可用信息,但对我来说仍然不完全清楚。

我仍然不确定的是S3在执行更新/删除与最终实现一致性之间的时间范围内的行为。

例如,如果我删除对象A并随后多次对对象A执行HEAD操作会发生什么?

我想我最终会在某个时间点(当删除变得一致时)不断开始获取RESOURCE_NOT_FOUND错误但在那之前我应该​​得到什么?

我看到两个选项。

1)每个HEAD操作都会成功到达某个时间点,之后每个HEAD操作都会因RESOURCE_NOT_FOUND而一直失败。

2)每个HEAD操作都会“随机”成功或失败,直到达到最终一致性的某个时刻。

有人可以澄清这两者中哪一个应该是预期的行为吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

  

我看到两个选项。

它可能是其中之一。两者都不一定是"预期"行为。最终,请求将全部返回404。

S3是一个大型系统,分布在该区域的多个可用区域中,因此每个请求都可以命中几个可能的端点之一,每个端点都可以在稍微不同的时间点反映桶的状态。只要它们都超过删除对象的点,它们就应该连续返回404,但桶索引复制的状态不会被暴露。