我已经对在 cosmosdb 的 dotnet v3 sdk 中使用会话令牌进行了一些研究,到目前为止,我发现这两个链接给了我一些关于如何使用它的提示:利用会话令牌和如何转换会话-令牌。
在我们的场景中,如果更新属于同一个,我们希望具有强一致性(但我们不想对所有数据都使用强一致性)userId,这样当一个实例更新该用户下的数据时,其他人都会立即看到结果。我们还想使用 cosmosdb 作为另一个场景的锁。
但是,上面的链接仅显示如何重用创建文档时返回的令牌。我想知道我是否可以构建自己的会话令牌并使用它来实现强一致性。
例如,如果我想更新特定下的数据,userId我将使用{userId}:-1#1会话令牌。这是使用会话令牌的有效方法吗?我也不确定字段 pkrangeid、Version、GlobalLSN 的含义以及它们在 cosmosdb 处理一致性时扮演什么角色。
提前致谢!