3

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

  • 用户下载我们的应用程序 exe 并包含在他们托管在 azure 中的应用程序中
  • 我们在每个区域都有一个 REST API 用于从应用程序接收数据,因此数据传输不会给用户带来成本
  • exe 将数据发送到应用程序区域中的 REST API
  • REST API 将该数据存储在 SQL Azure DB 中,该数据库托管在一个区域中

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

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

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

4

1 回答 1

2

关于 SQL Azure 联合:所有联合必须在同一个 SQL Azure 服务器中,这也意味着同一个数据中心。关于多台服务器,我不确定未来对联邦的更新有什么可用的。

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

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

于 2012-05-29T15:46:40.193 回答