gpt4 book ai didi

azure - 性能提示 : To update a single document in cosmos db what to use server side javascript or .net api?

转载 作者:行者123 更新时间:2023-12-02 06:43:02 25 4
gpt4 key购买 nike

我必须更新 cosmos db 中文档的属性之一。这是一个频繁的调用和并发以及每个业务逻辑。为了获得更好的性能 - 我应该使用服务器端 javascript 来更新文档(该文档也将处理竞争条件)还是应该使用 .Net Cosmos Db API?请提出建议。

我还想以更好的方式处理竞争条件,因为可以从多个服务更新相同的记录?另外,如果竞争条件失败我该怎么办?我应该设置重试机制还是简单地将错误返回给调用者?

最佳答案

Should I use server side javascript to update the document which will also handle race condition or should I use .Net Cosmos Db API?

我认为这并不重要,因为它们最终都会调用 REST API 来替换文档 ( https://learn.microsoft.com/en-us/rest/api/cosmos-db/replace-a-document )。

I also want to race condition handled in a better way as the same record can be updated from multiple services?

Cosmos DB 提供基于 etag 的乐观并发处理。在您的场景中,您将包含 If-Match 请求 header 以及文档的 _etag 属性值。如果该值与服务器上文档的etag值匹配,则更新成功,否则更新失败。

Also what should I do if the race condition fails? Should I put retry mechanism or simply return the error to the caller?

如果您要实现乐观并发,我认为使用相同的参数重试不会有帮助。如果因此导致更新失败,您应该从服务器获取最新文档,更新它,然后尝试保存它。

关于azure - 性能提示 : To update a single document in cosmos db what to use server side javascript or .net api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57852255/

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