我正在开始一个新的企业Web应用程序。它将托管在Windows Azure上,并且是一个与SQL数据库通信的asp.net MVC应用程序。
我的问题涉及多租户和实现它的正确方法。在过去,我通过拥有一个租户表创建了一个多租户应用程序,而不是在每个表中放置一个TenantID列。这很好(但它只是在较小的规模,所以它没有真正运用到第n度)。在Azure上查看多租户内容时,似乎不推荐这种方式。他们谈论子域名,拆分租户等。对我而言,这似乎是一场管理噩梦。我希望用户访问一个网站,输入他们的租户登录详细信息并激活他们。
需要建议。
由于
答案 0 :(得分:1)
我在Azure上做过两种方式。我已经按照您之前完成的方式完成了它在登录时输入租户代码并且工作正常,我没有看到任何不同的理由。您可以使用SQL Azure联合来管理租户,这样您就可以轻松拥有多个数据库以实现可伸缩性。
我还使用了子域方法来识别租户,但它所做的只是将子域映射到租户代码。我在一个他们不必登录的系统中使用它,因此对用户来说更容易。
如果只设计数据库以应对它,请在开始时担心。