CosmosDb 如何在多主环境中对写入操作收取 RU?

How does CosmosDb charge RUs for write operations in a multi-master enironment?

单区域多主数据库:SDK 报告 ~10 RU 来执行写入操作
具有 5 个区域的多主数据库::SDK 报告相同操作的 ~46.86 RU(~5x 将复制合并到所有区域。有意义)

如果您有一个按 10k RU 提供的集合,cosmos 是否为每个区域提供 10k RU?微软文档会这样建议,但 SDK 在写入本地区域时会报告所有区域成本,这似乎有点奇怪/令人困惑?此外,我没有在其他区域看到任何其他写入 activity 以将写入复制到这些区域。

问题:你是在本地写入区域支付46RU的成本还是SDK报告的成本基本上除以每个区域支付的区域数量成本?那么在上述具有五个区域的场景中,写入操作是在每个区域花费 10RU 还是在本地写入区域一次性花费 ~47RU?

每个区域获得指定的 RU 分配,因此如果您创建一个 10K RU 集合,并且在多主环境中有 5 个区域,您将有 10K x 5 = 50K RU 可供您使用(并支付50K RU).

每个操作都有自己的 RU 费用,因此如果写入发生在所有 5 个区域,那么您将消耗每个区域的 RU(它不会导致单个区域的 RU 成本增加 5 倍) .好处是在一个区域中写入不会影响另一个区域中的可用 RU。但是,您将为每个区域的 RU 容量付费(对于您指定的区域数量,实际上是乘数)。