1

我正处于一个多租户 Web 应用程序的规划阶段,该应用程序主要面向美国客户,很可能托管在 Azure 上。

我正在查看各种定价/部署计划,并对以下内容感到好奇:

根据他们的网站:

在多租户环境中,每个子区域最多可免费运行 10 个网站。随着流量的增长,无缝升级到付费共享多租户或预留实例模型。

以上是指同一站点的不同实例还是最多 10 个不同的站点?

还有人知道一个网站是否可以订阅多个 SQL Server 实例吗?例如数据库的最大限制,大小为 150 GB。

考虑到其增长潜力,我的预期网站在前六个月可能拥有 100-200 名用户。我的基本计划是为每位客户提供至少 1GB 的数据存储空间。所以假设我超过了 150GB 的限制,那么我可以为同一个站点添加额外的数据库吗?

我对整个云计算很陌生,所以请耐心等待并分享您的想法。

4

2 回答 2

5

我在 Azure 上有一个多租户应用程序,与您描述的不同。对于大型多租户应用程序,我会忘记网站并使用 Web 角色。我也会避免为每个客户端使用单独的站点,理想情况下,它们应该通过相同的角色运行,可以在多个实例上进行负载平衡。site1.mysite.com您仍然可以为每个单独的用户设置主机头(即),所有用户都运行相同的 Web 角色。

我的所有客户端都在同一个数据库中运行,这并不难实现并且可以更好地扩展(你认为谷​​歌每个客户端都有一个数据库?)。没有理由您以后不能访问更多数据库,或者您可以使用 SQL Azure 联合并为每个客户端建立一个联合,但要朝另一个方向发展要困难得多。如果您为每个客户端都有一个单独的数据库,那么您将不得不单独管理每个数据库(模式更新、备份),这可能需要更多的工作(和费用)。成本将影响这里的设计。一个 1gb 的数据库每月要花费 10 美元,所以如果您的客户每月只支付 20 美元,那它实际上是不可行的。但如果他们每月支付 1000 美元,那么这不是问题。

将您的应用程序设计为不使用会话,这并不难并且可以更好地扩展。

最后,SQL Azure 数据库不在超高端数据库服务器上运行。您需要优化数据访问并尽可能多地承担数据库服务器的负载。例如,使用 Azure 缓存来缓存参考数据,使用表存储来存储审核日志或类似的历史数据。

于 2013-01-24T03:08:16.920 回答
1

我的 0.02 美元

  1. 我认为这意味着您可以在免费模式下创建多达 10 个网站。如果您将其升级到共享或保留模式,您可以创建更多。

  2. 您可以连接到任意数量的 SQL 服务器。我认为 Windows azure 网站中的 SQL Server 连接没有任何限制。但是,是的,目前最大数据库大小为 150GB。

  3. 如果您计划默认为每个客户提供 1GB,我强烈建议您为每个客户创建一个单独的数据库。这提供了更好的安全边界、更简洁的架构和代码结构。

于 2013-01-24T02:12:14.550 回答