我可以为documentDb集合设置多个一致性模型吗?

时间:2017-04-18 17:46:44

标签: azure azure-cosmosdb

我们有一个Web应用程序,它与服务结构集群中托管的微服务进行通信(这意味着给定的服务可以托管在多个节点上)。微服务与documentDb集合交谈。让我们说我们有一个服务与一个不同的集合谈话。我们有批处理,也可以利用其中的一些微服务。

我们希望在我们的微服务中遵循与UI相关的请求的强一致性模型,以便用户不会对结果感到惊讶。由于非sql数据库在最终一致性方面表现最佳,我们希望使用最终一致性进行批处理。

  1. 是否可以在documentDb中的集合/帐户级别选择最终一致性?
  2. 使用(1),我是否还可以为UI操作选择强一致性(来自微服务)?
  3. 我们只是在寻找同时满足(1)和(2)的条件。

    如果同时可以同时使用(1)和(2),我该怎么办呢?

2 个答案:

答案 0 :(得分:3)

谢谢Raghu 是的,已经支持了。

您可以在单个请求级别放松一致性,并使用Strong for UI(默认)。

要在请求级别设置一致性,请参阅 - https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.documents.client.requestoptions.consistencylevel.aspx#P:Microsoft.Azure.Documents.Client.RequestOptions.ConsistencyLevel

答案 1 :(得分:0)

似乎不可能在默认级别拥有较弱的一致性模型,并且在客户端级别具有更强的一致性。请参阅:https://feedback.azure.com/forums/263030-documentdb/suggestions/7056677-allow-clients-to-specify-a-stronger-consistency-le