一致性级别 Read-after-new-write 和 Available 之间有什么区别?
适用于
NetApp StorageGRID
问题解答
|
警告 对于 ONTAP FabricPool,不建议使用存储桶一致性"Available",因为它可能会导致用户数据不一致。 |
对于 11.5.0.3 之前的版本:
可用(HEAD 操作的最终一致性)与新写后读一致性级别相同,但仅为 HEAD 操作提供最终一致性。如果存储节点不可用,则为 HEAD 操作提供比新写后读更高的可用性。与 Amazon S3 的一致性保证不同,仅适用于 HEAD 操作。

对于 11.5.0.3 版之后的版本:
注意:从 11.5.0.3 开始,当存储分段一致性设置为 Available 时,不存在的 GET 匹配 HEAD 返回 404
与 Read-after-new-write 一致性级别相同,但为 HEAD 和 GET 操作提供最终的一致性。如果存储节点不可用,则为 HEAD 和 GET 操作提供比 Read-after-new-write 更高的可用性。与 Amazon S3 的 HEAD 和 GET 操作的一致性保证不同。

追加信息
从 11.5 开始,客户可以通过指标检测一个或多个应用程序是否正在执行不存在的读取。如果此指标指示频繁使用不存在的读取(例如,每隔几分钟一次),则这是一个很好的指示,它们应从新写后读更改为可用,以便可以容忍一个节点关闭。这假设应用程序不要求写后读一致性。要确定执行不存在读取的确切存储桶或租户,需要进行进一步的日志分析或与应用程序所有者讨论,因为该指标不包括存储桶/租户信息。
storagegrid_s3_requests_total{operation=~"get_object|head_object",code="404"}