如何优化部署到区域以实现最小的感知延迟并最大程度地节省成本?

时间:2017-06-20 21:09:37

标签: azure architecture azure-cosmosdb azure-functions latency

我将使用部署在相同区域的Azure功能的Azure Cosmos数据库,使用网关(cloudflare或Azure选项),它将路由到最近区域的azure功能,该功能部署在Cosmos数据库复制的旁边

感知延迟的好处应该是对数吗? 比如,有两个区域是3倍更好, 3区域〜感知延迟的5倍。等

据MS称,Cosmos DB适用于所有地区。 考虑到我们的客户并非集中在特定地区,而是遍布全球。 哪个部署的最佳区域?

用于复制

  1. 1区域
  2. 2个地区
  3. 3个地区
  4. 4个地区

2 个答案:

答案 0 :(得分:0)

您可以使用http://www.azurespeed.com/ 查看距离客户端最近的DC并选择最佳位置。

答案 1 :(得分:0)

作为一个极端/不切实际的案例,您可以想象每个客户/客户都有一个在他们旁边运行的数据库副本。这应该为客户带来最少的延迟。对吗?

答案是这取决于。如果您谈论本地读/写延迟,那将是正确的。但是,复制数据库的次数越多,写入操作在所有节点之间同步所需的时间就越多(进而影响读取时可用的内容)。请参阅一致性模型 here。尽管您的客户遍布全球,但最好从负载/请求最多的区域开始,然后再从那里分散。

决定这也是众所周知的“橡胶与道路相遇”的时候,因为您很快就会意识到,考虑到实现 100% 覆盖的成本增加,企业可能愿意放宽边缘的一些延迟需求。