我正在启动一个新的企业 Web 应用程序。它将托管在 Windows Azure 上,并且是一个与 SQL 数据库通信的 ASP.NET MVC 应用程序。
我的问题涉及 Multi-Tenancy 以及完成它的正确方法。过去,我通过拥有租户表并在每个表中放置 TenantID 列来创建 Multi-Tenancy 应用程序。这工作得很好(但它只是在较小的范围内,所以它并没有真正发挥它的作用)。查看Azure上的 Multi-Tenancy 内容,它似乎不推荐这种方式。他们谈论子域、分割租户等。对我来说,这似乎是一场管理噩梦。我希望用户访问一个网站,输入他们的租户登录详细信息,然后就可以关闭了。
- 是否有一种更简单的方法可以在 Azure 中实现 Multi-Tenancy ,同时仍允许我利用 Azure 的可扩展性优势?
- 我应该只使用简单的 TenantID 方法吗? Azure 框架是否仍能很好地扩展以适应需求?
- 我应该从一开始就担心租赁问题,还是等到最后才考虑?
需要建议。
谢谢
最佳答案
我已经在 Azure 上完成了这两种方法。我已经按照您之前的方式完成了此操作,他们在登录时输入租户代码,并且效果很好,我认为没有任何理由采取不同的做法。您可以使用 SQL Azure 联合来管理租户,这样您就可以轻松拥有多个数据库以实现可扩展性。
然后,我还使用了子域方法来识别租户,但它所做的只是将子域映射到租户代码。我在一个不需要登录的系统中使用了它,因此对用户来说更容易。
如果只是设计数据库来应对它,那么一开始就担心它。
关于asp.net-mvc - Windows Azure Multi-Tenancy ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11445799/