gpt4 book ai didi

azure - Cosmos DB - 多区域集合的一致性级别

转载 作者:行者123 更新时间:2023-12-03 05:36:46 27 4
gpt4 key购买 nike

我有一个存储用户信息的USER集合。每个项目都会包含以下 3 个字段:

-UserID
-Username
-Email

如果将来我需要使这个集合在不同区域可用,我知道有 5 种不同的一致性级别(强、有界陈旧性、 session 、一致前缀和最终一致性)。如果我想保证两个不同区域的两个用户不会创建相同的用户(具有相同的 useridusernameemail)同时是我唯一的选择那么强一致性?

后续问题;如果我将此集合设置为强,我的所有其他集合是否也必须为强,或者我可以将不同集合的一致性级别设置为不同级别(例如 USER 集合是强的并且 帖子是最终的)?

最佳答案

多主机只能配置为弱一致性而不是强一致性。因此,CosmosDB 无法阻止两个不同区域同时创建同一用户,但它使您能够进行冲突解决。当发生此类冲突时,您可以使用不同的冲突解决策略来解决冲突。 https://learn.microsoft.com/en-us/azure/cosmos-db/conflict-resolution-policies

您可以随时在 Azure Cosmos 帐户上配置默认一致性级别。帐户上配置的默认一致性级别适用于该帐户下的所有 Azure Cosmos 数据库和容器。默认情况下,针对容器或数据库发出的所有读取和查询都使用指定的一致性级别。

可以为每个请求设置一致性级别,这会覆盖在帐户级别设置的默认一致性级别。但客户端覆盖只能弱于帐户级别配置的默认一致性级别。

如果您需要集合特定的默认一致性级别,那么您应该将具有相同默认一致性级别需求的集合放在一个帐户中。

关于azure - Cosmos DB - 多区域集合的一致性级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61860393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com