2012-07-12 195 views
2

我正在启动一个新的企业Web应用程序。它将被托管在Windows Azure上,并将成为一个与SQL数据库交谈的asp.net MVC应用程序。Windows Azure多租户

我的问题涉及到多租户和实现它的正确方法。在过去,我创建了一个多租户应用程序,拥有一个租户表,并在每个表中放置一个TenantID列。这工作得很好(但它只是在一个较小的规模,所以它没有真正的运动到第n级)。纵观Azure上的多租户内容,似乎并不推荐这种方式。他们谈论子域名,分裂租户等等。对我而言,这看起来像是一场管理噩梦。我希望用户打一个网站,输入他们的租户登录详细信息和他们关闭的繁荣。

  1. 是否有更简单的方法来实现Azure中的多租户,这仍然允许我使用Azure的可伸缩性优势?
  2. 我应该只使用简单的TenantID方法吗? Azure框架是否仍能很好地适应?
  3. 我是否应该在开始时担心租约,或者直到最后?

需要咨询。

谢谢

回答

1

我已经在Azure上做到了这两种方式。我已经按照您以前在登录时输入租户代码的方式完成了这项工作,并且工作正常,但我没有看到有任何不同的理由。您可以使用SQL Azure联合来管理租户,以便您可以轻松地获得多个数据库以实现可伸缩性。

我之后也使用子域方法来标识租户,但它所做的只是将子域映射到租户代码。我在一个他们不需要登录的系统中使用它,这对用户来说更容易。

如果仅仅设计数据库来应付它,一开始就担心。

+0

那么SQL Azure联合会处理扩大数据库的大小和流量增加? – Matt 2012-07-12 07:00:32

+0

联盟不会自动扩展,但他们为您提供了轻松完成的工具。例如,您可以从管理工具Tenant 1-10中进入一个数据库,11-20在另一个数据库中,它将为您处理。 – Craig 2012-07-12 11:15:27