多租户可扩展性的模式

4
我正在寻找关于软件架构可扩展性的模式和最佳实践资源,这需要以下多租户方面的知识:
  • 多个用户群体与应用程序的自定义配置(定制品牌和功能集)版本进行交互。

在一个环境中,几个应用程序服务于用户体验的不同阶段。

我真的在寻找一般原则,例如应对额外用户群体/版本扩展的方法,自动化、工具和配置方面的方法。

1个回答

5
你的问题涉及范围非常广泛,有几个观点需要讨论。
1. 定制配置
1.1 基于用户
如果你计划允许用户自定义应用程序,则必须以每个用户为基础进行维护,并且如果一个用户可以访问不同的公司[多租户中的租户],则还必须通过租户和用户组合来隔离数据。有各种级别,例如由用户翻转开关以打开和关闭功能,甚至对用户进行产品许可。前者仅需要基于用户的谨慎处理。然而,后者可能需要像模型一样的工作流程,其中用户可以向管理员提出特性请求,管理员批准后,用户就可以访问新请求的特性。
1.2 基于租户
在基于租户的定制模型中,将有多个级别,例如使公司[租户]订阅计划以获得访问各种应用程序功能的权限。
此外,租户还必须配置公司工作区域,例如提供信用卡详细信息以进行付款,为公司专用电子邮件配置电子邮件等。这也涉及翻转开关,从而使功能更加动态。
  1. 关于您计划的几个应用程序,它们需要SSO以及在应用程序之间配置和公司特定数据的流动。可以有公司[租户]特定数据库需要存储和维护,可以使用Azure Shard Map或类似的工具。

  2. 有一个代码库扩展,可以由您的PaaS提供商(如Azure)按需配置。但是,应用程序需要以支持数据库分区和扩展的方式开发。这将考虑到数据隔离等因素。

有各种PaaS提供商可供选择,根据您现有和未来/预测的用户群体决定应该选择哪一个。

Microsoft有一些关于多租户的不错文章,如下所示:

https://msdn.microsoft.com/en-us/library/aa479086.aspx

https://msdn.microsoft.com/en-us/library/dd430340.aspx

侧边栏还有许多链接,可以帮助您了解更多并选择方法。
希望对您有所帮助。

谢谢,这很有帮助。我更想了解你所说的“基于租户”的自定义配置,以及成功构建适应此配置的可扩展系统的原则。我会阅读你提供的两篇文章。感谢你提供的信息。 - leggo-my-eggo
1
这两个链接现在不可用。这些链接的 Web 存档如下: https://web.archive.org/web/20170530080303/https://msdn.microsoft.com/en-us/library/aa479086.aspx https://web.archive.org/web/20170201225118/https://msdn.microsoft.com/en-us/library/dd430340.aspx - Mohsenasm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接