多租户可扩展性的模式

时间:2017-05-31 15:33:32

标签: architecture scalability multi-tenant

我正在寻找关于软件架构中可扩展性的模式和最佳实践的一些资源,这需要以下意义上的多租户:

  • 多个用户群与应用程序的自定义配置(定制品牌和功能集)迭代交互。

在多个应用程序为用户的不同阶段提供服务的环境中。

我真的在这里寻找一般原则,比如站立,自动化,工具和配置的方法,因为它们与扩展到其他用户群/迭代有关。

1 个答案:

答案 0 :(得分:4)

有很多观点需要讨论,因为你的问题是广义的

  1. 自定义配置
  2. 1.1基于用户

    如果您计划允许用户自定义配置应用程序,则必须按用户维护它们,如果一个用户可以访问不同公司[多租户中的租户],您将还必须通过租户和用户组合隔离数据

    有各种级别,例如用户翻转开关,打开和关闭功能,甚至在用户级别许可产品。前者仅需要基于用户的自由裁量权。但是,后者可能需要像模型这样的工作流程,用户可以从其管理员提出功能请求,管理员批准该功能,然后用户可以访问新请求的功能

    1.2租赁基础

    如果是基于租赁的自定义模型,则会有多个级别,例如让公司[租户]订阅计划以获取对各种应用程序功能的访问权限。

    此外,租户必须配置公司工作区,例如提供付款的信用卡详细信息,公司特定电子邮件的电子邮件配置等。这还涉及ON / OFF开关的翻转,这反过来使功能更加有效动态

    1. 关于您计划的几个应用程序,它们确实需要SSO以及跨应用程序的配置和公司特定数据流。可以存在公司[租户]特定数据库,需要存储和维护Azure Shard Map或类似的数据库

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

    3. 有各种PaaS提供商需要根据您的出现和未来/预测用户群来决定,然后可以决定并选择相同的。

      微软为下面的多租户提供了一些很好的文章

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

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

      侧边栏还有许多链接,可以帮助您学习更多知识并选择方法。

      HTH