【问题标题】:Want to maintain Single SQL Azure DB across multiple regions想要跨多个区域维护单个 SQL Azure DB
【发布时间】:2012-05-29 13:27:52
【问题描述】:

在我的应用程序中,我有如下场景。

  • 用户下载我们的应用程序 exe 并将其包含在托管在 azure 中的应用程序中
  • 我们在每个区域都有一个 REST API,用于从应用程序接收数据,这样数据传输不会对用户产生任何费用
  • exe 将数据发送到应用程序区域中的 REST API
  • REST API 将该数据存储在 SQL Azure DB 中,该数据库托管在一个区域中

这样数据传输的费用由我们支付。 现在,为了降低成本,我们希望删除其余 api 并将数据存储在跨所有区域托管的数据库中。这样用户使用的exe将直接将数据存储在与用户应用程序相同区域的数据库中。我们在 Web 应用程序中使用这些数据进行监控。 我已经初步确定了三种可能的解决方案:

  1. 是否可以跨多个区域进行 SQL Azure DB 联合?
  2. 我可以将 DataSync 与多个区域中的多个数据库一起使用。
  3. 或者在蛮力方法中,我可以在所有区域托管独立的数据库,并在 web 应用程序中使用时合并数据

我知道最后一个方法会起作用,但我想在最后一个地方使用它。
任何人都可以建议跨多个区域的联邦吗?
DataSync 的成本是多少?
有没有更好的解决方案?
谢谢。

【问题讨论】:

标签: .net azure azure-sql-database azure-data-sync


【解决方案1】:

关于 SQL Azure 联合:所有联合必须在同一个 SQL Azure 服务器中,也就是同一个数据中心。关于多台服务器,我不确定联邦的未来更新有哪些内容。

关于数据成本:Ingress 是免费的,因此无论哪个数据中心托管 REST 接口,都不会对来自客户端应用程序的传入数据产生带宽费用。

我知道您不是在寻求有关 REST 与直接数据库访问的架构建议,但是……我会更多地考虑保持 REST API 与直接数据库访问。通过使用 REST API,您将拥有一种很好的扩展方式以及监控用户活动。此外,您只需修改 REST 实现即可透明地更改架构(或迁移到联合),而不是将这些知识推送到您的客户端应用程序。

【讨论】:

  • 只是一个简短的说明。联盟成员不绑定到某个服务器,他们通过数据中心分布。更多详情this answer
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2019-10-16
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多