0

在我们的生产服务中,我计划将 Cosmos DB SDK 从 v2 ( Microsoft.Azure.DocumentDB ) 升级到最新的 v3 ( Microsoft.Azure.Cosmos )。

在同一进程中并行运行DocumentClient (v2) 和CosmosClient (v3) 实例是否安全?是否有任何警告或性能影响?

同时运行两个客户端将为我们带来以下好处:

  • 能够增量迁移服务代码以使用 v3 SDK,而不是进行一次大更新
  • 在出现服务错误时回退到 v2 SDK 的能力

目前,我们的 DocumentClient 设置为在 Direct 模式(TCP 协议)下工作,我们希望在相同模式下使用 CosmosClient。

4

1 回答 1

1

简短的回答:是的,这将是安全的。只要您保持拥有两个客户端的 Singleton 实例的相同方法,您就不会遇到任何问题。它们都使用相同的序列化引擎(Newtonsoft.Json)。

V3 SDK默认有Direct/TCP模式(V2 SDK默认有Gateway),所以V3不需要任何特殊设置或配置即可实现相同的模式。

于 2020-01-15T17:43:12.267 回答